Назад | Перейти на главную страницу

Исключить подсети из раздачи?

В 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;
}