Обход блокировок используя VPN и роутер Mikrotik

 

Недавно я приобрел новый роутер Mikrotik hAP ac lite и услышал что можно настроить бесшовный обход блокировок с автоматической загрузкой заблокированных IP адресов. Т.е. обычный трафик идет как всегда, а вот в случае если мы обращаемся к заблокированному ресурсу, роутер это понимает и направляет трафик через VPN.

 

VPN

Я решил настроить pptp или openvpn на своем сервере, но не вышло, там у меня отключен tun/tap и nat. Потому пришлось обратиться к платным VPN-провайдерам. Первым делом я пошел к TunnelBear которым уже пользовался, но из-за настроек их VPN-сервером, мне не удалось к ним подключиться. К сожалению роутер не поддерживате lzo и SHA256. Пришлось искать другой и я нашел StrongVPN, у них даже есть инструкция как настроить VPN на роутерах Mikrotik. Здесь важно снять или не ставить галочку напротив default route потому что мы будем использовать VPN как запасной канал.

После настройки необходимо добавить правила для роутера, идем IP — Firewall — Mangle — Add

  • General: Src. Address меняем на свой, у меня он был такой 192.168.88.10-192.168.88.254
  • Advanced: Dst. Address List на rkn
  • Action: Action — mark routing, New Routing Mark — rkn_mark, и ставим галочку Passthrough

Теперь когда мы пометили пакеты, нужно создать для них правило, идем IP — Routes — ADD и на вкладке General настраиваем:

  • Dst.Address — 0.0.0.0/0
  • Gateway — <Ваш VPN>
  • Type — unicast
  • Routing Mark — rkn_mark <— та метка что мы раньше создали

И теперь добавляем маскарадинг IP — Firewall — NAT — Add :

  • General: Out. Interface <Ваш VPN>
  • Action: Action — masquerade

Теперь единственное что осталось сделать это импортировать Address List.

 

Импорт Address List

Тут для простоты я опишу как скачивать уже готовый список с моего github, для тех кто не доверяет мне или же по другим причинам хочет сам его генерировать я сделаю отдельный пост.

Итак, я создал репозиторий в который автоматически выгружается самый свежий список заблокированных ресурсов в виде скрипта для импортирования, с ним мы и будем работать. Идем в System — Scripts — Add

{
/tool fetch url="https://raw.githubusercontent.com/Driim/mikrotik_rkn/master/subnets.rsc" mode=https
}

Обзываем этот скрипт DownloadSubnets и сохраняем, этот скрипт просто скачивает subnets.rsc, следующий скрипт немного сложней, создаем новый скрипт:

:if ([:len [/file find name=subnets.rsc]] > 0) do={
/ip firewall address-list remove [/ip firewall address-list find list="rkn"]
import file=subnets.rsc
/file remove subnets.rsc
}

Этот скрипт, проверяет наличие файла subnets.rsc, если файл есть, то он удаляет все старые записи списка rkn и импортирует новые, после чего удаляет файл. Обзываем скрипт SetSubnets и сохраняем.

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

 

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

dreamway89

dreamway89 wrote 29 posts

Post navigation


Comments

  • george

    все сделал по инструкции, скрипт SetSubnets вешает роутер (CPU 100%)

    • dreamway89

      Ну на некоторое время конечно, скрипт добавляет около 20 тыс. подсетей и пока это происходит роутер занят на 100%, но это занимает от силы минуту-две и будет происходить раз в день, в 5 утра(если делали все как у меня)

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

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>