Вступление:
Собрал статью по подключению L2TP Интернет от Belline на RouterOS Mikrotik по кусочкам в Интернет (за что спасибо ВСЕМ авторам статей, коими я воспользовался) только с целью систематизации и создания инструкции «все в одном». Роутер Mikrotik не для людей, которые с компьютерами на Вы и не понимают основ TCP-IP, это сложная (только на первый взгляд) штука, но очень продвинутая и надежная, поэтому так полюбившаяся многим. В инструкции-памятке обозначены все особенности подключения к L2TP от Beeline и «забыты» стандартные настройки (вроде wifi). Если роутер «эконом» класса (бюджетный) — он имеет в себе стандартные настройки, КРАЙНЕ рекомендую их сбросить полностью и настроить с «чистого листа».
Установление соединения с Сетью у данного провайдера разбивается на несколько этапов.
- Получить на интерфейс IP-адрес из локальной «серой» сети 10.0.0.0/8.
- Выяснить IP-адрес ближайшего «серого» маршрутизатора. В моём примере он будет равен «10.46.8.1».
- Прописать статические маршруты до VPN-терминаторов Билайна, DNS-серверов и внутренних ресурсов через серый маршрутизатор. В противном случае после установления L2TP-тоннеля Default Gateway «улетит» на удаленный внутренний конец PPP-линка, и наше устройство потеряет внешний удалённый узел для поддержания собственно тоннеля.
- Настроить L2TP-клиент и запустить его.
В процессе возникает несколько сложностей.
- Билайн заточен исключительно под Win-клиентов, поэтому отдает статические маршруты в DHCP-опции номер 249. Linux-системы и Mikrotik её не понимают.
- Но даже если и понимали бы, то нас всё равно это не спасет. Потому что маршрутов до VPN-терминаторов и DNS-серверов Билайн по DHCP всё равно не выдает. И если с последними всё ещё более-менее понятно, то вот список первых приходится выяснять методом научного тыка, так как никакой документации провайдер своим клиентам, конечно же, не предоставляет.
- Билайн балансирует нагрузку между своими VPN-терминаторами методом round-robin при помощи DNS. При этом в Nslookup-запросах он, конечно же, не раскрывает полный список всех возможных терминаторов, рассекречивая их по одной-две штуки с TTL=10 секунд. Что усложняет поиск подсетей, в которых содержатся оные терминаторы.
- В RouterOS до 6-й версии не было возможности прописывать для удаленной стороны FQDN-имя, они понимали только IP-адрес. Что, разумеется, рушило возможность билайновкой балансировки. Поэтому приходилось прикручивать скрипты, которые раз в N секунд ресолвили имя «tp.internet.beeline.ru» и соответствующим образом изменяли настройки L2TP-клиента. После выхода в свет 6-й версии прошивки данная проблема отпала. Теперь там можно прописать FQDN («tp.internet.beeline.ru») и не мучиться.
- При поднятии L2TP/PPP-сессии в качестве удаленного внутреннего конца тоннеля Билайном выдается IP-адрес его же внешнего конца. Винда яки свинья хавает это без проблем, а вот нормальным системам от такого финта ушами тут же сносит крышу. Поэтому приходится ручками выставлять в настройках тоннеля что-нибудь произвольное, но отличное от того что предлагает провайдер.
Итак, сами настройки с картинками. Я знаю, что достаточно привести здесь цитаты консольных команд, но сам люблю админить микротики из WinBox-а. Оно так нагляднее, что ли…
- В настройках DHCP-клиента выключаем модификацию Default Route. Mikrotik — не винда, маршрут по умолчанию через серый гейт ему не только не полезен, но и вреден.
- Добавляем статические маршруты до DNS-серверов и в сети с провайдерскими VPN-терминаторами. В моем примере Gateway=»10.46.8.1″, в вашем случае он будет другим. Выясняется подключением машины с виндой и командой в cmd «route print» вот таким образом:
Из всего этого безобразия-многообразия реально нам реально нужны маршруты только в четыре сети:
85.21.0.0/24 78.107.1.0/24 85.21.192.3/32 213.234.192.8/32
Первые две — подсети с VPN-терминаторами (справедливо только для Москвы, для других городов выясняйте самостоятельно). Вторые две — DNS-сервера (также справедливо только для Москвы). Остальные маршруты имеет смысл прописывать в случае, если вам нужны внутренние ресурсы локальной сети (DC, торренты, видеосервера и т.п.). Итак, добавляем четыре вышеупомянутых маршрута в роутер.
Остальные нужные маршруты допишутся сами если добавить в настройку: /ip dhcp-client option add code=55 name=parameter_request_list value=0x01F90321062A /ip dhcp-client add dhcp-options=hostname,clientid,parameter_request_list
- Создаем новый PPP-профиль. Называем его как-нибудь понятным образом. В поле «Remote Address» указываем любой адрес из приватного пространства, не пересекающийся с адресами нашей локальной сети и сети провайдера. Я совершенно «от балды» выбрал «192.168.255.254», это не играет никакой роли. Опцию «Change TCP MSS» ставим в «yes». UPDATE: change ставим в «NO»!
/ppp profile add change-tcp-mss=yes name=beeline only-one=yes remote-address=192.168.255.254 use-compression=no use-encryption=no use-mpls=no use-vj-compression=no
- Создаём само L2TP-соединение «l2tp-beeline». В поле «Connect To» пишем FQDN-имя VPN-терминатора («tp.internet.beeline.ru»), «User» и «Password» — ваши логин и пароль по договору, в поле «Profile» указываем созданные на предыдущем шаге PPP-профиль, флаг «Add Default Route» взводим.
/interface l2tp-beeline add add-default-route=yes allow=chap connect-to=<span style="color: #242f33;">tp.internet.beeline.ru </span>default-route-distance=1 disabled=no keepalive-timeout=disabled max-mru=1414 max-mtu=1460 name=beeline password= profile=beeline user=
- В принципе, это всё. Осталось только задействовать маскарадинг (Masquerade) на обоих внешних интерфейсах (Ethernet-ном и PPP-шном) в правилах FireWall-а с целью трансляции сетевых адресов (sNAT)
ip firewall nat add out-interface=l2tp-beeline chain=srcnat action=masquerade ip firewall nat add out-interface=ether1-gateway chain=srcnat action=masquerade
(ether1-gateway — имя интерфейса, куда воткнут кабель от билайн) и можно пользоваться интернетом BeeLine через Mikrotik!
- Но после такой настройки я столкнулся с проблемой некоторых не открывающихся сайтов. Проблема решается переключением «Change TCP MSS» в «NO» (3 пункт) и этой командой:
ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn tcp-mss=1453-65535 action=change-mss new-mss=1360 disabled=no
Вот и все особенности! Остальное: firewall, wifi и т.п. по вашему вкусу! Если увидели ошибку, недочет или есть дополнения — напишите, не держите в себе, этим Вы поможете другим пользователям!