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 地址。
配置有什麼問題?
eth1.10
以下配置僅在 DHCP 伺服器使用多個介面時有效,例如eth1.11
在 VLAN 的情況下。如果只有一個介面,則subnet
語句應包含在一個shared-network
塊中。根據文件:
shared-network語句用於通知 DHCP 伺服器某些 IP 子網實際上共享相同的物理網路。共享網路中的任何子網都應在共享網路語句中聲明。