1. Главная страница » Компьютеры

Mikrotik обход блокировки telegram

Автор: | 16.12.2019

Официальный сайт Alexell

MikroTik — обход блокировки Telegram


Добрый день, уважаемые читатели блога и пользователи Telegram. Если у вас есть роутер MikroTik, то помощью этой статьи вы сможете настроить обход блокировки Telegram, а также любых других ресурсов.

Как известно, с 15 апреля провайдеры начали блокировку Telegram. На момент написания статьи, у меня уже недоступны все домены Telegram, но сам мессенджер пока еще работает. Если нас не интересует вопрос анонимности, а в нашем случае, нас интересует только обход блокировки, то платный VPN нам приобретать не обязательно. Например из постоянно нужных мне ресурсов на данный момент заблокированы только RuTracker и Telegram, поэтому мне нет смысла тратить деньги на VPN, к тому же я гоняю минимум по 500 Гб трафика в день через торрент-клиент, заворачивать весь трафик на VPN было бы неправильно, а ради обхода блокировки парочки сайтов платить за VPN я не хочу. Как обойти блокировку трекеров я писал в этой статье, а сегодня мы реализуем обход блокировки Telegram, направляя через VPN только соединения с Телеграм.

В принципе, если найдете живые socks прокси, вы можете просто вписать их в настройки Телеграм и пользоваться, но Роскомнадзор уже взялся за блокировку прокси, поэтому лучше все-таки использовать VPN. К тому же, если обход блокировки Telegram делать на MikroTik, мы не только обойдем блокировку сети Telegram, но также и всех доменов. Для обхода блокировки, нам хватит любого бесплатного PPTP/L2TP в Европе или Америке, коих в интернете полно. При желании вы можете использовать и платный VPN или вообще свой собственный, если он у вас есть. Дешевые VPS во Франции для поднятия своего VPN, вы можете посмотреть здесь.

Читайте также:  Game optimizing service samsung что это

Итак, данные для VPN подключения у вас на руках? Можем начинать настройку. Для ускорения процесса, я приведу пример настройки командами в терминале. Все что будет создано этими командами, вы сможете увидеть в соответствующих разделах WinBox.

Настраиваем обход блокировки Telegram в терминале MikroTik

1. Первым делом добавляем все подсети Telegram Messenger LLP в address-list:

Спойлер: После всей настройки ваш роутер будет забирать всегда свежие и обновленные адреса, которые блокирует РосКомНадзор и пускать траффик на эти адреса через ВПН, при этом весь основной траффик будет идти обычным каналом

Предисловие. Тем кому интересна только техническая часть могут пропускать смело.

Не так давно в России случилось весеннее обострение и РосКомНадзор (это регулирующий орган в России по работе интернет — прим. для нерезидентов) решил запретить Телеграм.

Телеграм делает нехороший человек (привет бросаниям 5000 купюр в Питере в толпу), но прекрасный специалист в области разработки программного обеспечения Павел Дуров, который из принципиальных соображений решил не уступать и бороться с блокировкой.

Видимо сложилась ситуация, при которой Павел Дуров внезапно оказался сильно умнее РосКомНадзора и в целом за все время блокировки телеграм так и не заблокировали. Он работает и сейчас, без всяких прокси или VPN сервисов. Однако самым эффективным методом борьбы был признан “А давайте заблокируем всех провайдеров, кто может помогать Павлу Дурову скопом”. не разбираясь РосКомНадзор начал блокировать целые подсети, в результате чего начали отключаться совершенно легальные сервисы, от школ английского языка до google. Сначала проблема казалась минимальной, а потом оказалось, что некоторые из сервисов настолько завязаны на современный интернет, что заблокировать сервисы примерно невозможно не поломав половину интернета.

В итоге заблокированными оказались сервисы 3dsecure (это когда карточкой платишь — надо смс из телефона ввести в сайт), а самое обидное — шрифты, которые все нормальные программисты брали с fonts.google.com. Ну и по дороге умерла Google Analytics и многое многое другое.

Скажу сразу — лично я не имею ничего против каких-либо блокировок или попыток поймать террористов. Я против того, что легитимные сайты пострадали совершенно без вины.

Приехав в офис в понедельник в 16 апреля 2018г я обнаружил, что IT отдел бегает в панике, а у нас не работает даже наш сайт, который хоть и занимается совершенно внутрироссийскими продажами, но шрифты использует гугловские. Быстрый анализ ситуации показал, что это мягко говоря невозможно. Шрифты перенесли, гугл аналитику отключили, сайт заработал. Но это не решало проблему того, что на чужие сайты мы ходить не можем на очень многие. Далеко не у всех вообще есть IT отдел и даже веб программист на быстром наборе, потому по многим направлениям работа встала.

Апогеем всего этого беспредела стала невозможность пользоваться сайтом zakupki.gov.ru, что говорило уже о серьезных потерях денег. В итоге было принято решение проблему обойти, по крайней мере на данный момент, пока весеннее обострение не кончится и в РосКомНадзор не завезут галоперидол.

Все наши сети построены на маршрутизаторах фирмы Mikrotik, в том числе как больших штук, типа таких, так и значительно более простых. Однако RouterOS на всех плюс-минус одинакова и работать это будет практически на любом продукте RouterBoard.

disclaimer: Первым делом хочется сказать, что я не IT специалист и не специалист в области сетей. Потому все что тут будет — оно дилетантское, но оно работает и доступно любому пользователю с руками из плечей и микротиком.

Итак у нас есть микротик и сеть, которая ходит через NAT в интернет. наша задача сделать так, чтобы по адресам, которые заблокировал РосКомНадзор мы ходили через другой канал связи (см. VPN), а по всем остальным ходил по основному каналу связи.

Шаг 1. Покупка и установка VPN

Мест, где можно купить VPS сервер в наше время очень много. Все зависит от ваших пожеланий и умению читать на иностранных языках. В любом случае рекомендую выбирать датацентр не очень далеко и который врядли заблокирует РосКомНадзор, то есть брать, например, Amazon или Google Cloud или Digital Ocean можно строго на свой страх и риск. Можно рассмотреть Hetzner или Aruba. Цена вопроса от 1 Евро в месяц (это я не пошутил). Можно взять за 5 Евро, а можно за 10. Смысл в том, чтобы там было достаточно траффика, точно не меньше 1Тб в месяц, но это предлагают по сути все провайдеры.

Покупаем VPS, операционная система Ubuntu 14. Поднять можно на чем угодно, просто Ubuntu роднее и удобнее лично мне.

После этого устанавливаем на нее pptp сервер. Инструкция взята отсюда. По факту инструкция такова. Получили логин-пароль, зашли через putty на сервер под root.

Вставляем внутрь файла вот этот вот скрипт:

echo “Выберите, что вы хотите сделать:”

echo “1) Настроить новый PoPToP VPN сервер И создать нового пользователя”

echo “2) Создать дополнительных пользователей (к уже существующему VPN)”

if test $x -eq 1; then

echo “Введите имя пользователя, которое нужно создать (н.п.. client1 or john):”

echo “Введите пароль для этого пользователя:”

ip=`ifconfig eth0 | grep ‘inet addr’ | awk <‘print $2’>| sed s/.*://`

echo “установка и настройка PoPToP”

apt-get install pptpd

echo “Создание конфигурации сервера”

cat >> /etc/ppp/pptpd-options /etc/pptpd.conf

echo “logwtmp” >> /etc/pptpd.conf

echo “localip $ip” >> /etc/pptpd.conf

echo “remoteip 10.1.0.1–100” >> /etc/pptpd.conf

# adding new user

echo “$u * $p *” >> /etc/ppp/chap-secrets

echo “Переадресация IPv4 и добавление этого в автозагрузку”

cat >> /etc/sysctl.conf /etc/iptables.conf

cat >> /etc/network/if-pre-up.d/iptables > /etc/ppp/ip-up > /etc/ppp/chap-secrets

echo “Дополнительный пользователь создан!”

echo “IP сервера: $ip, данные для доступа:”

echo “Имя пользователя (логин):$u ##### Пароль: $p”

echo “Неправильный выбор, выход из программы…”

Нажимаем CTRL+O (сохранить файл)
Нажимаем CTRL+X (выход из редактора)

Ну и запускаем скрипт

Скрипт задаст вопросы в стиле Установить? Точно? Вы уверены? Создаст логин и пароль и завершит работу. Если вам надо подключать два разных устройства (например работу и дом) — то в целом можно создать еще одного пользователя. Для этого ровно также как выше запускаем скрипт, но выбираем не п.1 — установка, а п.2 — добавление пользователей.

После всего этого вводим IP нашего VPS логин и пароль в виндовую внутреннюю “подключение к VPN” и проверяем что заходим и у нас есть интернет. Получается обычно с первого раза.

Шаг 2. Подключаем VPN к Mikrotik

Микротик штука очень простая, однако не всем все понятно сразу. Потому:

  1. PPP — New — PPTP Client
  2. Заполняем MTU (рекомендую 1400, можно в диапазоне с 1320 до 1420 смело поэкспериментировать)
  3. Заполняем IP нашего VPS
  4. Заполняем Логин
  5. Заполняем Пароль

Выглядеть это будет примерно так:

Обязательно, ВАЖНО, не ставить галочку Add Default Route

Интерфейс подключен, радуемся буковке R рядом с его названием.

Теперь надо объяснить микротику, для чего этот интерфейс будет использоваться.

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

В рамках данной публикации мне хотелось бы поговорить об одном из методов обхода блокировки сайтов со стороны провайдера на маршрутизаторах Mikrotik под управлением RouterOS.

Бывают такие ситуации, когда провайдер блокирует доступ к некоторым ресурсам. Зачастую, блокировка ресурсов осуществляется на базе URL, IP и DNS, многое, конечно же, зависит от типа и возможностей оборудования, применяемого самим провайдером.

Блокировка по IP – один из популярных методов, при котором запрет осуществляется на базе конечного IP-адреса ресурса, это также может быть диапазон IP или же несколько диапазонов (для очень больших проектов).

Блокировка по DNS сводится к запрету, исключению либо подмене конечного IP для заданного домена. По сути, данный метод блокировки обходится довольно просто, путем замены DNS провайдера на сторонние, к примеру Google DNS (8.8.8.8, 8.8.4.4), Yandex DNS (базовый: 77.88.8.8, 77.88.8.1; безопасный: 77.88.8.88, 77.88.8.2; семейный 77.88.8.7, 77.88.8.3) или любой другой, который вашей душе угоден.

Серьезные провайдеры могут использовать так называемый DPI (Deep packet inspection), который по-сути, является глубоким анализов пакетов. DPI способен блокировать ресурсы не только по IP или DNS, но и при использовании прокси-серверов (Proxy) или других незащищенных каналов передачи.

В случае с простой блокировкой IP, обход осуществляется без проблем при помощи любого прокси-анонимайзера или любого VPN.

В случае с DPI, всё куда более сложнее, т.к. система анализирует не только заголовки пакетов, конечного получателя и т.д., но и содержимое пакета, копаясь в передаваемых данных, тем самым может даже нарушать законодательство, если, конечно же, в пользовательском соглашении нет мелкого шрифта. Возможности DPI очень широки и при желании, провайдер может даже запретить вам использовать OpenVPN.

Сегодня мы не будем рассматривать все методы обхода всех видов блокировки, а лишь рассмотрим один из вариантов реализации обхода, который предложен в официальной документации Mikrotik (Policy Based Routing).

Предполагается, что заранее у вас уже должен быть маршрутизатор на RouterOS, если такого не имеется — по выгодной цене маршрутизаторы Mikrotik можно приобрести в интернет-магазине Gigahertz.

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

У данного метода существует ряд преимуществ. Одно из главных достоинств данного метода состоит в том, что вы будете использовать лишь часть пропускной способности VPN. Дело в том, что сервисы VPN обычно находятся далеко заграницей и каналы к ним сильно загружены, поэтому направляя через тоннель весь трафик, скорость доступа будет падать, причем как для заблокированных ресурсов, так и для всех остальных.

Из дополнительных преимуществ данного метода можно отметить отсутствие необходимости настройки VPN на всех клиентских устройствах, особенно если это смартфон. Хотя для смартфонов существует достаточное количество бесплатных приложений, реализующих необходимый функционал.

Есть у данного способа и недостаток – поиск оптимального VPN-сервиса, как вариант, покупка премиум-аккаунта.

Создание списка адресов (пример)

К примеру, у нас есть листинг из заблокированных адресов. В качестве примера у нас 4 списка: ВКонтакте, Одноклассники, Yandex и Mail.ru.

Все диапазоны в виде команд для Mikrotik, для простоты добавление. Некоторые спросят, а почему не объединить все ресурсы в один список? Ответ очень простой, при изменении всего одного интернет-ресурса, вы будете вынуждены пересматривать весь список, т.к. по одним подсетям вы ориентироваться будет сложно.

Адреса можно добавлять как вручную через терминал из WinBox > New Terminal.

Список подсетей для ресурсов ВКонткте

Либо предварительно загрузив в память микротика необходимые списки в виде командных файлов с разрешением RSC. Файлы в Mikrotik загружаются путем обычного петаскивания на окно WinBox > Files. Или же при помощи кнопки Upload, если Drag-n-Drop по каким-то причинам не работает. После чего импортируете списки командой:
Где vkcom.rsc — название файла со списком.

Список подсетей для ресурсов Яндекса (в т.ч. КиноПоиск)

Список подсетей для Одноклассники.ru

Список подсетей для ресурсов Mail.ru

Списки адресов находятся в разделе IP – Firewall – Address Lists.

Маркировка пакетов

Для того, чтобы отобрать только заблокированные ресурсы, необходимо найти и промаркировать необходимые пакеты. Делается это в IP – Firewall – Mangle.

При создании указываем следующие параметры:

dst-address-list=mailru (список адресов)

src-address=192.168.106.0/24 (локальная подсеть)

Вместо 192.168.106.0/24 необходимо указывать свою локальную подсеть, из которой будут идти обращения. Как несложно догадаться, dst-address-list это конечный адрес (из списка). Для всего трафика, удовлетворяющего данным условиям, будет установлена соответствующая метка Traffic_XXXXX.

Создание VPN-подключения

В качестве примера воспользуемся бесплатным сервисом VPN PPTP – SuperFreeVPN. Для примера выберем сервер, расположенный в Лондоне (Великобритания) – IP 77.92.68.65 (uk.superfreevpn.com), логин free, пароль 1891. Обратите внимание, тип подключения PPTP либо L2TP. Минусом конкретно данного сервиса является то, что он постоянно меняет пароли для подключения к серверу, мы же используем его исключительно в качестве примера.

Создание подключения к VPN осуществляется в разделе PPP – Interface, нажимаем синий плюс и выбираем необходимый тип подключения.

Важно! Не используйте опцию «Add Default Route», в противном случае весь трафик пойдет через VPN.

Обратите внимание, некоторые серверы могут, как требовать шифрование, так и не использовать его вовсе, поэтому если соединение не удалось – проверьте используемый профиль подключения (PPP – Profiles). Для L2TP, в лучшем случае, используется MPPE 128-bit, который уже давным-давно скомпрометирован.

Лучшим вариантом будет использование OpenVPN, в частности с премиум-аккаунтом. Также не забывайте, что RouterOS не поддерживает пока TLS для OpenVPN.

Большинство бесплатных серверов могут быть нестабильны как в плане доступности, так и в плане скорости. К тому же, никто не гарантирует сохранности ваших личных данных. С учетом вышесказанного, к выбору поставщика услуг стоит подойти ответственно. Как минимум, всегда используйте защищенное соединение (HTTPS) при работе с сайтами.

Настройка маскарадинга

Сам Mikrotik уже знает про новый шлюз, а для того, чтобы ресурсами VPN-канала смогли пользоваться другие пользователи локальной сети, необходимо настроить маскарадинг.

Делается это в разделе IP – Firewall – NAT. Для out-interface обязательно следует указать правильное название вашего VPN-подключения.

Добавление статических маршрутов

После настройки маскарадинга переходим к завершающему шагу – созданию статических маршрутов. Делается это в разделе IP – Routers.

При создании маршрутов конечный адрес задаем как и для обычного интернет подключения –0.0.0.0/0, в качестве шлюза (gateway) необходимо указать VPN-подключение (в нашем случае pptp-to-freevpn). Обязательно выбираем routing-mark из выпадающего списка. Таким образом мы создаем статический маршрут для промаркированного трафика.


Вот собственно и всё, если всё проделано верно, а VPN рабочий – вы сможете получить доступ к необходимым ресурсам. Также можете почитать официальную документацию Mikrotik по Policy Base Routing.

Как узнать IP определенного сайта?

Чуть выше, в качестве примера, опубликованы общие списки IP-адресов и диапазонов, принадлежащих соответствующим ресурсам. Списки предоставлен как есть, без претензий к их точности. Настоятельно рекомендую формировать список самостоятельно, так сказать «под себя».

В случае с обычными интернет-сайтам, обычно требуется добавить всего 1-2 IP-адреса, в то время как для больших проектов может использоваться несколько диапазонов. Как же найти все IP по определенному сайту?

В качестве наиболее простого варианта, из под Windows (вызов командной строки – комбинация Win+R) можно использовать стандартную команду:


Недостатком такого метода является получение неполного списка адресов — некоторые сервисы могут отдавать всего 2 записи из Х, а на следующий день они уже могуть стать другими. Для поиска наиболее полного списка всех адресов, можно воспользоваться специальными сервисами. При помощи поиска от Hurricane Electric, можно производить поиск, как по доменному домену (например, youtube.com), так и по названию компании, которая владеет пулом адресов (например, Youtube либо YouTube, LLC).

Редактирование, обновление и добавление новых ресурсов

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

Что делать, если Policy Based Routing медленно работает?

На некоторых конфигурациях может возникнуть проблема, суть которой состоит в том, что при прямом подключении по VPN на ПК – всё работает быстро, но если настроить Policy Based Routing по вышеуказанному примеру в Mikrotik, сайты начинают открываются медленно.

Проблема решается отключением FastTrack в IP – Firewall – Filter Rules.



Поддержка FastTrack была добавлена, начиная с RouterOS 6.29, если кратко, функция позволяет пересылать некоторые пакеты без дополнительно обработки. В некоторых конфигурациях, данная функция позволяет существенно (в несколько раз) ускорить обработку пакетов и понизить нагрузку на процессор.

Что делать, если провайдер делает подмену DNS-записей?

Для того, чтобы показывать клиенту страницу-заглушку, вместо конечного URL, провайдеры практикуют подмену DNS-записей. Проверить это очень легко: открываем командную строку и делаем tracert для необходимого домена, после чего проверяем whois для конечного IP, который асоциирован с доменным именем. Если IP не принадлежит конечному ресурсу, значит имеет место подмена DNS-записи.

В таком случае, если вы используете DNS провайдера, при подключении по VPN, для конечного домена будет использоваться IP, предоставленный провайдером. Поэтому, при обращении к домену даже через VPN, в конечном итоге, вы обратно попадете на страницу с заглушкой (если это внешний IP) либо получите ошибку "сервер не найден" (если IP недоступен). В этом случае необходимо отказаться от использования DNS провайдера (use-peer-dns=no), например:

Либо через интерфейс Winbox: зайти в подменю IP — DHCP Client, выбрать свое подключение к Интернет и отключить в его профиле опцию "Use Peer DNS".

Далее необходимо задействовать сторонние DNS-серверы, например Google DNS (8.8.8.8, 8.8.4.4), Яндекс DNS (77.88.8.8, 77.88.8.1) и/или любой другой сервер:

После чего выполняетм очистку кеша DNS-записей:

Либо в Winbox: в разделе IP — DNS — Cache — Flush Cache.

Что делать, если провайдер перехватывает обращения к стороннему DNS?

На практике возможны случаи, когда провайдер перехватывает обращения к внешним DNS-сервисам (используя DNAT), возвращая при этом клиенту измененный ответ от сервера, в котором можно сразу подставить страницу с заглушкой. В этом случае все обращения к внешнему DNS также необходимо заворачивать в VPN, например:

Есть у данного метода и минус: при подключении к серверу VPN по dns-имени, может возникнуть проблема, связанная с невозможностью получения IP, т.к. подключение по имени, а ответы от DNS принимаются только внутри тонеля.

Видеокурс «Настройка оборудования MikroTik» (аналог MTCNA)

Учитесь работать с MikroTik? Рекомендую видеокурс «Настройка оборудования MikroTik». В курсе разобраны все темы из официальной учебной программы MTCNA и много дополнительного материала. Курс сочетает теоретическую часть и практику – настройку маршрутизатора по техническому заданию. Консультации по заданиям курса ведет его автор Дмитрий Скоромнов. Подойдет и для первого знакомства с оборудованием MikroTik, и для систематизации знаний опытным специалистам.

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

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