Хабрахабр

[Из песочницы] Душевный Mikrotik против бездушного РКН и такого же провайдера

Статья описывает способ получения доступа к ресурсам ошибочно попавшим под раздачу плюшек Роскомндзором (далее РКН). Именно ошибочно попавшим. Мы законопослушные граждане и не ходим туда куда нам запрещают наши госорганы. Так что если вдруг вы решите воспользоваться способом для того что бы пойти на какие то “законно” заблокированные ресурсы, суровый меч правосудия возможно взметнется над вашей головой и я в этом не виноват, поскольку вот прямо сейчас я вас предупредил!
Проблема возникла совершенно неожиданно, когда наш центральный офис переехал в другое место и как следствие сменил провайдера. Сотрудники в массовом порядке начали жаловаться мне, что не могут заходить на те сайты, куда раньше доступ у них был. При этом с других наших офисов, сидящих на других провайдерах, сайты по прежнему были доступны.

Некоторое время из-за хлопот с переездом проблему я игнорил, но когда начала жаловаться бухгалтерия (у вас же бухгалтерия тоже по значимости на 1 месте после руководства фирмы?), пришлось разбираться.

Но с ними, к счастью, все оказалось в порядке. Первым делом подозрение пало на проблемы с MTU и MSS. Пооткрывал сайт через шлюзы других филиалов (3 разных провайдера), открывается. Пробил проблемный домен по базе РКН, тоже ОК, домен чист. И тогда я догадался пробить через РКН IP проблемного домена. Но через нашего провайдера к IP домена даже пинги не идут. Вы же уже догадались, что IP-таки в базе оказался?

и т.п., спросите вы. Но где же тогда редирект на страницу с указанием на то что данный ресурс заблокирован и т.д. Сначала правда попробовал открыть несколько сайтов, где раньше, когда было можно, мы все искали что бы посмотреть или скачать. И я спросил. И убедившись, что нет никаких предупреждений о блокировке и на этих сайтах, я позвонил провайдеру.

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

Мол, мы соблюдаем требование по блокировке, а требований по уведомлению нет. Посочувствовал моей ситуации, но что-то исправлять отказался. На чем мы и попрощались.

Примерно ту да же куда я в душе послал провайдера с его интернетом, туда где солнышко не светит. Конечно, у меня возникло желание прободаться с провайдером, но лень и отсутствие свободного времени это желание затолкали глубоко.

В качестве шлюзов-маршрутизаторов у нас на фирме используются Микротики, не важно какие, Роутер ОС у всех одинаковая. Проблему же надо было как-то решать. При этом маршрутизируя заблокированный трафик на те шлюзы, где никаких блокировок нет. Покопавшись на Хабре, нашел несколько статей о том как обходить блокировки РКН, генерируя и загружая базу РКН в Микротик. Работает, но не устраивает.
Во первых объем базы в 60000 ip (на начало лета 2019г), отправлял мой Микротик в глубокую кому. Ради интереса попробовал этот способ. Роутер ОС CHR c большим объемом памяти и несколькими ядрами чувствовала себя несколько лучше но давала понять что при таком добросовестном отношении РКН к своим обязанностям и ее хватит не на долго.

Что меня как законопослушного гражданина так же не устраивало. Во вторых, доступ получался ко всем заблокированным ресурсам в том числе и тем, которые заблокированы на “законных” основаниях.

Но сама идея направлять к разрешенным сайтам трафик через те шлюзы где он не блокируется засела в моем сознании.

Что же мы можем для этого сделать?

Не вариант, у ресурса может быть несколько ip и они могут меняться, иногда часто. Первое что приходит на ум выяснить ip ресурса и определить для него шлюз в роутинге. Устанешь добавлять.

Уже лучше, но у Layer 7 есть неприятная черта. Второе, парсить IP по средствам Layer 7 в фаерволе, занося их в адрес лист. В результате чего в семье начинаются ссоры, скандалы и прочие неурядицы. Если правил несколько то он начинает относиться к ресурсам процессора примерно так же как некоторые жены относятся к зарплате своего мужа.

Направлять вообще весь трафик через удаленный шлюз, так же пагубно.

Оказывается Микротики с некоторых пор научились парсить IP домена прямо из его имени в адрес листе, добавляя IP в тот же лист! К счастью на сентябрьском MUM один из докладчиков открыл страшную тайну. Вооружившись полученной информацией я наконец решил задачу.

Ниже пример решения:

Создаем в фаерволе адрес лист с нужным доменом. 1.

alist.png

В Firewall\Mangle создаем правило, chain:prerouting, advanced: Dst. 2. Address list= имя нашего листа, action:mark routing, New Routing Mark=имя марки

Yes

Yes

Yes

Идем в IP\Routes. 3. Dst Address=0. Создаем новый маршрут по умолчанию. 0. 0. 0/0, Gateway= ip шлюза, Routing Mark=ваша марка

route.png

Теперь ваш Микротик будет парсить ip нужного домена в тот адрес лист, который вы для этого придумали, маркировать маршруты к этому ip и отправлять их через тот шлюз, который вам нужен. На этом все. Смайл. У вас же есть резервный шлюз?

45. Делалось на прошивке 6. 5

Спасибо за внимание.

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»