В DHCP-сервере Windows можно исключить целую подсеть из выдачи клиентам, у которых нет резервирования. Они называют это «IP-адресами, исключенными из распространения».
Теперь я хотел бы сделать то же самое с DHCPD в Linux. Итак, у меня есть эти подсети
# 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 из диапазона «настольных компьютеров».
Вопрос
Как я могу сделать это в DHCPD Linux?
Просто - не добавляйте диапазон.
# 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;
}