为什么ISC DHCP服务器忽略固定地址声明?

为什么ISC DHCP服务器忽略固定地址声明?

我希望属于不同 VLAN 的设备拥有不同的路由器。例如:

  • VLAN 10.0.10.0/24 内的设备 10.0.10.84 的路由器设置为 10.0.10.1,而:
  • 属于 10.0.11.0/24 的设备 10.0.11.6 应该使用路由器 10.0.11.1。

我这样配置了 ISC DHCP 服务器:

subnet 10.0.10.0 netmask 255.255.255.0 {
    option subnet-mask 255.255.0.0;
    option routers 10.0.10.1;
    ...

    pool {
        failover peer "dhcp-primary";
        max-lease-time 1800;
        range 10.0.10.200 10.0.10.210;
    }
}

subnet 10.0.11.0 netmask 255.255.255.0 {
    option subnet-mask 255.255.0.0;
    option routers 10.0.11.1;
    ...

    pool {
        failover peer "dhcp-primary";
        max-lease-time 1800;
        range 10.0.11.200 10.0.11.210;
    }
}

host nmap-tests {
    hardware ethernet de:ad:c0:de:ca:fe;
    fixed-address 10.0.11.6;
}

不幸的是,这不起作用。当我运行 时nmap --script broadcast-dhcp-discover,转储tcpdump -n -i eth0 port bootps or port bootpc -v显示原始请求:

0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from de:ad:c0:de:ca:fe ...

响应如下:

10.0.10.5.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, ...
      Your-IP 192.168.1.205
      Client-Ethernet-Address de:ad:c0:de:ca:fe

鉴于配置,我希望 DHCP 服务器使用固定地址 10.0.11.6 进行响应,而不是来自池的 IP 地址。

配置有什么问题?

答案1

以下配置仅在 DHCP 服务器使用多个接口(例如 VLAN)的情况下才有效eth1.10eth1.11如果只有一个接口,则subnet语句应包含在一个shared-network块中。

根据文档

共享网络语句用于通知 DHCP 服务器,某些 IP 子网实际上共享同一物理网络。共享网络中的任何子网都应在共享网络陈述。

相关内容