Облачное хранилище

Настройка L2TP Интернет от Belline на RouterOS Mikrotik

mikrotik-LogoВступление:

Собрал статью по подключению L2TP Интернет от Belline на RouterOS Mikrotik по кусочкам в Интернет (за что спасибо ВСЕМ авторам статей, коими я воспользовался) только с целью систематизации и создания инструкции “все в одном”. 1340765995_bilaynРоутер Mikrotik не для людей, которые с компьютерами на Вы и не понимают основ TCP-IP, это сложная (только на первый взгляд) штука, но очень продвинутая и надежная, поэтому так полюбившаяся многим.  В инструкции-памятке обозначены все особенности подключения к L2TP от Beeline и “забыты” стандартные настройки (вроде wifi). Если роутер “эконом” класса (бюджетный) – он имеет в себе стандартные настройки, КРАЙНЕ рекомендую их сбросить полностью и настроить с “чистого листа”.

Установление соединения с Сетью у данного провайдера разбивается на несколько этапов.

  • Получить на интерфейс IP-адрес из локальной “серой” сети 10.0.0.0/8.
  • Выяснить IP-адрес ближайшего “серого” маршрутизатора. В моём примере он будет равен “10.46.8.1”.
  • Прописать статические маршруты до VPN-терминаторов Билайна, DNS-серверов и внутренних ресурсов через серый маршрутизатор. В противном случае после установления L2TP-тоннеля Default Gateway “улетит” на удаленный внутренний конец PPP-линка, и наше устройство потеряет внешний удалённый узел для поддержания собственно тоннеля.
  • Настроить L2TP-клиент и запустить его.

В процессе возникает несколько сложностей.

  1. Билайн заточен исключительно под Win-клиентов, поэтому отдает статические маршруты в DHCP-опции номер 249. Linux-системы и Mikrotik её не понимают.
  2. Но даже если и понимали бы, то нас всё равно это не спасет. Потому что маршрутов до VPN-терминаторов и DNS-серверов Билайн по DHCP всё равно не выдает. И если с последними всё ещё более-менее понятно, то вот список первых приходится выяснять методом научного тыка, так как никакой документации провайдер своим клиентам, конечно же, не предоставляет.
  3. Билайн балансирует нагрузку между своими VPN-терминаторами методом round-robin при помощи DNS. При этом в Nslookup-запросах он, конечно же, не раскрывает полный список всех возможных терминаторов, рассекречивая их по одной-две штуки с TTL=10 секунд. Что усложняет поиск подсетей, в которых содержатся оные терминаторы.
  4. В RouterOS до 6-й версии не было возможности прописывать для удаленной стороны FQDN-имя, они понимали только IP-адрес. Что, разумеется, рушило возможность билайновкой балансировки. Поэтому приходилось прикручивать скрипты, которые раз в N секунд ресолвили имя “tp.internet.beeline.ru” и соответствующим образом изменяли настройки L2TP-клиента. После выхода в свет 6-й версии прошивки данная проблема отпала. Теперь там можно прописать FQDN (“tp.internet.beeline.ru”) и не мучиться.
  5. При поднятии L2TP/PPP-сессии в качестве удаленного внутреннего конца тоннеля Билайном выдается IP-адрес его же внешнего конца. Винда яки свинья хавает это без проблем, а вот нормальным системам от такого финта ушами тут же сносит крышу. Поэтому приходится ручками выставлять в настройках тоннеля что-нибудь произвольное, но отличное от того что предлагает провайдер.

Итак, сами настройки с картинками. Я знаю, что достаточно привести здесь цитаты консольных команд, но сам люблю админить микротики из WinBox-а. Оно так нагляднее, что ли…

  1. В настройках DHCP-клиента выключаем модификацию Default Route. Mikrotik — не винда, маршрут по умолчанию через серый гейт ему не только не полезен, но и вреден.
  2. Добавляем статические маршруты до 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
  3. Создаем новый 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
  4. Создаём само 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=
  5. В принципе, это всё. Осталось только задействовать маскарадинг (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!

  6. Но после такой настройки я столкнулся с проблемой некоторых не открывающихся сайтов. Проблема решается переключением “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 и т.п. по вашему вкусу! Если увидели ошибку, недочет или есть дополнения – напишите, не держите в себе, этим Вы поможете другим пользователям!