![](https://habrastorage.org/webt/8i/8k/ve/8i8kvez0ardik4xqyvt5eey6zom.jpeg)
В этом пошаговом руководстве я расскажу, как настроить Mikrotik, чтобы запрещённые сайты автоматом открывались через этот VPN и вы могли избежать танцев с бубнами: один раз настроил и все работает.
В качестве VPN я выбрал SoftEther: он настолько же прост в настройке как и RRAS и такой же быстрый. На стороне VPN сервера включил Secure NAT, других настроек не проводилось.
В качестве альтернативы рассматривал RRAS, но Mikrotik не умеет с ним работать. Соединение устанавливается, VPN работает, но поддерживать соединение без постоянных реконнектов и ошибок в логе Mikrotik не умеет.
Настройка производилась на примере RB3011UiAS-RM на прошивке версии 6.46.11.
Теперь по порядку, что и зачем.
1. Устанавливаем VPN соединение
В качестве VPN решения был выбран, конечно, SoftEther, L2TP с предварительным ключом. Такого уровня безопасности достаточно кому угодно, потому что ключ знает только роутер и его владелец.
Переходим в раздел interfaces. Сначала добавляем новый интерфейс, а потом вводим ip, логин, пароль и общий ключ в интерфейс. Жмем ок.
![](https://habrastorage.org/webt/ub/y7/qw/uby7qw36h7y_dqljdnfmhpzc6vs.png)
![](https://habrastorage.org/webt/rc/vn/ln/rcvnln1hjqb3xujatz2e-duq9qw.png)
То же самое командой:
/interface l2tp-client
name="LD8" connect-to=45.134.254.112 user="Administrator" password="PASSWORD" profile=default-encryption use-ipsec=yes ipsec-secret="vpn"
SoftEther заработает без изменения ipsec proposals и ipsec profiles, их настройку не рассматриваем, но скриншоты своих профилей, на всякий случай, автор оставил.
![](https://habrastorage.org/webt/51/w4/mo/51w4mo08jxeiocxl_kypzvd8e3y.png)
Для RRAS в IPsec Proposals достаточно изменить PFS Group на none.
Теперь нужно встать за NAT этого VPN сервера. Для этого нам нужно перейти в IP > Firewall > NAT.
Тут включаем masquerade для конкретного, или всех PPP интерфейсов. Роутер автора подключен сразу к трём VPN’ам, поэтому сделал так:
![](https://habrastorage.org/webt/-v/pl/vu/-vplvuliwqqbebqgfbt57ygaxxq.png)
![](https://habrastorage.org/webt/iz/yk/a8/izyka8y3rtc_gvx0cnteyajawd8.png)
То же самое командой:
/ip firewall nat
chain=srcnat action=masquerade out-interface=all-ppp
2. Добавляем правила в Mangle
Первым делом хочется, конечно, защитить все самое ценное и беззащитное, а именно DNS и HTTP трафик. Начнем с HTTP.
Переходим в IP → Firewall → Mangle и создаем новое правило.
В правиле, Chain выбираем Prerouting.
Если перед роутером стоит Smart SFP или еще один роутер, и вы хотите к нему подключаться по веб интерфейсу, в поле Dst. Address нужно ввести его IP адрес или подсеть и поставить знак отрицания, чтобы не применять Mangle к адресу или к этой подсети. У автора стоит SFP GPON ONU в режиме бриджа, таким образом автор сохранил возможность подключения к его вебморде.
По умолчанию Mangle будет применять свое правило ко всем NAT State’ам, это сделает проброс порта по вашему белому IP невозможным, поэтому в Connection NAT State ставим галочку на dstnat и знак отрицания. Это позволит нам отправлять по сети исходящий трафик через VPN, но все еще прокидывать порты через свой белый IP.
![](https://habrastorage.org/webt/ep/nl/rr/epnlrrel4u4spsmbzcfayicint8.png)
Далее на вкладке Action выбираем mark routing, обзываем New Routing Mark так, чтобы было в дальнейшем нам понятно и едем дальше.
![](https://habrastorage.org/webt/qa/dw/nz/qadwnzkqhzuxvzyxn3o6krbwqoy.png)
То же самое командой:
/ip firewall mangle
add chain=prerouting action=mark-routing new-routing-mark=HTTP passthrough=no connection-nat-state=!dstnat protocol=tcp dst-address=!192.168.1.1 dst-port=80
Теперь переходим к защите DNS. В данном случае нужно создать два правила. Одно для роутера, другое для устройств подключенных к роутеру.
Если вы пользуетесь встроенным в роутер DNS, что делает и автор, его нужно тоже защитить. Поэтому для первого правила, как и выше мы выбираем chain prerouting, для второго же нужно выбрать output.
Output это цепь которые использует сам роутер для запросов с помощью своего функционала. Тут все по аналогии с HTTP, протокол UDP, порт 53.
![](https://habrastorage.org/webt/pq/wf/ue/pqwfuenax0zawwaw4xn9dwnki2k.png)
![](https://habrastorage.org/webt/kd/5i/n6/kd5in6wag1f_nfpdxdi04qdn-xo.png)
То же самое командами:
/ip firewall mangle
add chain=prerouting action=mark-routing new-routing-mark=DNS passthrough=no protocol=udp
add chain=output action=mark-routing new-routing-mark=DNS-Router passthrough=no protocol=udp dst-port=53
3. Строим маршрут через VPN
Переходим в IP → Routes и создаем новые маршруты.
Маршрут для маршрутизации HTTP по VPN. Указываем название наших VPN интерфейсов и выбираем Routing Mark.
![](https://habrastorage.org/webt/il/ai/an/ilaianeq29izptcrjaoalzwexl8.png)
На этом этапе вы уже почувствовали, как ваш оператор перестал встраивать рекламу в ваш HTTP трафик.
То же самое командой:
/ip route
add dst-address=0.0.0.0/0 gateway=LD8 routing-mark=HTTP distance=2 comment=HTTP
Ровно так же будут выглядеть правила для защиты DNS, просто выбираем нужную метку:
![](https://habrastorage.org/webt/zg/82/_e/zg82_eadxoym565ewduq6duwdhy.png)
Тут вы ощутили, как ваши DNS запросы перестали прослушивать. То же самое командами:
/ip route
add dst-address=0.0.0.0/0 gateway=LD8 routing-mark=DNS distance=1 comment=DNS
add dst-address=0.0.0.0/0 gateway=LD8 routing-mark=DNS-Router distance=1 comment=DNS-Router
Ну под конец, разблокируем Rutracker. Вся подсеть принадлежит ему, поэтому указана подсеть.
![](https://habrastorage.org/webt/ys/ak/97/ysak97wm8rlcwqza83pj4un445k.png)
Вот настолько было просто вернуть себе интернет. Команда:
/ip route
add dst-address=195.82.146.0/24 gateway=LD8 distance=1 comment=Rutracker.Org
Ровно этим же способом, что и с рутрекером вы можете прокладывать маршруты корпоративных ресурсов и других заблокированных сайтов.
Автор надеется, что вы оцените удобство захода на рутрекер и корпоративный портал в одно и тоже время не снимая свитер.
![](https://habrastorage.org/webt/de/0y/l-/de0yl-6ppopvisr_a80b4yuhjj8.png)