Перейти к содержимому
Калькуляторы

Microsoft DHCP сервер, опция 249 и 121.

Уважаемые гуру, доброго Вам времени суток.

 

Предыстория:

Встала задача собрать VPN сервер, работающий по протоколу L2TP over IPSec,

на основе CISCO 2811. Причём как для подключения старых ОС Windows (XP),

так и более поздней линейки. Большого труда это не составило, всё заработало,

используя разный тип шифрования. Если кому-то будет интересен конфиг, напишите,

выложу его здесь.

 

В качестве DHCP сервера для VPN клиентов, выступает Windows 2008 R2 сервер.

Маршрутизатор перебрасывает Unicast запросы DHCP серверу и всё прекрасно работает.

 

Собственно суть проблемы:

Возникла необходимость передачи статических маршрутов на сторону клиента.

 

В MS Windows 2003 сервер, была опция DHCP "249", передающая ОС Windows XP

статические маршруты (синтаксис был человеческим, и не выглядел в виде абракадабры HEX).

Насколько я понял, в Windows 2008 R2 сервер, эта опция была заменена на DHCP "121", для

более поздних линеек ОС. Windows XP опцию DHCP "121" игнорирует, а в самом DHCP сервере

Windows 2008 R2 опция DHCP "249" отсутствует.

 

Возможно, её можно прописать вручную, в качестве строкового параметра, но как говорится

«Буратино был тупой» (в силу посредственного знания M$ Windows сервер) и не совсем понятно

как это сделать. Получается, что надо использовать совместно две опции DHCP "249" и "121"

для разных типов клиентских систем?

 

Опцию DHCP "249" насколько я понимаю, всё равно придётся указать в коде HEX. Может,

существует калькулятор для подобного расчёта?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тут есть нюанс: 1 (в конце есть калькулятор), 2.

В ранних версиях Windows для передачи маршрутов использовалась опция 249, содержимое которой формировалось по определенному алгоритму.

Для остальных устройств (и, кажется, для последних версий Windows) используется опция 121, содержимое которой формируется в соответствии с RFC.

Но на определенных версиях Windows принимается опция 121, но ее содержимое ожидается в формате опции 249.

 

Скорее всего тут должно быть какое-то решение.

Но я спустя некоторое время отказался от dual access pppoe (dhcp + pppoe) и забыл про эту проблему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может проще на стороне клиента запускать сценарий, который поднимет vpn и пропишет нужные маршруты через него. Вряд ли сложно получится. Да и в старых системах XP, большинство пользователей под административными правами сидят - маршруты прописать получиться без предупреждений UAC более поздних систем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может проще на стороне клиента запускать сценарий, который поднимет vpn и пропишет нужные маршруты через него. Вряд ли сложно получится. Да и в старых системах XP, большинство пользователей под административными правами сидят - маршруты прописать получиться без предупреждений UAC более поздних систем.

Dmp.user, доброго Вам времени суток.

 

Конечно же, так проще, но как пелось в песне пионерского отряда – «Нет, мы легких путей не искали»,

тем более схема собрана и вполне работоспособная, осталось только разобраться с настройкой M$ DHCP

сервера под Windows 2008 R2.

 

Если по существу, то планировалось создать VPN сервер, имеющий минимальные настройки с клиентской

стороны и достаточно защищённый (L2TP+IPSec) протокол. К сожалению, не всегда есть возможности передать

конечным пользователем, какой либо сценарий или заранее сконфигурированный пакет, поэтому например

попытка использования OpenVPN, даже не рассматривалась.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ггг

велкам: http://netlab.dhis.org/wiki/ru:software:perl:dhcp_server

db_get_routing

Если кратко то: если в запросе от клиента в списке опций есть 121 то писать маршруты надо туда.

Если 121 опции нет, то нужно посмотреть есть ли там 249.

Если опций 121 и 249 нет то нужно посмотреть опцию 33, в неё можно писать маршруты только до хостов - /32 маска прибита гвоздями.

 

Формат 121 и 249 - один и тот же. У опции 33 формат отличается.

Посмотреть как формируются 121 и 249 можно в mk_classless_routes_bin_mask.

Опция 33 пакуется прямо в db_get_routing: IP_DST,IP_GW засовываются в пакет и всё.

 

 

Касательно маршрутов.

Если у тебя все маршруты идут через твой впн сервер то на нём и пропиши их.

 

Для остальных устройств (и, кажется, для последних версий Windows) используется опция 121, содержимое которой формируется в соответствии с RFC. Но на определенных версиях Windows принимается опция 121, но ее содержимое ожидается в формате опции 249.

Впервые такое слышу.

Где описаны различия и в чём они заключаются?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Касательно маршрутов.

Если у тебя все маршруты идут через твой впн сервер то на нём и пропиши их.

 

Ivan_83, доброго Вам времени суток.

 

Да, все маршруты идут через маршрутизатор (VPN сервер), но задумка такова, что бы

со стороны клиента можно было отключить «Использовать основной шлюз по умолчанию».

 

Тем самым избегая прохождения трафика клиента в публичный Интернет через построенный

VPN тоннель.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

С настройкой OpenVpn простому пользователю справиться сложно, да. Но они же настраивают обычный VPN - инструкцию ведь даете, учетку для входа. Даже галку снять, чтобы по-умолчанию весь роутинг в VPN не пошел - тоже нужно знать, где это в настройках зарыто. Для простоты можно и обычный батник в несколько строк вместе с учеткой отдать и никаких пакетов, которые нужно ставить и настраивать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за ссылку, обязательно посмотрю, так как сам очень люблю UNIX системы (в частности FreeBSD).

Но, к сожалению, в рамках данного поста мне необходимо попробовать реализовать данную схему именно

за счёт M$ DHCP сервера (даже не средствами самого маршрутизатора). Проще говоря, это связано с

административным ограничением, DHCP сервер находится в ведении "Windows системных администраторов"

и никакого UNIX они не признают.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, все маршруты идут через маршрутизатор (VPN сервер), но задумка такова, что бы со стороны клиента можно было отключить «Использовать основной шлюз по умолчанию».

Кстати, может пригодится: http://netlab.dhis.org/wiki/ru:software:win:rras:conn_import_export

Удобно раздавать этим настроенные соединения, остаётся только логин/пароль вбить.

 

Но, к сожалению, в рамках данного поста мне необходимо попробовать реализовать данную схему именно за счёт M$ DHCP сервера (даже не средствами самого маршрутизатора). Проще говоря, это связано с административным ограничением, DHCP сервер находится в ведении "Windows системных администраторов" и никакого UNIX они не признают.

Тогда придётся ручками генерить маршруты и забивать их в базу дхцп сервера, ну или как то автоматизировать это.

Могу ещё попробовать dnsmasq собрать под венду попробовать, но не уверен что там без портирования соберётся. )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.