dhcpclient 在哪里存储地址

dhcpclient 在哪里存储地址

我最近不得不更换主板(不要问,如果你不想看到一个成年人哭泣的话 ;-) )新主板 -> 新以太网 -> 新 MAC 地址 -> 通过 DHCP 获得新 IP 地址。由于我已为该主机分配了固定 IP 地址 172.16.0.1,新分配的 IP 地址 172.16.210.213 不合适,因此我快速更改了 DHCP 服务器(Zyxel 5501 路由器)上的条目以反映机器的新 MAC 地址并重新启动,但...机器再次分配了错误的 IP 地址。它尝试了各种方法,例如删除路由器上的条目、删除机器上各种与 dhcp 相关的文件、重新启动、停止、删除租约文件、重新启动...但都无济于事我现在使用“-d”重新启动 dhclient 以查看发生了什么,调试输出显示

Listening on LPF/virbr0-nic/52:54:00:28:48:36
Sending on   LPF/virbr0-nic/52:54:00:28:48:36
Listening on LPF/virbr0/52:54:00:28:48:36
Sending on   LPF/virbr0/52:54:00:28:48:36
Listening on LPF/wlp8s0/28:b2:bd:f8:1f:bf
Sending on   LPF/wlp8s0/28:b2:bd:f8:1f:bf
Listening on LPF/eno1/40:8d:5c:b7:02:a0
Sending on   LPF/eno1/40:8d:5c:b7:02:a0
Sending on   Socket/fallback
DHCPDISCOVER on virbr0-nic to 255.255.255.255 port 67 interval 3 (xid=0xbedfb46e)
DHCPDISCOVER on virbr0 to 255.255.255.255 port 67 interval 3 (xid=0x7c063c6f)
DHCPDISCOVER on wlp8s0 to 255.255.255.255 port 67 interval 3 (xid=0x139d1c0c)
send_packet: Network is down
dhclient.c:2098: Failed to send 300 byte long packet over wlp8s0 interface.
DHCPREQUEST of 172.16.0.1 on eno1 to 255.255.255.255 port 67 (xid=0x112759d7)
receive_packet failed on wlp8s0: Network is down
DHCPNAK from 172.16.255.254 (xid=0xd7592711)
/etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf
DHCPDISCOVER on eno1 to 255.255.255.255 port 67 interval 3 (xid=0xaa7e090e)
DHCPDISCOVER on wlp8s0 to 255.255.255.255 port 67 interval 3 (xid=0x139d1c0c)
send_packet: Network is down
dhclient.c:2098: Failed to send 300 byte long packet over wlp8s0 interface.
DHCPDISCOVER on virbr0-nic to 255.255.255.255 port 67 interval 7 (xid=0xbedfb46e)
DHCPDISCOVER on virbr0 to 255.255.255.255 port 67 interval 7 (xid=0x7c063c6f)
DHCPREQUEST of 172.16.210.213 on eno1 to 255.255.255.255 port 67 (xid=0xe097eaa)
DHCPOFFER of 172.16.210.213 from 172.16.255.254
DHCPACK of 172.16.210.213 from 172.16.255.254

因此,我假设 dhclient 从某个地方获取了这个错误地址,并从路由器请求这个错误地址,路由器慷慨地将其分配给它。但我根本无法找出这个错误 IP 地址存储在哪里!我怎样才能让我的机器请求 172.16.0.1 而不是 172.16.210.213?

我目前正在运行 Kubuntu 16.04...是的,我知道它已经过时了,升级正在进行中。

答案1

解释 DHCP:

某些系统仅通过其 MAC 地址(在 OSI 模型的数据链路层上)进行标识,并从广播地址 ( 255.255.255.255) 中请求 IP 地址。

DHCP 服务器返回一个 IP 地址,可以是上次分配给 MAC 地址的 IP 地址,也可以是来自地址池的 IP 地址。DHCP 服务器会记住此 MAC 到 IP 地址的分配。

就您而言,DHCP 服务器已将旧 MAC 到 IP 地址的映射存储在其缓存中。由于您保留了 IP 地址,因此无法将其用于其他分配。

当新 MAC 请求时,它会从池中获取一个 IP 地址。此 MAC 到 IP 地址的映射会被记住。

确保您的 DHCP 配置准确、最新且已保存。然后,关闭路由器电源。这将重新启动 DHCP 服务器,并使其忘记所有 MAC 到 IP 地址的映射(您保留的映射除外)。

相关内容