WireGuard OpenWRT Client

2 июня 2022

Установка пакета WireGuard

opkg update && opkg install luci-app-wireguard && reboot y

Если роутер крокс, лучше удалить пакет mwan3, выход в интернет будет только через модем.

opkg remove mwan3 --force-removal-of-dependent-packages
sed -i '/metric/d' /etc/config/network

Настройка из под консоли, прописываем зоны и маскарадинг в брандмауэре.

uci rename firewall.@zone[2]=zone
uci rename firewall.@zone[2].name='wg0'
uci rename firewall.@zone[2].output='ACCEPT'
uci rename firewall.@zone[2].network='wg0'
uci rename firewall.@zone[2].input='REJECT'
uci rename firewall.@zone[2].forward='REJECT'
uci rename firewall.@zone[2].masq='1'
uci rename firewall.@forwarding[1]=forwarding
uci rename firewall.@forwarding[1].src='lan'
uci rename firewall.@forwarding[1].dest='wg0'
uci commit firewall
/etc/init.d/firewall restart


Настройка конфигурации WireGuard тунеля 

x.x.x.x - адрес сервера VPN
a.a.a.a - адрес клиента назначены сервером ( peer )
zzzz - порт сервера VPN
private_key=' приватный ключ клиента '
public_key=' публичный ключ сервера '
ffff - маршрутизация, принемает значение ( 1 - трафик весь заворачивается в туннель , 0 - доступ к ЛВС сервера)

uci -q delete network."wg0"
uci set network.wg0=interface
uci set network.wg0.proto='wireguard'
uci set network.wg0.private_key=' приватный ключ клиента '
uci add_list network.wg0.addresses='a.a.a.a/32'
uci add_list network.wg0.dns='77.88.8.8' '8.8.8.8'
uci set network.wg0.listen_port='zzzz'
uci set network.wg0.auto='0'

uci -q delete network.@wireguard_wg0
uci set network.@wireguard_wg0[0]=wireguard_wg0
uci set network.@wireguard_wg0[0].description='mywg'
uci set network.@wireguard_wg0[0].public_key=' публичный ключ сервера '
uci add_list network.@wireguard_wg0[0].allowed_ips='0.0.0.0/0'
uci set network.@wireguard_wg0[0].route_allowed_ips='ffff'
uci set network.@wireguard_wg0[0].persistent_keepalive='25'
uci set network.@wireguard_wg0[0].endpoint_port='zzzz'
uci set network.@wireguard_wg0[0].endpoint_host='x.x.x.x'
uci commit network
/etc/init.d/network restart

Запуск туннеля wg0  из консоли

ubus call network.interface.wg0 up

Статус поднятого интерфейса в терминале
   
wg show

Выводы по производительности WireGuard на процессоре MediaTek MT7628AN 580 МГц

в канале LAN  35 Мбит/с в одну сторону загрузка CPU 95%

в канале Wi-Fi  27 Мбит/с в одну сторону загрузка CPU 97%

VPN туннель с шифрованием, более производителен  WireGuard ( 35 Мбит ) в сравнении с L2TP IPsec (15 Мбит)