嵌入式开发Host PC的network设置tip收集

Windows网口命令

ipconfig /all

 

Vmware网卡设置

(1)Bridged方式

  用这种方式,虚拟系统的IP可设置成与本机系统在同一网段,虚拟系统相当于网络内的一台.独立的机器,与本机共同插在一个Hub上,网络内其他机器可访问虚拟系统,虚拟系统也可访问网络内其他机器,当然与本机系统的双向访问也不成问题.

(2)NAT方式

  这种方式也可以实现本机系统与虚拟系统的双向访问.但网络内其他机器不能访问虚拟系统,虚拟系统可通过本机系统用NAT协议访问网络内其他机器.NAT方式 的IP地址配置方法:虚拟系统先用DHCP自动获得IP地址,本机系统里的VMwareservices会为虚拟系统分配一个IP,之后如果想每次启动都用固定IP的话,在虚拟系统里直接设定这个IP即可.

(3)host-only方式

  顾名思义这种方式只能进行虚拟机和主机之间的网络通信,既网络内其他机器不能访问虚拟系统,虚拟系统也不能访问其他机器.

(4)not use方式

  既是不使用网络,虚拟系统为一个单机.

一般来说,Bridged方式最方便好用.但如果本机系统是win2000而网线没插(或者根本没有网卡),网络很可能不可用(大部分用PCI网卡的机器都如此),此时就只能用NAT方式或host-only,之前所说的那两块虚拟网卡就是适应这两种网络准备的.

1.在vmware中,Edit->Virtual networksettings->Host Virtual Network Mapping分别设置VMnet2、VMnet3为Windows机器上的两个网卡。注意,最好别设置VMnet0,这个用于Automatic Bridging。设置好之后,打开windows中网络连接属性,分别查看两个网卡的VMware Bridge Protocol,可以看到对应的编号为2、3。

2.停止虚拟机,在Virtual Machine Settings中设置双网卡:假设已经有一个网卡,点击Add添加一个网卡,Network connection选择Custom,下拉框中选择对应的Vmnet。保证两个网卡都与对应的VMnet关联。

3.启动虚拟机,Linux会在启动中检测新硬件,提供设置界面,按F12进入下一步,设置好新的网卡ip地址。(RedHat Linux)

4.测试:Linux下,ifconfig,eth0 echo1的配置可以看到;在windows下可以ping 通linux中设置的地址。

 

Linux 網路相關設定檔案

我們知道 TCP/IP 的重要參數主要是: IP, Netmask, Gateway, DNSIP ,而且千萬不要忘記你這部主機也應該要有主機名稱 (hostname)!此外,我們也知道 IP 的取得有手動設定、DHCP 處理等。那麼這些參數主要是寫在哪些設定檔?如何對應呢?底下就讓我們來處理一番!

 

 
 

所需網路參數

 
 
 

主要設定檔檔名

 
 
 

重要參數

 
 
 

IP
  Netmask
  DHCP 與否
  Gateway 等

 
 
 

/etc/sysconfig/network-scripts/ifcfg-eth0

 
 
 

DEVICE=網卡的代號
  BOOTPROTO=是否使用 dhcp
  HWADDR=是否加入網卡卡號(MAC)
  IPADDR=就是IP位址
  NETMASK=只網路遮罩啦
  ONBOOT=要不要預設啟動此介面
  GATEWAY=就是通訊閘啦
  NM_CONTROLLED=額外的網管軟體
  鳥哥建議取消這個項目!

 
 
 

主機名稱

 
 
 

/etc/sysconfig/network

 
 
 

NETWORKING=要不要有網路
  NETWORKING_IPV6=支援IPv6否?
  HOSTNAME=你的主機名

 
 
 

DNS IP

 
 
 

/etc/resolv.conf

 
 
 

nameserver DNS的IP

 
 
 

私有 IP 對應
  的主機名稱

 
 
 

/etc/hosts

 
 
 

私有IP 主機名稱 別名

 

 

你沒有看錯,主要需要修改的就是這四個檔案而已!因此沒有很困難!大家都想太多了!詳細的設定後續小節再來講,這裡先有概念即可。除此之外,還有些檔案或許你也應該要知道一下比較好呦!

  • /etc/services
         這個檔案則是記錄架構在 TCP/IP 上面的總總協定,包括 http, ftp, ssh, telnet 等等服務所定義的 port     number ,都是這個檔案所規劃出來的。如果你想要自訂一個新的協定與 port 的對應,就得要改這個檔案了;
  • /etc/protocols
         這個檔案則是在定義出 IP 封包協定的相關資料,包括 ICMP/TCP/UDP 這方面的封包協定的定義等。

大概知道上面這幾個檔案後,未來要修改網路參數時,那就太簡單了!至於網路方面的啟動指令的話,可以記得幾個簡單的指令即可喔!

  • /etc/init.d/network     restart
         這個 script 最重要!因為可以一口氣重新啟動整個網路的參數!     他會主動的去讀取所有的網路設定檔,所以可以很快的恢復系統預設的參數值。
  • ifup eth0     (ifdown eth0)
         啟動或者是關閉某張網路介面。可以透過這個簡單的 script 來處理喔!     這兩個 script 會主動到     /etc/sysconfig/network-scripts/ 目錄下, 讀取適當的設定檔來處理啊!     (例如 ifcfg-eth0)。

大概你只要只到這些基本的指令與檔案,哈哈!網路參數的設定就太簡單啦!不過,最好你還是要瞭解 shell script ,比較好!因為可以追蹤整個網路的設定條件。 why ?這是因為每個 distributions 的設定資料可能都不太相同,不過卻都以 /etc/init.d/network 作為啟動的 script , 因此,你只要瞭解到該檔案的內容,很容易就追蹤得出來你的設定檔所需要的內容呢!對吧!

[root@www ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"              <==網路卡代號,必須要 ifcfg-eth0 相對應

HWADDR="08:00:27:71:85:BD"  <==就是網路卡位址,若只有一張網卡,可省略此項目

NM_CONTROLLED="no"         <==不要受到其他軟體的網路管理!

ONBOOT="yes"               <==是否預設啟動此介面的意思

BOOTPROTO=none              <==取得IP的方式,其實關鍵字只有dhcp,手動可輸入none

IPADDR="192.168.1.100"       <==就是 IP 啊

NETMASK="255.255.255.0"      <==就是子網路遮罩

GATEWAY="192.168.1.254"      <==就是預設路由

# 重點是上面這幾個設定項目,底下的則可以省略的囉!

NETWORK=192.168.1.0         <==就是該網段的第一個 IP,可省略

BROADCAST=192.168.1.255     <==就是廣播位址囉,可省略

MTU=1500                    <==就是最大傳輸單元的設定值,若不更改則可省略

 

主機名稱的修改、啟動與觀察

修改主機名稱就得要改 /etc/sysconfig/network 以及 /etc/hosts 這兩個檔案,這兩個檔案的內容又簡單的要命喔!

[root@www ~]# vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=www.centos.vbird

 

[root@www ~]# vim /etc/hosts

192.168.1.100    www.centos.vbird

# 特別注意,這個檔案的原本內容不要刪除!只要新增額外的資料即可!

 

修改完畢之後要順利啟動的話,得要重新開機才可以。為什麼需要重新開機呢?因為系統已經有非常多的服務啟動了,這些服務如果需要主機名稱,都是到這個檔案去讀取的。而我們知道設定檔更新過後,服務都得要重新啟動才行。 因此,已經啟動而且有讀到這個檔案的服務,就得要重新啟動啊!真麻煩~因此,最簡單的方法,就是重新開機。但重開機之前還需要進行一項工作,否則,你的系統開機會花掉很多時間喔!

[root@www ~]# hostname

localhost.localdomain

# 還是預設值,尚未更新成功!我們還得要進行底下的動作!

 

# 檢查五:看看你的主機名稱有沒有對應的 IP 呢?沒有的話,開機流程會很慢!

[root@www ~]# ping -c 2 www.centos.vbird

PING www.centos.vbird (192.168.1.100) 56(84) bytes of data.

64 bytes from www.centos.vbird (192.168.1.100): icmp_seq=1 ttl=64time=0.015 ms

64 bytes from www.centos.vbird (192.168.1.100): icmp_seq=2 ttl=64time=0.028 ms

 

--- www.centos.vbird ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1000ms

rtt min/avg/max/mdev = 0.015/0.021/0.028/0.008 ms

# 因為我們有設定 /etc/hosts 規定www.centos.vbird 的 IP ,

# 所以才找的到主機主機名稱對應的正確 IP!這時才能夠 reboot喔!重要重要!

上面的資訊中,檢查的內容總共有五個步驟,這五個步驟每一步都要成功後才能夠繼續往下處理喔!至於最重要的一點,當你修改過 /etc/sysconfig/network 裡面的 HOSTNAME 後, 務必要重新開機 (reboot)。但是重新開機之前,請務必『 ping 主機名稱』且得到 time 的回應才行!

重新啟動網路介面,這樣才能更新整個網路參數

[root@www ~]# /etc/init.d/network restart

 

打開核心的封包轉遞 (IP forward)功能

觀察核心功能的顯示檔案

[root@www ~]# cat /proc/sys/net/ipv4/ip_forward
0  <== 0 代表沒有啟動, 1 代表啟動了

要讓該檔案的內容變成啟動值 1 最簡單的方是就是使用:

[root@www ~]# echo 1 > /proc/sys/net/ipv4/ip_forward

不過,這個設定結果在下次重新開機後就會失效。因此,鳥哥建議您直接修改系統設定檔的內容,那就是 /etc/sysctl.conf 來達成開機啟動封包轉遞的功能喔。

[root@www ~]# vim /etc/sysctl.conf
# 將底下這個設定值修改正確即可! (本來值為 0 ,將它改為 1 即可)
net.ipv4.ip_forward = 1
 
[root@www ~]# /sbin/sysctl -p  <==立刻讓該設定生效

 

關閉防火牆

[root@www ~]# /etc/init.d/iptables stop

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值