dhcpd 不提供保留的静态 IP,返回未知租约

dhcpd 不提供保留的静态 IP,返回未知租约

通常,当我为 MAC 地址保留 IP 时,设备在启动并请求 dhcp 地址时,将获取我保留的地址。但是最近请求似乎已经进入,但 dhcp 却​​提供了一个范围内的地址,并显示“未知租约”。是否缺少某些内容或配置不正确?我很确定我多次将相机恢复出厂设置,因此它不是硬编码的。还有其他建议吗?

配置文件:/etc/dhcp/dhcpd.conf

}
## }}}
## {{{ IT::Devices (10.54.200.0/24)
subnet 10.54.200.0 netmask 255.255.255.0 {
  authoritative;
  option ntp-servers 10.54.25.110;
  option broadcast-address 10.54.200.255;
  option routers 10.54.200.1;
  pool {
    # WINS server address and info for microsoft win 3x,9x & NT
    option netbios-name-servers 10.54.25.75;
    option ntp-servers 10.54.25.110;
    option netbios-dd-server 10.54.25.75;
    option netbios-node-type 8;
    option domain-name-servers 10.54.25.110,10.54.25.110;
    range 10.54.200.35 10.54.200.40;
    #range dynamic-bootp 10.54.200.25 10.54.200.29;
    default-lease-time 345600;
    max-lease-time 518400;
    allow unknown clients;
  }

...

 host 040-cam-test {
    hardware ethernet 00:02:d1:01:10:73;
    fixed-address 10.54.200.60;
  }

tail -f /var/log/dhcpd/dhcpd.log | ccze -A | grep 10.54.200

Dec 10 11:39:31 DHCP01 dhcpd: DHCPOFFER on 10.54.200.60 to 00:02:d1:01:10:73 via 10.54.200.1
Dec 10 11:39:31 DHCP01 dhcpd: DHCPDISCOVER from 00:02:d1:01:10:73 (IP21x2-VVTK-0101c) via 10.54.200.1
Dec 10 11:39:31 DHCP01 dhcpd: DHCPREQUEST for 10.54.200.60 (10.54.25.75) from 00:02:d1:01:10:73 via 10.54.200.1
Dec 10 11:39:31 DHCP01 dhcpd: DHCPACK on 10.54.200.60 to 00:02:d1:01:10:73 via 10.54.200.1
Dec 10 11:39:31 DHCP01 dhcpd: DHCPREQUEST for 10.54.200.60 (10.54.25.75) from 00:02:d1:01:10:73 via 10.54.200.1: unknown lease 10.54.200.60.
Dec 10 11:39:32 DHCP01 dhcpd: DHCPOFFER on 10.54.200.37 to 00:02:d1:01:10:73 (IP21x2-VVTK-0101c) via 10.54.200.1

/var/lib/dh​​cp/dhcpd.leases ...

lease 10.54.200.37 {
  starts 4 2015/12/10 18:32:44;
  ends 4 2015/12/10 18:35:10;
  tstp 4 2015/12/10 18:35:10;
  cltt 4 2015/12/10 18:32:44;
  binding state free;
  hardware ethernet 00:02:d1:01:10:73;
  uid "\001\000\002\321\001\020s";
}

答案1

有一个恶意 dhcpd 进程正在运行,因此设备收到过多响应。这是因为使用以下命令多次重新启动了该服务:

/etc/init.d/isc-dhcp-server restart

相反,我需要使用以下命令重新启动 dhcpd:

sudo service isc-dhcp-server restart

答案2

我在运行 Raspbian 8 的 RPi 1 上遇到了类似的问题。我正在运行 isc-dhcp-server。

它没有为机器提供静态配置的 DHCP IP 地址 192.168.1.8 作为 MAC 地址,而是说租约未知,并为其提供我设置的动态范围内的某个地址,例如 192.168.1.201。但即使有了这个 IP 地址,事情仍然无法正常工作,而且我检查时,客户端机器通常没有配置 IP 地址。

最终我阅读了这个链接底部的帖子: https://ubuntuforums.org/archive/index.php/t-1575290.html

检查我的服务器时,我发现有另一个 dhcp 进程正在运行(ps -elf | grep dhcp),该进程称为 dhcpcd5,但这是一个客户端(https://packages.debian.org/search?keywords=dhcpcd

这是我所做操作的 apt 日志(我删除的两个包):

cat /var/log/apt/history.log

Start-Date: 2017-11-13  20:28:38
Remove: raspberrypi-net-mods:armhf (1.2.5), dhcpcd5:armhf (6.7.1-1+rpi5)
End-Date: 2017-11-13  20:28:52

卸载 dhcpcd5 包(以及依赖于它的 raspberrypi-net-mods 包)后,我发现我的 DHCP 系统在所有客户端机器上运行良好,并且服务器日志不再显示 dhcp 客户端固定地址(例如 192.168.1.8)的租约未知,该地址映射到 /etc/dhcp/dhcpd.conf 中的特定 MAC 地址

dhcp 服务器甚至开始向客户端发出 DHCPNAK 消息以消除先前造成的损害,即拒绝 192.168.1.201 向在我的 dhcp 服务器中为其保留了 192.168.1.8 的 MAC 地址的机器发出的请求,然后正确地向其提供 192.168.1.8。

相关内容