我使用 /etc/network/interfaces 文件中的以下内容将 BBB 配置为使用静态 IP 地址:
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
这似乎在启动时工作正常,但是当拔下以太网电缆然后重新插入时,我会丢失 IP 地址。有什么想法吗?
另一个奇怪的症状:如果我在拔掉网络电缆的情况下启动 BBB,但它所插入的交换机已关闭,我将获得静态 IP。但是,当我打开开关时,我将获得 DHCP 分配的地址。即使我为其配置了静态 IP 地址,也是如此。
最后一件事。如果我 ifdown etho,当我执行 ifconfig 时,该界面将会消失。不过,如果我等待几秒钟,然后重新运行 ifconfig,它就会重新出现,但没有 IP 地址。 (在禁用 IPv6 之前,我曾经在这种情况下获取 IPv4 DHCP 地址......很奇怪)。发生这种情况时,我会在 /var/log/messages 中收到如下消息:
Apr 23 20:32:06 beaglebone kernel: [ 737.170172] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
Apr 23 20:32:06 beaglebone kernel: [ 737.170304] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
这是我的 uname -a:
root@beaglebone:/etc# uname -a
Linux beaglebone 3.8.13-bone47 #1 SMP Fri Apr 11 01:36:09 UTC 2014 armv7l GNU/Linux
有什么想法吗?
答案1
我相信我可能已经明白了。
事实证明 wicd 已安装并正在运行。启动时,我的 /etc/network/interfaces 负责,但是当电缆被拔掉时,wicd 接管。编辑 /etc/wicd/wired-settings 以包含我的静态 IP 就可以了。
在两个地方配置并不是很好,但我在 /etc/network/interfaces 中添加了一个指针来指示这就是发生的情况。
答案2
不要使用allow-hotplug eth0
试试这个配置:
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
dns-nameservers 8.8.8.8