我正在内部网络上配置 Ubuntu 14.04LTS 服务器。一切正常,运行正常。它分配了一个静态 IP,这里是 /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.10.250
netmask 255.255.0.0
dns-nameservers 192.168.10.1
gateway 192.168.10.1
但是当我们的路由器重新启动和/或网络中断时,服务器会获取 DHCP 地址并忽略静态 IP。我尝试删除“auto eth0”,但情况没有改变。
如果我重启服务器,静态 IP 就会恢复。我怎样才能强制它始终使用静态 IP?
编辑并回答问题:
- 不是虚拟机
- dhclient 正在运行(两次?)
- 此盒子不支持 VPN
- 日志中没有关于 eth0 的任何信息,但 wlan0 似乎正在相当定期地重新连接到接入点。
答案1
Kevin Sadler 的答案是可行的,但有点太过分了。下面介绍如何在不卸载接口的情况下禁用网络管理器对接口的管理。
# network manager cli
$ sudo nmcli d
DEVICE TYPE STATE CONNECTION
eth1 ethernet connected Wired connection 1
lo loopback unmanaged --
您可以看到eth1
它由网络管理员进行管理。
在 Ubuntu/debian 版本中编辑/etc/NetworkManager/NetworkManager.conf
。
$ sudo vi /etc/NetworkManager/NetworkManager.conf
[ifupdown]
managed=false
unmanaged-devices=interface-name:eth1 # <--- Add this line
然后重新启动服务。
$ sudo service network-manager restart
核实。
$ sudo nmcli d
DEVICE TYPE STATE CONNECTION
eth1 ethernet unmanaged -- # <--- it's now unmanaged.
lo loopback unmanaged --
答案2
我遇到了类似的问题。我在服务器上安装了一个包含网络管理器的桌面,它在启动时运行 dhclient。卸载网络管理器并重新启动解决了这个问题。
sudo apt-get remove network-manager
sudo reboot