klink0v (klink0v) wrote,
klink0v
klink0v

Приколы с IP-линком Мегафона

Сегодня случайно обнаружил интересную особенность Мегафона. Если он обнаруживает в беспроводном линке какие-то "левые" пакеты (например, на 192.168.x.x), то просто на какое-то время выключает канал. А произошло у меня вот что.

Я включаю разные удалённые точки-офисы в единую сеть через OpenWRT-маршрутизаторы, которые прицепляются к "центральному" серверу в датацентре при помощи OpenVPN. На том же OpenWRT крутится DnsMasq, который играет роль в том числе кеширующего DNS-сервера и DHCP Relay для моих "выносов". А адреса конечным устройствам раздаёт виндовый DHCP-сервер в датацентре, который заодно регистрирует их в доменном DNS-е. Так нравится нашему виндузятнику. Штоб усё было "под контролем".

Там, где нет нормального проводного интернета, для выхода в Сеть я использую мегафоновские SIM-карты. Которые сую в модемы имени Huawei, подключённые к OpenWRT. И до поры до времени всё работало вполне неплохо. А потом началась какая-то тошнота, OpenWRT-точки начали "отваливаться", после чего не выходили обратно на связь.

И вот что удивительно. Останавливаешь демон DNSMasq — связь есть. Запускаешь DNSMasq — связь пропадает. Опять тормозишь — через несколько секунд пинги начинают ходить. Что за фигня?

Выяснилось вот что. Пока VPN ещё не поднялся, DHCP и DNS-запросы от DNSMasq к вышестоящему серверу уходят в WAN. Мегафон видит у себя в сетях какие-то "подозрительные" пакеты на "непонятные" адреса и временно "опускает" канал. Из-за этого тоннели не могут стартовать. Поэтому таблица маршрутизации не перестраивается, "серые" пакеты продолжают уходить в WAN, провайдер по-прежнему блокирует канал, круг замкнулся. И вроде бы модем исправен, к APN подключен, индикатор сигнализирует о наличии соединения, но ничего не работает.

Выхода из данной ситуации может быть два, на выбор. Первый - не очень красивый.

10-ую серую сеть "банить" нельзя, потому что ей принадлежит адресное пространство самого "Мегафона". Метод не рекомендован к применению, поскольку фактически фильтровать при помощи правил маршрутизации есть моветон. Плюс утилита "ip" по умолчанию в OpenWRT отсутствует, да и придётся разбираться в какое бы место воткнуть эти команды на автозагрузку.

Второй выход немного более приличный, заключается в фильтрации методами iptables. По умолчанию WAN-зона в OpenWRT носит одноименное название. Если вы его не меняли, то заклинания будут выглядеть так.

Эти правила можно добавить в "/etc/firewall.user", так что они будут применяться при каждом запуске файрволла.

После вышеописанных ударов в бубен проблема решилась. Всё снова начало работать на расчётных скоростях, тошнота прекратилась. Интересно только, когда Мегафон успел внедрить подобную "защиту". Раньше я ничего подобного не делал, и всё было нормально.

Tags: it, linux, openwrt, Мегафон, ОПСОСы, администрирование, грабли, сети
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 9 comments