本文分三點來記錄嵌入式Linux根文件的一些網絡配置技巧:
1、對開發板配置靜態IP:
將根文件系統/etc/network/interface文件中
auto eth0
iface eth0 inet dhcp
pre-up /bin/grep -v -e "ip=[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+" /proc/cmdline > /dev/null
將eth0的DHCP配置修改為static ip方式:
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
即可以靜態方式IP啟動。
2、復制文件系統網卡eth0變化的解決方法:
根文件系統每復制一次,網卡名字後綴就要加1,比如復制兩次根文件系統eth0就會變成eth2。其原因是Linux為防止網絡內有相同的MAC地址而采用一種自動探測機制,同時也會改為網卡名字。其解決方法:
修改/etc/udev/rules.d/70-persisten-net.rules文件
#PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth0"
#PCI device 0x1022:0x2000 (vmxnet)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth1"
#PCI device 0x1022:0x2000 (vmxnet)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth2"
將SUBSYSTEM開頭的所有3行都注釋掉即可。
#PCI device 0x1022:0x2000 (pcnet32)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth0"
#PCI device 0x1022:0x2000 (vmxnet)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth1"
#PCI device 0x1022:0x2000 (vmxnet)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth2"
3、為根文件系統設置DNS服務器:
只需要在/etc/resolv.conf文件中加入一行(原來默認為空)
nameserver DNS服務器地址
舉例:
nameserver 202.106.196.115
啟動/重啟/停止網絡命令:
/net/init.d/networking start | restart | stop
重啟網絡即可從開發通過telnet或浏覽器上網了。