Skip to main content

Руководство пользователя

Настройка опций DHCP

В KeeneticOS имеется возможность настройки опций DHCP. Эта настройка доступна только через интерфейс командной строки (CLI) роутера и позволяет настроить следующие опции:

  • 2 (Time Offset),

  • 4 (Time Server),

  • 26 (MTU),

  • 42 (NTP Servers),

  • 43 (Vendor Specific Information),

  • 44 (NetBIOS Servers),

  • 60/66 (TFTP Server Name),

  • 67 (Bootfile-Name),

  • 72 (World Wide Web Server),

  • 121 (Classless Static Routes),

  • 249 (MS Routes).

Настройка для всего DHCP-сервера:

(config)> ip dhcp pool {name} option

Usage template:
 option ({2..254} hex {data}) | ({2..254} ascii {data}) | (4 {address[,address]*}) | (6 {address[,address]*}) | (42 {address[,address]*}) | (44 {address[,address]*}) | (26 {mtu}) | (121 {address/{0..32},gateway},*) | (249 {address/{0..32},gateway},*)

Настройка для конкретного class id:

(config)> ip dhcp pool _WEBADMIN class test
(config-dhcp-pool-class)> option

Usage template:
 option ({2..254} hex {data}) | ({2..254} ascii {data}) | (4 {address[,address]*}) | (6 {address[,address]*}) | (42 {address[,address]*}) | (44 {address[,address]*}) | (26 {mtu}) | (121 {address/{0..32},gateway},*) | (249 {address/{0..32},gateway},*)

Рассмотрим работу DHCP-опций на примере option 121 (раздача статических маршрутов по DHCP). Для этого настроим раздачу маршрутов на подсети 192.168.0.0/24 и 192.168.10.0/24 через шлюз 192.168.222.2 для всех DHCP-клиентов и на подсети 192.168.1.0/24 и 192.168.11.0/24 через шлюз 192.168.222.3 для DHCP-клиентов с class id test.

Настройка будет выглядеть следующим образом:

(config)> ip dhcp pool _WEBADMIN_HOME option 121 ascii 192.168.0.0/24,192.168.222.2,192.168.10.0/24,192.168.222.2
(config)> ip dhcp class test 
(config-dhcp-class)> option 60 ascii "MSFT 5.0"
(config-dhcp-class)> exit
(config)> ip dhcp pool _WEBADMIN_HOME class test 
(config-dhcp-pool-class)> option 121 ascii 192.168.1.0/24,192.168.222.3,192.168.11.0/24,192.168.222.3
(config-dhcp-pool-class)> exit
(config)> system configuration save

Теперь можно подключить клиента, у которого не указан class id и посмотреть, получит ли он указанные маршруты. После получения IP-адреса выполните в командной строке операционной системы Windows команду route print:

dhcp-options-01-en.png

Также в дампе сетевых пакетов при общении DHCP-клиента и DCHP-сервера видно, что сервер передает эту информацию в поле option:

dhcp-options-02-en.png

Далее зададим клиенту class id и посмотрим, что получит он. Для Windows class id задается с помощью утилиты ipconfig:

ipconfig /setclassid "wlan" test

где wlan — это имя сетевого подключения.

dhcp-options-03-en.png

Значение текущего class id клиента DHCP хранится в реестре Windows в открытом виде и расположено по следующему пути: Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces для каждого из интерфейсов. Искомый параметр имеет название DhcpClassId и тип REG_SZ.

dhcp-options-04-en.png

После получения IP-адреса выполните в командной строке операционной системы Windows команду route print:

dhcp-options-05-en.png

Также в дампе сетевых пакетов при общении DHCP-клиента и DCHP-сервера видно, что сервер передает эту информацию в поле option:

dhcp-options-06-en.png

Удалить класс можно командой:

(config)> no ip dhcp class test

Вместе с ним удалятся и все опции для этого класса в настройках всех DHCP-серверов.

Конкретную опцию в классе можно удалить:

(config)> ip dhcp pool _WEBADMIN_HOME class test
(config-dhcp-pool-class)> no option 121 ascii 192.168.1.0/24,192.168.222.3,192.168.11.0/24,192.168.222.3

Все опции для конкретного класса в рамках одного DHCP-сервера можно удалить:

(config)> ip dhcp pool _WEBADMIN_HOME no class test

Общую опцию (не для класса) можно удалить:

ip dhcp pool _WEBADMIN_HOME no option 121 ascii 192.168.0.0/24,192.168.222.2,192.168.10.0/24,192.168.222.2

Дополнительная информация по настройке DHCP-опции 15 (DNS Domain Name) представлена в статье Настройка DHCP Option 15.