У гэтым пакрокавым кіраўніцтве я распавяду, як наладзіць Mikrotik, каб забароненыя сайты аўтаматам адчыняліся праз гэты VPN і вы маглі пазбегнуць танцаў з бубнамі: адзін раз наладзіў і ўсё працуе.
У якасці VPN я абраў SoftEther: ён настолькі ж просты ў наладзе як і
У якасці альтэрнатывы разглядаў RRAS, але Mikrotik не ўмее з ім працаваць. Злучэнне ўсталёўваецца, VPN працуе, але падтрымліваць злучэнне без пастаянных рэканэктаў і памылак у логу Mikrotik не ўмее.
Налада праводзілася на прыкладзе RB3011UiAS-RM на прашыўцы версіі 6.46.11.
Цяпер па парадку, што і навошта.
1. Усталёўваны VPN злучэнне
У якасці VPN рашэння быў абраны, вядома, SoftEther, L2TP з папярэднім ключом. Такога ўзроўню бяспекі дастаткова каму заўгодна, таму што ключ ведае толькі роўтэр і яго ўладальнік.
Пераходзім у падзел interfaces. Спачатку дадаем новы інтэрфейс, а потым уводны ip, лагін, пароль і агульны ключ у інтэрфейс. Ціснем ок.
Тое ж самае камандай:
/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, іх наладу не разглядаем, але скрыншоты сваіх профіляў, на ўсялякі выпадак, аўтар пакінуў.
Для RRAS у IPsec Proposals дастаткова змяніць PFS Group на none.
Цяпер трэба ўстаць за NAT гэтага VPN сервера. Для гэтага нам трэба перайсці ў IP> Firewall> NAT.
Тут уключаем masquerade для канкрэтнага, або ўсіх PPP інтэрфейсаў. Роўтар аўтара падлучаны адразу да трох VPN'аў, таму зрабіў так:
Тое ж самае камандай:
/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.
Далей на ўкладцы Action выбіраемы mark routing, абзываем New Routing Mark так, каб было ў далейшым нам зразумела і едзем далей.
Тое ж самае камандай:
/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.
Тое ж самае камандамі:
/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.
На гэтым этапе вы ўжо адчулі, як ваш аператар перастаў.
Тое ж самае камандай:
/ip route
add dst-address=0.0.0.0/0 gateway=LD8 routing-mark=HTTP distance=2 comment=HTTP
Роўна гэтак жа будуць выглядаць правілы для абароны DNS, проста выбіраемы патрэбную пазнаку:
Тут вы адчулі, як вашыя 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. Уся падсетка належыць яму, таму пазначана падсетку.
Вось так было проста вярнуць сабе інтэрнэт. Каманда:
/ip route
add dst-address=195.82.146.0/24 gateway=LD8 distance=1 comment=Rutracker.Org
Роўна гэтым жа спосабам, што і з рутрэкерам вы можаце пракладаць маршруты карпаратыўных рэсурсаў і іншых заблакаваных сайтаў.
Аўтар спадзяецца, што вы ацэніце зручнасць заходу на рутрэкер і карпаратыўны партал адначасова не здымаючы швэдар.
Крыніца: habr.com