我有一台具有静态 IP 地址配置的 Ubuntu 10.04 服务器:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.2.51
network 192.168.2.0
netmask 255.255.255.0
broadcast 192.168.2.255
gateway 192.168.2.1
有时(根据负载,每月一次或每三天一次)服务器会自发丢弃该 IP 地址并更改为通过 DHCP 配置的 IP 地址。
当发生这种情况时,我需要通过 SSH 进入服务器(使用其.local
主机名)并让其/etc/init.d/networking restart
再次使用静态 IP。
这种情况怎么会发生?更重要的是,我该如何阻止它?
答案1
是否有可能仍有 DHCP 客户端进程正在运行?
也许您将服务器从 DHCP 更改为静态,执行了网络重启,但 dhclient 进程没有正确退出。
你可以做
johnf@zoot:~$ ps ax | grep [d]hclient
28248 ? S 0:00 /sbin/dhclient # Other args
去检查。
如果是的话,请终止该进程或者重新启动。
答案2
为什么不将 DHCP 服务器配置为根据服务器的 MAC 地址分配所需的 IP 地址?使用 ISC dhcpd(Unix 系统的事实标准 DHCP 服务器),只需在配置中输入以下内容(确保子网掩码和网关已正确配置):
host server01
{
hardware ethernet MA:CA:DD:RE:SS;
fixed-address 192.168.2.51;
option host-name "server01";
}