Обход блокировки на mikrotik

Добрый день. Не нашёл тему про настройку обхода блокировки на роутерах Mikrotik и решил написать свою инструкцию. Может кому пригодится.

  1. Скачиваем конфигурационный файл .ovpn и открываем его c помощью NotePad++
  2. Из него нам нужно вытащить клиентский сертификат и ключ. Выделяем сертификат, который заключён в тег <cert></cert>, начиная с “-----BEGIN CERTIFICATE-----” и заканчивая “-----END CERTIFICATE-----”.
    Копируем, создаём новый текстовый файл, вставляем туда и сохраняем под именем, например antizapret.crt. Тоже проделываем с ключом, который заключён в тег <key></key>, и сохраняем с именем antizapret.key.
  3. Теперь нам нужно подключиться к вашему роутеру Mikrotik с помощью Winbox и положить в него созданные сертификат и ключ. Открываем меню Files и перетаскиваем файлы в папку flash.
  4. Добавляем сертификат с ключом в хранилище:
    Открываем меню System => Certificates, нажимаем во вкладке Certificates на Import и выбираем в поле Only File наш сертификат flash/antizapret.crt, нажимаем Import. В списке появится сертификат с флагом T. Теперь аналогично добавим ключ flash/antizapret.key. Заметьте, что у сертификата добавился флаг K.
  5. Теперь создадим профиль для подключения:
    Открываем меню PPP, переходим во вкладку Profiles, нажимаем плюсик. Обзываем профиль как-нибудь понятно, например profile_antizapret. Все настройки оставим по-умолчанию.
  6. Создадим само подключение к OpenVPN:
    Нажимаем плюсик и в выпадающем меню выбираем OVPN Client. Обзываем понятным именем, например ovpn-antizapret.
    Переходим во вкладку Dial Out и заполняем данными сверяясь с файлом конфигурации.
    Connect To: vpn.antizapret.prostovpn.org
    Port оставляем 1194
    Mode оставляем ip
    User пишем любой, например user
    Password не нужен
    Profile выбираем созданный на предыдущем шаге profile_antizapret
    Certificate выбираем тот, что добавили antizapret.crt_0
    Auth. оставим sha1
    Cipher меняем на aes 128, иначе не пройдёт авторизация
    Use Peer DNS обязательно выставляем в exclusively, чтобы при подключении все DNS-запросы шли через туннель. Иначе заблокированные сайты останутся заблокированными.
    Add Default Route галку не ставим
    Нажимаем ОК и должно сразу пройти подключение, о чём нам скажет флаг R и статус connected, при двойном клике по созданному подключению.
    Вот и всё. Теперь при подключении OpenVPN будет использоваться DNS туннеля, и заблокированные сайты будут открываться на любом устройстве, подключенном к роутеру.

От себя я бы ещё добавил очистку dns-кэша при каждом подключении и отключении VPN-соединения. Для этого нужно опять открыть PPP, перейти на вкладку Profiles, открыть наш профиль profile-antizapret, перейти на вкладку Scripts и добавить в поля On UP и On Down следующую строку:
/ip dns cache flush

Спасибо, добавил на сайт.

Подскажите, на какой версии RouterOS проделывали эти операции. И отдельно прописывали какие-то еще маршруты?

Antizapret ovpn-client самостоятельно маршруты добавит и будет удалять, если кусок команды из этой заметки будете использовать будет еще круче.

/ip dns cache flush

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

Под MIKROTIK HAP AC² данный способ пойдёт? В отзывах пишут что у данной модели ограниченный функционал openvpn (не поддерживает сжатие и определённые типы аутентификации).

Настраивалось как раз на hap ac2

volq, большое спасибо за приведенную инструкцию.
Попробовал настроить MIKROTIK HAP AC² RouterOS 6.47.3.
Интерфейс opvn-antizapret запустился, но блокировки не снялись.
Провайдер МГТС. В чем может быть проблема?

Пробуйте добавить Маскарад для интерфейса: opvn-antizapret

Вот так: /ip firewall nat add chain=srcnat action=masquerade out-interface=opvn-antizapret

И еще позаботьтесь о DNS, чтобы обход работал - все ваши устройства в сети должны использовать DNS-ресолвер от Антизапрета.

Лично я перенаправляю весь DNS трафик на свой роутер, и таким образом любое устройство подключенное к роутеру получает обход блокировок.

Делаю так,
Очищаю список Servers в разделе IP - DNS
В результате там должно остаться только Dynamic Servers
Выглядит адрес примерно вот так 192.168.104.1
Включаю пункт Allow Remote Requets

И добавляю правила такие:
/ip firewall nat add chain=dstnat action=redirect protocol=tcp dst-port=53,5353,1253
/ip firewall nat add chain=dstnat action=redirect protocol=udp dst-port=53,5353,1253

На случай непредвиденных проблем, отключения сервера Антизапрета и чего либо еще я оставляю несколько DNS ресолверов в настройках IP - DHCP Server - Networks - Выбираем свой DHCP сервер - DNS Servers, чтобы быстро можно было отключить два правила Файрвола, которые выше, и интернет продолжил работать как раньше, но уже без обхода блокировок, и обратно так же быстро вернуть настройки. Выключил - Включил.

Большое спасибо! Ваш совет сработал!