Как завернуть трафик Wireguard через shadowsocks на роутере

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Так как есть риск блокировки 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. Зато надежно.

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

Источник: https://habr.com/ru/articles/754926/


Интересные статьи

Интересные статьи

К Kubernetes мы присматривались два года. Изучали различные статьи, пытались его разворачивать, но после развертывания не понимали что делать дальше. Пока однажды мы не решили попробовать завернуть од...
В связи со сложившейся мировой обстановкой, иностранные производители межсетевых экранов ушли с российского рынка, а использование уже эксплуатируемых остается под вопросом. Если вы тот самый специали...
Всем привет! Меня зовут Сергей, и сегодня я расскажу о том, как я искал носки мы выстраивали процессы тестирования в команде.Исторически сложилось, что мы делаем бэкенд для мобильного приложения, из-з...
Статья расскажет об инструменте для управления сетевой подсистемы ОС Debian - nftables. Статья не предполагает доскональный разбор работы утилиты и расскажет только об основах использования.
Skydive — это анализатор топологии сети и протоколов с открытым исходным кодом в реальном времени. Он направлен на то, чтобы предоставить исчерпывающий способ понять, что происходит в...