![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
||
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 14349 Регистрация: 12.10.2007 Из: Twilight Zone Пользователь №: 1 ![]() |
Выдача маршрутов клиентам через DHCP Server в D-Link DFL-210.
Возникла задача автоматически выдавать пользователям маршруты через DHCP с использованием D-Link DFL-210. Собственно сделать это можно с помощью DHCP Custom Options, конкретнее - за выдачу статических маршрутов отвечает опция 249. Сначала немного цитат, чтобы был понятен смысл: Цитата Если нужно в option 249 передавать не целые маски (напр. /21) то делаем следующее Читаем RFC http://www.ietf.org/rfc/rfc3442.txt и в настройках dhcp пула используем hex запись для option 249 Пример: route 172.172.0.0/21 пишем hex: N байта: 1 2 3 4 5 6 7 8 hex: 15 AC AC 00 A8 A8 A8 A8 описание: байт 1 - hex маски (21dec -> 15 hex) байты с 2 по 4 - наша сеть байты с 5 по 8 - шлюз Обращаю внимание, что в RFC четко прописаноб сколько октетов сети нужно брать в зависимости от битовой маски! в итоге в конфиге будет выглядеть так ! ip dhcp pool POOL .... option 249 hex 15ACAC00A8A8A8A8 .... ! Если сетей нужно передать несколько, то аналогично переводим следующий маршрут и дописываем его. option 249 hex 15ACAC00A8A8A8A815A0AC00A8A8A8A9 передаст 2 маршрута: route 172.172.0.0/21 168.168.168.168 route 160.172.0.0/21 168.168.168.169 P.S. Работает только на WinXP и старше. По идее для dhcp клиентов поддерживающих 4 версию, это нужно передавать в опции 121 Цитата Итак, если мы хотим с помощью микротиковского DHCP сервера выдавать пользователям статические маршруты вместе с IP адресами, делаем следующее: 1. Настраиваем DHCP сервер через setup или руками. Затем создаём Option с кодом 249. Называем её как-нибудь. Внутри опции нам нужно в специальном формате описать все маршруты. Общий формат такой 0x{суффикс}{сеть без нулей на конце}{шлюз}{суффикс}{сеть без нулей на конце}{шлюз} и т.д. Все цифры в 16-ричной системе исчисления. Пример: 0x18AC100AAC1008FE18AC1009AC1008FE 18 - суффикс (/24) AC100A - сеть 172.16.10. AC1008FE - шлюз по-умолчанию 172.16.8.254 Соответственно то же самое со всеми следующими маршрутами. После этого для нужной Network указываете созданные в Options записи. Ну что же ... приступим к конфигурированию firewall'а (DFL-210). Допустим что нам нужно дать пользователям маршрут в подсеть 192.168.0.0/24 через шлюз 172.31.1.2 и в подсеть 10.111.111.0/24 через шлюз 172.31.1.2. Строка hex параметра опции 249 в данном случае будет выглядеть так: Код 18c0a800ac1f0102180a6f6fac1f0102 Заносим ее в конфигурация DHCP сервера DFL-210: Чтобы не мучиться каждый раз с ручным переводом IP адресов и масок подсетей в hex вид можно воспользоваться удобным скриптом: http://compkaluga.ru/rfc3442/ (с) rfc3442-calculator.com, который генерирует DHCPd Config и Cisco (ASA) Config, но вполне пригодится и для наших целей. Скрипт поддерживает DHCP опции 249 и 121. ![]() - исходный код скрипта. -------------------- |
|
|
||
![]()
Сообщение
#2
|
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 14349 Регистрация: 12.10.2007 Из: Twilight Zone Пользователь №: 1 ![]() |
DHCP Custom Option, 249 и 121. Проблема с Android.
© http://itbase.org.ua/dhcp_for_android Цитата Есть у нас в компании WiFi настроенные как обычные точки доступа, и есть 2 DHCP сервера, которые обслуживают запросы на получение IP. DHCP сервера предоставляют VPN пользователям список маршрутов до особо ценных ресурсов (опция 121, Classless Static Routes, rfc3442). И появилась проблема - Android устройста коректно получают IP, DNS, но интернетом пользоваться не могут - нет шлюза по умолчанию. Гугление сначало помогло найти причину проблемы, а потом и её решить (первоисточник): http://tools.ietf.org/html/rfc3442#page-5 "If the DHCP server returns both a Classless Static Routes option and a Router option, the DHCP client MUST ignore the Router option." To fix your DHCP daemons to provide your default gateway with the rest of your option 121. Т.е. решением является добавление в настройки опции 121 маршрута по умолчанию к вашему шлюзу (0.0.0.0/0 <Ваш шлюз>) Была аналогичная проблема. Устройства Android (не все, некоторые работали нормально) получая маршруты от DHCP сервера не видели основной шлюз. Включение маршрута 0.0.0.0/0 через основной шлюз в Custom Option 249 решило проблему. -------------------- |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 23.6.2025, 16:04 | |
|