我正在尝试在 Ubuntu 11.04 中设置静态 IP 地址。我进行了服务器安装。我编辑了文件/etc/network/interfaces
以包含:
auto eth0
iface eth0 inet static
address 10.0.0.100
netmask 255.255.255.0
gateway 10.0.0.1
当我这样做时,/etc/init.d/networking restart
这似乎有用。但过了一会儿,这10.0.0.100
将变成 DHCP 服务器分发的内容。
我的问题似乎与此类似:Ubuntu intrepid - 静态 IP 网络不断使用 DHCP 重新启动
但我没有安装 Gnome。是否有其他程序在后台运行并可能导致此问题?如果是,我该如何禁用它?
答案1
删除或注释掉“auto eth0”行...如果您在该行下方将其定义为静态,那么您首先不需要它“自动”。
我的猜测是,这是一个竞争条件,因为静态可以立即设置,所以它是第一个完成的。DHCP 需要更长的时间才能建立,因为需要进行一些服务器通信和握手,因此当最终完成时,它会覆盖您已经完成设置的静态 IP。
由于我所在地区发生暴风雨,所有电源都拔掉了,因此我还没有在我的计算机上测试过这一点,但这是我未经测试的最佳猜测。
答案2
尝试搜索日志文件。更具体地说,我注意到 /var/log/syslog 记录了每个 IP 更改。
很少有可能的 grep
grep -i eth0 /var/log/syslog
grep -i 10.0.0.100 /var/log/syslog
搜索每条日志
grep -i eth0 /var/log/*
答案3
如果安装了 NetworkManager(dpkg -l network-manager
应该显示以 开头的条目ii
),它可能会干扰ifupdown
设置。
尝试更新/etc/NetworkManager/NetworkManager.conf
、启用ifupdown
插件并禁用管理中指定的接口/etc/network/interfaces
。
我的看起来像这样:
[main]
plugins=ifupdown
[ifupdown]
managed=false
可能还有其他插件被激活;然后您应该将它们添加到节末尾plugins
,用逗号分隔名称,并将该[ifupdown]
部分附加到文件末尾。