2 заметки с тегом

Сети

MikroTik и OpenVPN

11 декабря 2012, 22:14

Есть у нас в офесе VPN. Точнее, между 40 офесами. По мере роста сети всплыла грабля — некоторые удалённые (и отсталые) провайдеры грешат packet reordering. Что напрочь сносит крышу модулю, ответственному за реализацию MPPC/MPPE в mpd5. Симптомы при этом такие — туннель визуально жив, и по нему спокойно ходят LCP-пакеты, но вот трафик уже не ходит. В логах mpd при этом наличествуют сообщения:

ng_mppc_decompress: too many (4094) packets dropped, disabling node

Если вы такие обнаружили — знайте, это вилы. Надо валить. Потому что не лечится никак. Хотя вот эксперимент показал, что с микротика на микротик такой же канал, с MPPC/MPPE держится нормально. Т. е. микротиковцы в RouterOS этот вопрос решили. Но ни фря, ни линукс в качестве VPN-сервера с packet reordering бороться не умеют. В связи с чем было принято волевое решение проблемных клиентов перевести на OpenVPN. По той же схеме — сервер на FreeBSD, клиенты — микротики RB750.

Спустя некоторое время вдумчивого курения манов и некоторого количества глупых вопросов в ru_root наступило просветление и я принялся ваять конфиги сервера и создавать сертификаты. Создав всё, начал терзать первого проблемного клиента, отключив L2TP-линк на нём и создав клиентский интерфейс OpenVPN. Ну, момент истины, нажимаю «Apply» в настройках openvpn-интерфейса на микротике, и... теряю связь с объектом вообще. А он километров за 600 от меня.

Сначала грешил на то, что забыл убрать галку Add default route у openvpn-интерфейса. Проверил на тестовом роутере — ни фига, по умолчанию эта галка отсутствует. А шо же за ботва? Повторяю процедуру на тестовом роутере, подключившись к нему по локалке, и... теряю связь уже с тестовым роутером. Правда, как-то странно — winbox не отвалился, но списка интерфейсов получить не удаётся, выдаётся ошибка «out of index». Странно. Однако роутер частично подконтролен — его удаётся перезагружать. И если всё сделать очень быстро, то openvpn-интерфейс подняться ещё не успевает, и его можно отключить. Тогда роутер остаётся на связи и можно им рулить.

В общем, практика показала, что в RouterOS, зашитых в наших микротиках (v4.11) есть суровый баг. Который приводит к тому, что при поднятии openvpn-интерфейса у роутера сваливается WAN-интерфейс в несознанку, и тянет за собой что-то ещё. Только проапгрейдившись до версии 5.21 удалось нормально создать связь по OpenVPN с микротиком. И ещё одно западло в микротиках — они не умеют openvpn по UDP, только TCP. Что заметно снижает скорость, по сравнению с L2TP — так раза в полтора.

FreeBSD   Mikrotik   VPN   Сети

Настройка MikroTik под Корбину

19 января 2011, 15:40
Поскольку грёбаная корбина извращённо создаёт pptp/l2tp соединения, с настройкой их интернета НЕ под виндой перманентно возникают грабли. Из-за того, что корбина в качестве дальнего конца туннеля подставляет адрес их VPN-сервера, каковой и делается шлюзом по умолчанию, то при подъёме туннеля пакеты VPN пытаются идти не по локалке, как должны, а внутри самого туннеля. Из-за этого соединение рвётся. Я с этим научился бороться на FreeBSD с помощью статических маршрутов к VPN-серверам и правки на ходу шлюза по умолчанию после подъёма соединения.

В конторе купили маршрутизаторы MikroTik RB750. Мега-вещь, кстати. И надо их как-то настроить, чтобы они раздавали интернет корбиновский в офисе. Но сходу фокус не прокатил, в силу описанных выше причин. Поиск по интернету привёл к очень толковой методичке, разработанной неким ООО «Виджет-Про». За что выражаю им благодарность перед строем с занесением в карму.

От себя добавлю, что нужно также в настройках dhcp-клиента на WAN-интерфейсе убрать галку «Add default route», иначе в системе получалось два машрута по умолчанию, и хотя VPN не отваливался, но интернета всё равно не было.