среда, 21 января 2015 г.

Произвольные маршруты для ISC DHCPD

Неожиданно для себя столкнулся со сложностью на ровном месте. Возникла потребность установить и сконфигурировать dhcp-сервер таким образом, чтобы он отдавал клиенту не маршрут по-умолчанию или одну единственную подсеть, а маршруты на целый перечень подсетей, доступных через данный интерфейс. И да, на хосте несколько интерфейсов и все настраиваются по DHCP. В роли сервера был выбран DHCPD, т.к. я приверженец продуктов ISC.

Изучение интернетов привело к DHCP-кодам 249 и 121. Т.к. в качестве клиента выстапала MS Windows, то я решил использовать код 249, как вроде бы ненавязчиво рекомендуемый ими. К тому же в некоторых ОС от MS код 121 не обрабатывается.
По примерам в интернетах был написан конфигурационный файл /etc/dhcp/dhcpd.conf

local-address 192.168.11.1;
option ms-classless-static-routes code 249 = array of unsigned integer 8;
subnet 192.168.11.0 netmask 255.255.255.252 {
        option subnet-mask 255.255.255.252;
        range 192.168.11.2 192.168.11.2;
        option ip-forwarding on;
option ms-classless-static-routes 24, 192,168,33, 192,168,11,1,
24, 192,168,22, 192,168,11,1;
}

Тут стоит сделать важное замечание: маска должна делиться на 8 нацело. Не разбирался в причинах, но экспериментально было выяснено, что при нарушении этого условия запись игнорируется.
Формат записи - всё через запятую. Ограничения на количество записей не нашёл, у меня около десятка, работает.
Поймём на примере первой строчки: 24 - маска, 192,168,33,-подсеть, 192,168,22,1, - gateway

Надеюсь всё понятно. Подробная информация есть в приведённых в заметке ссылках, так сказать первоисточники.

Комментариев нет:

Отправить комментарий