Так как есть риск блокировки Wireguard протокола, то рассказываю, как сделать, что бы трафик туннеля шел через shadowsocks.

Пример будет для сервера на Ubuntu 22.04 и роутера кинетик, с установленным на нем Entware. Предполагается, что WG уже поднят и настроен. А также на роутер установлен Entware.

Итак:

1.1) на сервер, где крутится wg ставим

sudo apt install shadowsocks-libev

1.2) потом редактируем файл

vi /etc/shadowsocks-libev/config.json

{
"server": "0.0.0.0",
"mode":"tcp_and_udp",
"server_port":{server-port},
"password":"{password}",
"timeout":300,
"method":"chacha20-ietf-poly1305"
}

где {server-port} - это порт который будет слушать сервер ss, например 8421

{password}- любой пароль, желательно только что сгенерированный

1.3) Потом выполняем

systemctl restart shadowsocks-libev.service

systemctl status shadowsocks-libev.service

проверяем, что сервер завелся

2.1) Теперь переходим к роутеру.

Ставим на него пакеты

opkg install shadowsocks-libev-ss-tunnel shadowsocks-libev-config

2.2) теперь редактируем конфиг

vi /opt/etc/shadowsocks.json

{
"server": "{server-ip}",
"mode":"tcp_and_udp",
"server_port":{server-port},
"local_address": "0.0.0.0",
"local_port":{local-port},
"password":"{password}",
"timeout":300,
"method":"chacha20-ietf-poly1305",
"tunnel_address": "127.0.0.1:{wireguard-port}"
}

где {server-port} и {password} это те же самые, которые добавили на сервер в пункте 1.2

{server-ip} - ip адрес сервера на котором крутится wireguard и ss

{local-port} - любой свободный порт на роутере, который мы будем указывать в настройках wg соединения, например 51822

{wireguard-port} - это порт на котором на сервере крутится wg соединение, например 51820

2.3) правим файл

vi /opt/etc/init.d/S22shadowsocks

меняем на строку PROCS=ss-* на PROCS=ss-tunnel

перезапускаем ss на роутере и проверяем, что работает

/opt/etc/init.d/S22shadowsocks restart

/opt/etc/init.d/S22shadowsocks check

3.1) Идем в веб морду роутера, в настройки нужного wg соединения и в пире вместо {server-ip}:{wireguard-port} вставляем 127.0.0.1:{local-port}

Все! соединение должно теперь установиться. В итоге трафик через wg интерфейс будет заворачиваться в ss и идти уже под ним. Так как и ss и wg используют шифрование, то у меня скорость туннеля упала в двое, по сравнению с простым wg без заворачивания в ss. Зато надежно.

П.С.: Схема работы