有了这些行\etc\network\interfaces
...
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.8.1
netmask 255.255.255.0
gateway 192.168.8.1
... 启动后约 10 秒界面出现,并ifconfig
显示具有正确静态 IP 地址的界面...
wlan0 Link encap:Ethernet HWaddr 00:13:ef:b5:06:18
inet addr:192.168.8.1 Bcast:192.168.8.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
...但大约 10 秒后,静态 IP 地址消失了...
wlan0 Link encap:Ethernet HWaddr 00:13:ef:b5:06:18
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
这是怎么回事?如何配置此接口以使静态 IP 永久有效?
(我在 Beagle Bone Black 上运行 Linux 版本 3.8.13-bone72)
答案1
问题在于wicd
守护进程,该守护进程在此发行版中默认运行。
显然,wicd
在正常的 ifup/down 脚本配置接口并盲目地重新配置它以使用 DHCP 后几秒钟醒来。
这很难追踪。
解决方案是wicd
使用以下命令禁用守护进程在启动时运行...
service wicd disable
完成此操作后,Wifi 接口将继续按照中的配置工作interfaces
。
然而,在此发行版中,wicd
显然默认情况下也会处理该eth0
界面,因此它将不再在重新启动时自动出现。
您可以通过添加以下行来解决此问题...
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
.../etc/networking/interfaces
允许正常的 ifup/down 脚本也启动和管理eth0
..