有一台运行 Debian 3.16 内核的 Marvel Kirkwood 设备。启动时,DHCPClient 陷入循环并且永远不会获取 IP,除非我登录到 dhcp 服务器并要求它转储过期的租约。 dhcp 服务器与该地方的其他 25 台设备没有任何问题。
我觉得这与设备拒绝 dhcp 服务器尝试在设备上推送的主机名有关。不确定设备如何以及是否可以向 dhcp 服务器宣告其主机名。
编辑:当它最终获取 IP 时,DHCP 客户端列表将其名称显示为 new-host,而不是实际的设备名称。
[ 34.300664] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPNAK from 192.168.2.1
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPOFFER from 192.168.2.1
DHCPNAK from 192.168.2.1
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPNAK from 192.168.2.1
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPOFFER from 192.168.2.1
DHCPNAK from 192.168.2.1
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPNAK from 192.168.2.1
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPOFFER from 192.168.2.1
// CLEARED the 'expired DHCP leases'
DHCPACK from 192.168.2.1 bound to 192.168.2.24 --renewal in 100664 seconds.
有什么建议么?
答案1
我在 Cubox 上使用 Debian 时遇到了完全相同的问题。
然而,查看 DHCP 服务器(运行 dhcpd OpenBSD)上的日志文件揭示了我的情况的问题所在:
Oct 4 08:45:04 gateway dhcpd[22743]: Both dynamic and static leases present for 192.168.1.2.
Oct 4 08:45:04 gateway dhcpd[22743]: Either remove host declaration 192.168.1.2 or remove 192.168.1.2
Oct 4 08:45:04 gateway dhcpd[22743]: from the dynamic address pool for 192.168.1.0
我犯的错误是根据一些主机的 MAC 地址为它们分配静态 IP 地址,然后在动态池(DHCP 服务器上的范围部分)中使用相同的 IP 地址。
答案2
/etc/dhcp/dhcp/dhclient.conf 处的 dhcp 客户端正在发送 gethostname();作为 dhcp 服务器的主机名。
将 gethostname() 替换为设备的硬编码名称,并解决了问题。
答案3
我的问题DHCP服务器(路由器)具有保留地址
删除它们并重新分配它们解决了我的问题