Так как есть риск блокировки 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 соединения и в пире вместо : вставляем 127.0.0.1:{local-port}
Все! соединение должно теперь установиться. В итоге трафик через wg интерфейс будет заворачиваться в ss и идти уже под ним. Так как и ss и wg используют шифрование, то у меня скорость туннеля упала в двое, по сравнению с простым wg без заворачивания в ss. Зато надежно.
П.С.: Схема работы