- PVSM.RU - https://www.pvsm.ru -

Настраиваем WireGuard на роутере Mikrotik под управлением OpenWrt

image

В большинстве случаев подключить роутер к VPN не сложно, но если вы хотите защитить целую сеть и при этом сохранить оптимальную скорость соединения, то наилучшим решением будет воспользоваться VPN-туннелем WireGuard [1].

Роутеры Mikrotik зарекомендовали себя как надежные и очень гибкие решешния, но к сожалению поддержки WireGurd на RouterOS [2] все еще нет и не известно когда появится и в каком исполнении. Недавно стало известно [3] о том, что разработчики VPN-туннеля WireGuard предложили набор патчей [4], которые сделают их ПО для организации VPN-туннелей частью ядра Linux, надеемся это поспособствует внедрению в RouterOS.

Но а пока, к сожалению, для настройки WireGuard на роутере Mikrotik необходимо сменить прошивку.

Прошиваем Mikrotik, устанавливаем и настраиваем OpenWrt

Для начала вам необходимо убедиться в том, что OpenWrt поддерживает вашу модель. Посмотреть соответствие модели ее маркетинговому названию и изображению можно на сайте mikrotik.com [5].

Перейдите на сайт openwrt.com в раздел загрузки прошивок [6].

Для данного устройства нам нужно 2 файла:

downloads.openwrt.org/releases/18.06.2/targets/ar71xx/mikrotik/openwrt-18.06.2-ar71xx-mikrotik-rb-nor-flash-16M-initramfs-kernel.bin|elf [7]

downloads.openwrt.org/releases/18.06.2/targets/ar71xx/mikrotik/openwrt-18.06.2-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin [8]

Вам нужно скачать оба файла: Install и Upgrade.

Настраиваем WireGuard на роутере Mikrotik под управлением OpenWrt - 2

1. Настройка сети, загрузка и настройка PXE сервера

Скачайте Tiny PXE Server [9] для Windows последней версии.

Распакуйте в отдельную папку. В файле config.ini добавляете параметр rfc951=1 секцию [dhcp]. Этот параметр одинаковый для всех моделей Mikrotik.

Настраиваем WireGuard на роутере Mikrotik под управлением OpenWrt - 3

Переходим к настройкам сети: нужно прописать статический ip адрес на один из сетевых интерфейсов вашего компьютера.

Настраиваем WireGuard на роутере Mikrotik под управлением OpenWrt - 4

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

Настраиваем WireGuard на роутере Mikrotik под управлением OpenWrt - 5

Запустите Tiny PXE Server от имени Администратора и выберите в поле DHCP Server сервер с адресом 192.168.1.10

На некоторых версиях Windows этот интерфейс может появиться только после подключения Ethernet. Рекомендую подключить роутер и сразу коммутировать роутер и ПК с помощью патчкорда.

image

Нажимаем кнопку «…» (справа внизу) и указываем папку, в которую вы скачали файлы прошивки для Mikrotik.

Выбираете файл, имя которого заканчивается на «initramfs-kernel.bin или elf»

Настраиваем WireGuard на роутере Mikrotik под управлением OpenWrt - 7

2. Загрузка роутера с PXE сервера

Соединяем проводом ПК и первый порт (wan,internet,poe in,…) роутера. После этого берем зубочистку, втыкаем в отверстие с надписью «Reset».

Настраиваем WireGuard на роутере Mikrotik под управлением OpenWrt - 8

Включаем питание роутера и ждем секунд 20, потом отпускаем зубочистку.
В течение следующей минуты в окне программы Tiny PXE Server должны появиться следующие сообщения:

Настраиваем WireGuard на роутере Mikrotik под управлением OpenWrt - 9

Если сообщение появилось, значит вы в правильном направлении!

Восстановите настройки на сетевом адаптере и установите получение адреса динамически (по DHCP).

Подключайтесь к LAN портам роутера Mikrotik (2…5 в нашем случае) с помощью того же патчкорда. Просто переключите его из 1-го порта во 2-й порт. Откройте адрес 192.168.1.1 [10] в браузере.

Настраиваем WireGuard на роутере Mikrotik под управлением OpenWrt - 10

Войдите в административный интерфейс OpenWRT и перейдите в раздел меню «System -> Backup/Flash Firmware»

Настраиваем WireGuard на роутере Mikrotik под управлением OpenWrt - 11

В подразделе «Flash new firmware image» нажмите на кнопку «Выберите файл (Browse)».

Настраиваем WireGuard на роутере Mikrotik под управлением OpenWrt - 12

Укажите путь к файлу, имя которого заканчивается на «-squashfs-sysupgrade.bin».

image

После этого нажмите кнопку «Flash Image».

В следующем окне нажмите кнопку «Proceed». Начнется загрузка прошивки в роутер.

Настраиваем WireGuard на роутере Mikrotik под управлением OpenWrt - 14

!!! НИ В КОЕМ СЛУЧАЕ НЕ ОТКЛЮЧАЙТЕ ПИТАНИЕ РОУТЕРА В ПРОЦЕССЕ ПРОШИВКИ !!!

Настраиваем WireGuard на роутере Mikrotik под управлением OpenWrt - 15

После прошивки и перезагрузки роутера вы получите 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

После этого можете прошивать устройство через web интерфейс или с помощью команды «sysupgrade»

Создайте VPN сервер с WireGuard

Если у вас уже есть сервер с настроенным WireGuard, то можете пропустить этот пункт.
Я будут использовать для настройки персонального VPN сервера приложение MyVPN.RUN [11] о котом я уже публиковал обзор [12].

Настройка 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 соединением.

Ссылки

Источник #1 [13]
Доработанная инструкция на MyVPN [14] (дополнительно доступна инструкция настройки L2TP, PPTP на стандартной прошивке Mikrotik)
OpenWrt WireGuard Client [15]

Автор: Олег

Источник [16]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/vpn/345988

Ссылки в тексте:

[1] WireGuard: https://habr.com/ru/post/432686/

[2] поддержки WireGurd на RouterOS: https://forum.mikrotik.com/viewtopic.php?t=134093

[3] стало известно: https://habr.com/ru/company/it-grad/blog/419769/

[4] набор патчей: https://git.kernel.org/pub/scm/linux/kernel/git/zx2c4/linux.git/commit/?h=jd/wireguard&id=f19531431a28c98c47462a81c8c203e9d88e493b

[5] можно на сайте mikrotik.com: https://mikrotik.com/products/group/wireless-for-home-and-office

[6] в раздел загрузки прошивок: https://openwrt.org/toh/views/toh_fwdownload?datasrt=model&dataflt%5BBrand*~%5D=mikrotik

[7] downloads.openwrt.org/releases/18.06.2/targets/ar71xx/mikrotik/openwrt-18.06.2-ar71xx-mikrotik-rb-nor-flash-16M-initramfs-kernel.bin|elf: http://downloads.openwrt.org/releases/18.06.2/targets/ar71xx/mikrotik/openwrt-18.06.2-ar71xx-mikrotik-rb-nor-flash-16M-initramfs-kernel.bin%7Celf

[8] downloads.openwrt.org/releases/18.06.2/targets/ar71xx/mikrotik/openwrt-18.06.2-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin: http://downloads.openwrt.org/releases/18.06.2/targets/ar71xx/mikrotik/openwrt-18.06.2-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin

[9] Tiny PXE Server: http://reboot.pro/files/file/303-tiny-pxe-server/

[10] 192.168.1.1: http://192.168.1.1

[11] MyVPN.RUN: https://myvpn.run/

[12] публиковал обзор: https://habr.com/ru/post/486388/

[13] Источник #1: https://global-hotspot.ru/%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B0-mikrotik-%D0%B2-openwrt/

[14] Доработанная инструкция на MyVPN: https://myvpn.run/faq/setup/mikrotik

[15] OpenWrt WireGuard Client: https://openwrt.org/docs/guide-user/services/vpn/wireguard/client

[16] Источник: https://habr.com/ru/post/487450/?utm_source=habrahabr&utm_medium=rss&utm_campaign=487450