我在 Ubuntu 18.04 上執行 isc-dhcp-server。沒有 DHCP 預留的用戶端能夠從池中取得 IP 位址、子網路遮罩、預設閘道和 DNS 伺服器,沒有問題。
一旦我定義了預留,用戶端將正確取得預留的 IP 位址、子網路遮罩和 DNS 伺服器,但預設閘道將會遺失,如此螢幕截圖所示。
這是我的 dhcpd.conf 檔案供參考。
ddns-update-style none;
authoritative;
option domain-name "test.lan";
option domain-name-servers 10.127.253.236,10.127.253.237;
default-lease-time 86400;
max-lease-time 86400;
failover peer "dhcp-failover" {
primary;
address 10.127.253.236;
port 647;
peer address 10.127.253.237;
peer port 647;
max-response-delay 60;
max-unacked-updates 10;
mclt 3600;
split 128;
load balance max seconds 3;
}
subnet 10.127.253.224 netmask 255.255.255.240 {
pool {
failover peer "dhcp-failover";
option routers 10.127.253.225;
option subnet-mask 255.255.255.240;
range 10.127.253.226 10.127.253.238;
}
ignore client-updates;
}
##############################
## START OF IP RESERVATIONS ##
##############################
host MacBook-pro {
hardware ethernet f0:18:98:35:29:6c;
fixed-address 10.127.253.227;
}
答案1
若要將特定位址指派給主機,該位址必須在子網路內但不在範圍內。
固定位址不是由池機制分配的,因此不能從該池的選項中受益。
路由器和子網路遮罩選項與池相關,而不是與子網路相關。
這裡最簡單的方法是將位址 226 指派給主機,透過使其從 227 開始來減少池,並將選項移至子網路:
subnet 10.127.253.224 netmask 255.255.255.240 {
option routers 10.127.253.225;
option subnet-mask 255.255.255.240;
pool {
failover peer "dhcp-failover";
range 10.127.253.227 10.127.253.238;
}
ignore client-updates;
}
host MacBook-pro {
hardware ethernet f0:18:98:35:29:6c;
fixed-address 10.127.253.226;
}