
В повечето случаи свързването на рутер към VPN не е сложно, но ако искате да защитите цяла мрежа и същевременно да запазите оптималната скорост на свързване, най-доброто решение е да използвате VPN тунел. .
Рутери Mikrotik са доказали себе си като надеждни и много гъвкави решения, но за съжаление все още липсва и не е известно кога ще се появи и в каква форма. Наскоро разработчиците на VPN тунела WireGuard предложиха , които ще направят софтуера им за организиране на VPN тунели част от ядрото на Linux, се надяваме, че това ще способства за внедряването му в RouterOS.
Но за съжаление, за настройка на WireGuard на рутера Mikrotik към момента е необходимо да смените фърмуера.
Флашваме Mikrotik, инсталираме и настройваме OpenWrt
Първо, нужно е да се уверите, че OpenWrt поддържа вашия модел. Можете да видите съответствието на модела с неговото маркетингово име и изображение .
Отидете на сайта openwrt.com .
За това устройство ни трябват 2 файла:
Трябва да изтеглите и двата файла: Инсталирайте и Upgrade.

1. Конфигуриране на мрежата, зареждане и настройка на PXE сървър
Изтеглете за Windows последната версия.
Разархивирайте в отделна папка. В файла config.ini добавете параметъра rfc951=1 секцията [dhcp]. Този параметър е един и същ за всички модели Mikrotik.

Преминаваме към настройките на мрежата: нужно е да зададете статичен IP адрес на един от мрежовите интерфейси на вашия компютър.

IP адрес: 192.168.1.10
Мрежова маска: 255.255.255.0

Стартирайте Tiny PXE Server от името на Администратора и изберете в полето DHCP Server със зададен адрес 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. Проблемът е, че при препрошиване не се запазват данните за модела на устройството.
Ако сте видели грешка "The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform.", то най-вероятно проблемът е във 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След това можете да прошивате устройството чрез уеб интерфейса или с помощта на командата "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" # публичен ключ
# Конфигуриране на защитната стена
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
# Конфигуриране на мрежата
uci -q delete network.${WG_IF}
uci set network.${WG_IF}="интерфейс"
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}"
# Добавяне на VPN партньори
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
