我在本地计算机上运行了一个 Web 服务器,它自发地开始每秒发送大约 400 个 DHCP 请求,不断更改其 IP 地址,直到几个小时后我关闭了 dhclient。简单地重新启动服务器并没有帮助,实际上我必须关闭 dhclient 才能让它停止。
服务器配置为使用 DHCP,并且路由器配置为为其提供静态 IP 地址。
grep -i dhc /var/log/syslog.1
这是(.1 因为我重新启动了它) 前几秒的输出(后来速率急剧增加,但整体模式不是这样):
Sep 11 04:36:01 net-server dhclient: DHCPREQUEST on eth0 to 10.0.0.1 port 67
Sep 11 04:36:01 net-server dhclient: DHCPACK from 10.0.0.1
Sep 11 04:36:01 net-server dhclient: DHCPDECLINE on eth0 to 255.255.255.255 port 67
Sep 11 04:36:01 net-server dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
Sep 11 04:36:04 net-server dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
Sep 11 04:36:04 net-server dhclient: DHCPOFFER from 10.0.0.1
Sep 11 04:36:04 net-server dhclient: DHCPACK from 10.0.0.1
Sep 11 04:36:04 net-server dhclient: DHCPDECLINE on eth0 to 255.255.255.255 port 67
Sep 11 04:36:04 net-server dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
Sep 11 04:36:04 net-server dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
Sep 11 04:36:04 net-server dhclient: DHCPOFFER from 10.0.0.1
Sep 11 04:36:05 net-server dhclient: DHCPACK from 10.0.0.1
Sep 11 04:36:05 net-server dhclient: DHCPDECLINE on eth0 to 255.255.255.255 port 67
Sep 11 04:36:05 net-server dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8
后来,开始出现类似的线条Sep 11 05:13:01 net-server ifup[436]: /sbin/dhclient-script: 28: .: Can't open /usr/share/sendmail/dynamic
,但由于它们在将近一个小时内都没有出现,所以我不认为它们有因果关系。
因为我想我实际上还没有问任何问题,所以我的问题是:什么可能导致 Linux 服务器如此频繁地更改其 IP,我该如何防止这种情况发生?
搜索互联网完全没有结果,因为在大多数情况下,“很多”请求意味着每隔几分钟,而不是每秒数百个请求。如果有人要求,我可以提供更多信息,但目前我对情况的了解还不够,无法提出适当的问题。
答案1
DHCP 拒绝消息用于报告 IP 地址冲突或TCP/IP 配置无效。
请检查是否与任何其他以太网设备(甚至电话)发生冲突。
arp 10.0.0.xx (server ip)
如果报告没有其他设备使用它,则重新启动路由器,删除/添加保留,最后尝试新的 IP。最后的想法是检查它是否可能是广播/路由配置错误看到 DHCP 一次又一次拒绝,但没有冲突。
答案2
这是一个老问题,但我刚刚在我的个人服务器上遇到了这个确切的问题,所以它今天仍然有意义。
/sbin/dhclient-script: 28: .: Can't open /usr/share/sendmail/dynamic
不管你信不信,这实际上是问题的根源。我将其添加set -x
到开头/sbin/dhclient-script
,发现脚本在出现此错误后立即崩溃。原来我在修改时删除了 sendmail。重新安装后,DHCP 工作正常。
据说这个错误已经修复这里,但由于这种情况仍在发生,我对此表示怀疑。