Linux
從分發中排除子網?
在 Windows 的 DHCP 伺服器中,可以將整個子網排除在沒有預留的客戶端之外。他們稱之為“從分發中排除的 IP 地址”。
現在我想在 Linux 的 DHCPD 上做同樣的事情。所以我有這些子網
# servers subnet 192.168.91.0 netmask 255.255.255.0 { range 192.168.91.2 192.168.91.254; option routers 192.168.91.1; } # desktop computers subnet 192.168.234.0 netmask 255.255.255.0 { range 192.168.234.2 192.168.234.254; option routers 192.168.234.1; }
永遠不應為使用者桌面分配“伺服器”範圍內的 IP。只有有預訂的主機才能從“伺服器”範圍內獲得一台。但是任何人都可以從“桌面”範圍內獲得 IP。
問題
如何在 Linux 的 DHCPD 中做到這一點?
簡單 - 不要添加範圍。
# servers subnet 192.168.91.0 netmask 255.255.255.0 { option routers 192.168.91.1; }
然後稍後在您的配置中,您可以根據需要將該子網中的特定 IP 分配給特定的 MAC 地址。
這是我的實際 DHCP 伺服器的一個範例(對不起,在我的 Pi 家裡,不是在“專業環境”中,但無論如何都是一樣的……只是規模問題)
$ cat /etc/dhcp/dhcpd.conf default-lease-time 600; max-lease-time 700; ddns-update-style none; authoritative; log-facility local7; lease-file-name "/etc/dhcp/leases.dhcpd"; option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; option ms-classless-routes code 249 = array of unsigned integer 8; #notice no range in this subnet subnet 192.168.1.0 netmask 255.255.255.0 { option domain-name "home.test"; option domain-name-servers 192.168.1.2; option routers 192.168.1.1; option rfc3442-classless-static-routes 24, 10,99,97, 192,168,1,2; option ms-classless-routes 24, 10,99,97, 192,168,1,2; } subnet 10.99.97.0 netmask 255.255.255.0 { range 10.99.97.150 10.99.97.175; option domain-name "home.test"; option domain-name-servers 192.168.1.2; option routers 10.99.97.2; } host webdev{ hardware ethernet 08:00:27:74:07:21; fixed-address 192.168.1.90; }