На любую ОС Linux можно поставить VPN сервер и клиент Wireguard, и ОС ряда роутеров, основанные на Linux ядре — не исключение. В этой статье я опишу роутеры, на которые можно поставить программное обеспечение Wireguard.
OpenWrt
Все роутеры, которые можно прошить с помочью OpenWRT, поддерживают Wireguard. Проверить, поддерживается ли ваш роутер можно по ссылке.
Для работы этого протокола необходимо доустановить пакет wireguard-tools на роутер. Вместе с этим могут потребоваться и другие полезные пакеты (убедитесь, что у вас хватает памяти в устройстве):
# Install packages opkg update # 21.02 or above opkg install wireguard-tools # 19.07 or lower opkg install wireguard
1 2 | # Для настройки через web интерфейс luci opkg install luci-proto-wireguard luci-app-wireguard kmod-wireguard |
После установки пакетов потребуется:
- создать пару приватных и публичных ключей
- настроить файрволл, открыв UDP порт (любой, который вы потом укажете в конфиге сервера)
- Создать зону vpn, включить для нее маскарадинг и форвард трафика из vpn в другие зоны и обратно.
- настроить интерфейс wg0 (название сетевого интерфейс Wireguard по умолчанию)
- добавить один или несколько пиров по числу клиентов
- настроить клиенты
Примеры настройки можно изучить здесь, тут и там. Официальный гайд по конфигурации находится на сайте OpenWrt.
Mikrotik
Все роутеры на RoutrOS, начиная с версии 7 поддерживают Wireguard. Все максимально просто: в Winbox в меню появился новый пункт Wireguard. Там можно добавить новый интерфейс как для VPN сервера, так и клиента. Пара ключей при этом сгенерируется автоматически. В конфигурации пиров необходимо указать Public Key, который сгенерировался при создании интерфейса сервера.
Примеры настройки через CLI:
сервер
1 2 3 4 5 6 7 8 9 10 11 12 13 | /interface wireguard add listen-port=13231 mtu=1420 name=wireguard-MikroTik-Config.ukr-Server /interface wireguard peers add allowed-address=174.16.0.2/32,192.168.5.0/24 interface=\ wireguard-MikroTik-Config.ukr-Server persistent-keepalive=10s public-key=\ "SO4l7YTMMqssgHcWbcIjtuGHO+dz2wENnpoK6hXWEyE=" /ip address add address=174.16.0.1/24 interface=wireguard-MikroTik-Config.ukr-Server \ network=174.16.0.0 /ip route add disabled=no distance=1 dst-address=192.168.5.0/24 gateway=174.16.0.2 \ pref-src="" routing-table=main scope=30 suppress-hw-offload=no \ target-scope=10 |
клиент
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | /interface wireguard add listen-port=13231 mtu=1420 name=wireguard-MikroTik-Config.ukr-Client /interface wireguard peers add allowed-address=174.16.0.1/32,192.168.1.0/24 endpoint-address=\ 11.11.11.10 endpoint-port=13231 interface=\ wireguard-MikroTik-Config.ukr-Client persistent-keepalive=10s public-key=\ "UOOBJ9j5BjUPmP6qccSFT8hLBl+tYL3FoDdPXPa5Imw=" /ip address add address=174.16.0.2/24 interface=wireguard-MikroTik-Config.ukr-Client \ network=174.16.0.0 /ip route add disabled=no distance=1 dst-address=192.168.1.0/24 gateway=174.16.0.1 \ pref-src="" routing-table=main scope=30 suppress-hw-offload=no \ target-scope=10 |
Не забываем, что IP адрес интерфейсу необходимо настроить вручную в IP -> Addresses, после чего добавить маршрут чрез IP -> Routes.
Кстати, девайс Mikrotik можно прошить и OpenWrt прошивкой.
Zyxel
Начиная с версии KeeneticOS 3.3 для актуальных моделей интернет-центров Keenetic была добавлена поддержка WireGuard VPN.
Настройка подробно расписана на официальном сайте поддержки.
ASUS
Современные роутеры ASUS, основанные на Asuswrt, теперь поддерживают и WireGuard нативно. К таким роутерам относятся ASUS с процессором ARMv8 64-bit типа RT-AC86U, RT-AX88U или ASUS ZenWiFi XT8 router. С помощью ряда ухищрений можно заставить работать и роутеры с более старыми процессорами Broadcom ARMv7 32-bit, которые работают на прошивке ASUSWRT-Merlin firmware или порте такие как ASUS RT-68U, Netgear R7000, Linksys EA6900 и др.
Интересная инструкция со скриптами конфигурирования доступна на GitHub. Однако, в связи с наличием нативной поддержки в роутерах серии AX, я рекомендую пользоваться GUI. Для более старых моделей можете воспользоваться этой статьей.
Прочие роутеры
Ряд роутеров, популярных заграницей, также поддерживает Wireguard, например: GL.iNet Slate (GL-AR750S-Ext), FRITZ!Box 7590 AX, FRITZ!Box 7590, а также FRITZ!Box 7530