
У большасці выпадкаў падлучыць роўтар да VPN не складана, але калі вы жадаеце абараніць цэлую сетку і пры гэтым захаваць аптымальную хуткасць злучэння, то найлепшым рашэннем будзе скарыстацца VPN-тунэлем .
Роўтэры Мікратык зарэкамендавалі сябе як надзейныя і вельмі гнуткія рашэньні, але на жаль усё яшчэ няма і не вядома калі з'явіцца і ў якім выкананні. Нядаўна аб тым, што распрацоўшчыкі VPN-тунэлю WireGuard прапанавалі , якія зробяць іх ПА для арганізацыі VPN-тунэляў часткай ядра Linux, спадзяемся гэта паспрыяе ўкараненню ў RouterOS.
Але а пакуль, нажаль, для налады WireGuard на роўтары Mikrotik неабходна змяніць прашыўку.
Прашываем Mikrotik, усталёўваны і наладжваем OpenWrt
Для пачатку вам неабходна пераканацца ў тым, што OpenWrt падтрымлівае вашу мадэль. Паглядзець адпаведнасць мадэлі яе маркетынгавай назве і выяве .
Перайдзіце на сайт openwrt.com .
Для дадзенай прылады нам трэба 2 файлы:
Вам трэба спампаваць абодва файлы: Усталёўваць и мадэрнізацыя.

1. Настройка сеткі, загрузка і настройка PXE сервера
запампуйце для Windows апошняй версіі.
Распакуйце ў асобную тэчку. У файле config.ini дадаеце параметр rfc951=1 секцыю [dhcp]. Гэты параметр аднолькавы для ўсіх мадэляў Mikrotik.

Пераходзім да налад сеткі: трэба прапісаць статычны IP адрас на адзін з сеткавых інтэрфейсаў вашага кампутара.

IP адрас: 192.168.1.10
Маска сеткі: 255.255.255.0

запусціце Tiny PXE Server ад імя Адміністратара і абярыце ў поле Сервер DHCP сервер з адрасам 192.168.1.10
На некаторых версіях Windows гэты інтэрфейс можа з'явіцца толькі пасля падключэння Ethernet. Рэкамендую падлучыць роўтар і адразу камутаваць роўтар і ПК з дапамогай патчкорда.

Націскаем кнопку «…» (справа ўнізе) і паказваем тэчку, у якую вы спампавалі файлы прашыўкі для Mikrotik.
Выбіраеце файл, імя якога сканчаецца на "initramfs-kernel.bin або elf"

2. Загрузка роўтара з PXE сервера
Злучаем провадам ПК і першы порт (wan, internet, poe in,…) роўтара. Пасля гэтага бярэм калыпок, утыкаем у адтуліну з надпісам «Reset».

Уключаем сілкаванне роўтара і чакаем секунд 20, потым адпускаем калыпок.
На працягу наступнай хвіліны ў акне праграмы Tiny PXE Server павінны з'явіцца наступныя паведамленні:

Калі паведамленне з'явілася, значыць, вы ў правільным кірунку!
Аднавіце налады на сеткавым адаптары і ўсталюеце атрыманне адраса дынамічна (па DHCP).
Падлучайцеся да LAN партоў роўтара Mikrotik (2…5 у нашым выпадку) з дапамогай таго ж патчкорда. Проста пераключыце яго з 1-га порта ў 2-й порт. Адкрыйце адрас у браўзэры.

Увайдзіце ў адміністрацыйны інтэрфейс OpenWRT і перайдзіце ў раздзел меню "System -> Backup/Flash Firmware"

У падраздзеле "Flash new firmware image" націсніце на кнопку "Абярыце файл (Browse)".

Пазначце шлях да файла, імя якога сканчаецца на "-squashfs-sysupgrade.bin".

Пасля гэтага націсніце кнопку "Flash Image".
У наступным акне націсніце кнопку "Proceed". Пачнецца загрузка прашыўкі ў роўтар.

!!! НІ Ў ЯКІМ РАЗЕ НЕ АДКЛЮЧАЙЦЕ ХАРЧАВАННЕ РАЎТЭРА Ў ПРАЦЭСЕ ПРАШЫЎКІ !!!

Пасля прашыўкі і перазагрузкі роўтара вы атрымаеце Mikrotik з прашыўкай OpenWRT.
Магчымыя праблемы і іх рашэнні
У шматлікіх прыладах Mikrotik выпуску 2019г выкарыстоўваецца мікрасхема памяці FLASH-NOR тыпу GD25Q15/Q16. Праблема ў тым, што пры перапрашыўцы не захоўваюцца дадзеныя аб мадэлі прылады.
Калі вы ўбачылі памылку «Загружаны файл у файле не знойдзены ў існуючым выглядзе. Зробіце здагадку, што вы хочаце знайсці адзіны малюнак для вашай платформы.» то хутчэй за ўсё праблема ў flash.
Праверыць гэта лёгка: выконваеце ў тэрмінале прылады каманду праверкі ID мадэлі
root@OpenWrt: cat /tmp/sysinfo/board_nameІ калі атрымліваеце адказ "unknown", тое трэба ўручную паказаць мадэль прылады ў выглядзе "rb-951-2nd"
Для атрымання мадэлі прылады выканайце каманду
root@OpenWrt: cat /tmp/sysinfo/model
MikroTik RouterBOARD RB951-2ndАтрымаўшы мадэль прылады, які ўсталёўваецца яго ўручную:
echo 'rb-951-2nd' > /tmp/sysinfo/board_nameПасля гэтага можаце прашываць прыладу праз web інтэрфейс або з дапамогай каманды "sysupgrade"
Стварыце VPN сервер з WireGuard
Калі ў вас ужо ёсць сервер з настроеным WireGuard, то можаце прапусціць гэты пункт.
Я будуць выкарыстоўваць для наладкі персанальнага VPN сервера прыкладанне аб катом я ўжо .
Настройка WireGuard Client на OpenWRT
Падключыцеся да роўтара па пратаколе SSH:
ssh root@192.168.1.1Усталюйце WireGuard:
opkg update
opkg install wireguardПадрыхтуйце канфігурацыю (скапіюйце код ніжэй у файл, заменіце паказаныя значэнні на свае і запусціце ў тэрмінале).
Калі вы карыстаецеся MyVPN, то ў канфігурацыі ніжэй неабходна змяніць толькі WG_SERV - IP сервера, WG_KEY - прыватны ключ з файла канфігурацыі wireguard и WG_PUB - публічны ключ.
WG_IF="wg0"
WG_SERV="100.0.0.0" # ip адрес сервера
WG_PORT="51820" # порт wireguard
WG_ADDR="10.8.0.2/32" # диапазон адресов wireguard
WG_KEY="xxxxx" # приватный ключ
WG_PUB="xxxxx" # публичный ключ
# Configure firewall
uci rename firewall.@zone[0]="lan"
uci rename firewall.@zone[1]="wan"
uci rename firewall.@forwarding[0]="lan_wan"
uci del_list firewall.wan.network="${WG_IF}"
uci add_list firewall.wan.network="${WG_IF}"
uci commit firewall
/etc/init.d/firewall restart
# Configure network
uci -q delete network.${WG_IF}
uci set network.${WG_IF}="interface"
uci set network.${WG_IF}.proto="wireguard"
uci set network.${WG_IF}.private_key="${WG_KEY}"
uci add_list network.${WG_IF}.addresses="${WG_ADDR}"
# Add VPN peers
uci -q delete network.wgserver
uci set network.wgserver="wireguard_${WG_IF}"
uci set network.wgserver.public_key="${WG_PUB}"
uci set network.wgserver.preshared_key=""
uci set network.wgserver.endpoint_host="${WG_SERV}"
uci set network.wgserver.endpoint_port="${WG_PORT}"
uci set network.wgserver.route_allowed_ips="1"
uci set network.wgserver.persistent_keepalive="25"
uci add_list network.wgserver.allowed_ips="0.0.0.0/1"
uci add_list network.wgserver.allowed_ips="128.0.0.0/1"
uci add_list network.wgserver.allowed_ips="::/0"
uci commit network
/etc/init.d/network restartНа гэтым настройка WireGuard завершана! Цяпер увесь трафік на ўсіх падлучаных прылады абаронены VPN злучэннем.
Спасылкі
(дадаткова даступна інструкцыя налады L2TP, PPTP на стандартнай прашыўцы Mikrotik)
Крыніца: habr.com
