Настройка VPN от Магинфо на роутере DLink DIR-300 rev.B1 с прошивкой DD-WRT

Родная прошивка у распространённого в наших краях WiFi-роутера (точки доступа) DLink DIR-300 весьма глючная, так что многие предпочитают заменить её на прошивку DD-WRT. Только вот в настройке VPN от Магинфо в DD-WRT есть пара неочевидных моментов.

Важно. Речь здесь идёт только об одной конкретной модели устройства — «DLink DIR-300», причём именно в ревизии B1.

Установка DD-WRT на этот роутер описана, например, здесь. Настройка VPN от Магинфо на другой модели роутера DLink описана здесь (доступно только из сети Магинфо).

Предупреждение. Последняя имеющаяся сейчас на dd-wrt.com версия прошивки (14896) содержит кривой pptp-клиент, при запуске он вываливается с Segmentation Fault. Так что эту версию скачивать не надо, берём предыдущую (14311) или следующую, когда эти следующие версии появятся.

Настройка VPN в dd-wrt включает следующие шаги:

  1. Прописать общие настройки VPN (адрес сервера, логин, пароль итп);

  2. Добавить нужные записи в таблицу роутинга;

  3. Удалить одну ненужную, но появляющуюся по умолчанию запись из таблицы роутинга;

  4. Прописать в конфигурационный файл pptp пару неочевидных опций, специфичных для Магинфо.

Общие настройки

В веб-интерфейсе роутера идём на вкладку «Services | VPN», там ставим переключатель «PPTP Client Options» в положение «Enable», и прописываем остальные опции:

Server IP or DNS Name.

Адрес VPN-сервера. У нас это vpn.mgn.ru.

Remote Subnet, Remote Subnet Mask.

Оставляем по умолчанию (0.0.0.0).

MPPE Encryption.

Параметры шифрования MPPE. В упомянутой выше статье на wiki.mgn.ru предлагается сюда вписать «mppe required,no40,no56,stateless».

MTU, MRU.

Похоже, оптимальные значения зависят от конкретных роутеров, находящихся между вами и VPN-сервером. Я сейчас выставляю 1500, работает. Когда-то приходилось выставлять 1300, чтобы добиться нормальной работы сети. Замечание. Веб-интерфейс сильно умный и, согласно стандартам, не даёт выставлять здесь значения больше 1500. Между тем, при некоторых условиях может понадобиться указать MTU и MRU равными 1512 (разъяснено, например, здесь).

NAT.

Оставляем по умолчанию (Enable).

User Name, Password.

Логин и пароль вашего VPN-соединения.

Ну и жмём Save. Пытаться делать Apply сейчас бесполезно, всё равно не заработает.

Добавляем нужные роуты

В веб-интерфейсе идём на вкладку «Setup | Advanced Routing» и добавляем следующие роуты:

  1. 79.134.0.0 netmask 255.255.255.252 gw YOUR_GATEWAY.

  2. 192.168.55.32 netmask 255.255.255.224 gw YOUR_GATEWAY;

Здесь YOUR_GATEWAY — это IP вашего шлюза. В параметре «Interface» для обоих роутов выставляем «WAN», метрику оставляем 0.

Немного плясок с бубном

В веб-интерфейсе роутера идём на вкладку «Administration | Commands», и в качестве Startup-комманд вписываем следующее заклинание:

(while [ ! -f /tmp/pptpd_client/options.vpn ]; do sleep 10; done
route del default dev vlan2
sed -e 's/lcp-echo-failure 3/lcp-echo-failure 5/' -e 's/lcp-echo-interval 2/lcp-echo-interval 30/' /tmp/pptpd_client/options.vpn > /tmp/pptpd_client/temp.vpn
cp /tmp/pptpd_client/temp.vpn /tmp/pptpd_client/options.vpn )&

Здесь происходит следующее. При запуске роутера ждём, пока появится файл /tmp/pptpd_client/options.vpn (это актуальный конфиг pptp, формируемый скриптом на основе шаблона, лежащего где-то в /etc). Когда он появился — это означает, что pptp-клиент вот-вот запустится. В этот момент удаляем дефолтный маршрут через ваш шлюз (правда, это можно делать и в самом начале скрипта) и с помощью sed-а правим конфиг pptp, а именно, указываем там опции lcp-echo-failure 5 и lcp-echo-interval 30.

Такой неочевидный способ сделать вроде бы простые вещи (удалить маршрут и поправить пару строчек в конфиге) вызван тем, что 1) в веб-интерфейсе не предусмотрено способа удалить маршрут, можно только добавить, 2) в веб-интерфейс вынесены далеко не все настройки pptp-клиента, при этом 3) шаблонный конфиг pptp находится на read-only файловой системе, а актуальный формируется только при запуске.

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

Если кто-нибудь предложит способ сделать всё то же самое прямее, буду очень благода.

09.02.2011 - 09:47
У меня на Netgear JWNR-2000 гораздо проще настраивается
01.06.2011 - 19:44
Необходимо обновить инструкцию в соответствии вот с этим:
http://forum.mgn.ru/viewtopic.php?f=9&t=29653
RSS-материал RSS-материал