LINUX.ORG.RU
решено ФорумAdmin

Как направить трафик из wg0 в ss клиент?

 , , ,


0

2

Доброго здоровья всем. Т.к. в перспективе маячит полная блокировка протокола wireguard, как минимум для трансграничных соединений, задумался, как сохранить его работу именно в роутере, с доступом к заграничному vps. Для ясности и исключения ненужных вопросов, говорю- в роутере нет клиентов для всяких носков и прочих прокси, а есть только vpn клиенты- wg, openvpn и pptp/l2tp, роутер не кинетик и точка. Единственное, что пока пришло в голову- поднять на одном из домашних компов серверную убунту (пока что на нём крутится openmediavault), установить на неё wireguard сервер и shadowsocks клиент. Клиентом wg сервера данной линукс машины будет роутер, а её ss клиент будет соединён с vps. Одна проблема- не знаю как направить трафик из интерфейса wg0 сразу в ss клиент. Понимаю, что это решение для частного случая, но, возможно, будет полезно не только мне, а т.к. в маршрутизации не шарю, необходимы чьи-нибудь знания - что и где прописать/выполнить. Устанавливать и настраивать wg и ss умею.


Т.к. в перспективе маячит полная блокировка протокола wireguard, как минимум для трансграничных соединений, задумался, как сохранить его работу именно в роутере, с доступом к заграничному vps.

Я прихожу к выводу, что все стандартные сетевые протоколы рано или поздно будут перекрыты, как в Китае. Если мыслить, как сотрудник спецслужб, то туда, где орёт толпа, всегда можно выслать наряд полицаев с дубинами и всех отпинать и разогнать.

Гораздо лучше действовать скрытно и незаметно, пробираясь ползком по-пластунски, как партизан, сквозь границу. Для этого пишем сами складыватель/раскладыватель данных в ХТТП-запросы и ответы. Например, перед отправкой в сеть мы переупорядочиваем поток байт, затем укладываем его в файл «1.jpg» и отправляем «картинку» на наш сервер ХТТП-загрузкой вида: «POST /1.jpg». На сервере «картинку» разупорядочиваем, вынимаем данные и отправляем куда следует. Тоже самое с приёмом данных: «GET /1.jpg».

Кто что думает? Этот подход может сработать? Китайский сетевой экран обойдёт?

Enthusiast ★★
()
Ответ на: комментарий от Enthusiast

Думаю что надо знать протокол чтобы что-то думать)
Тут же как, они смотрят внутрь трафика, что отличается от стандартного-блокируют. Соответственно нужна маскировка под стандартное. Как её добиться - вот в чём вопрос.
Я уже говорил неоднократно, пока говорить и буквы на запретят можно делать что угодно. Что это значит? А то что всё сложное состоит из простого(моя фраза, попрошу копирайт при употреблении), программа состоит из кода, который состоит из букв, цифр и символов. То есть каждый человек должен быть способен сам собрать/написать программу в своих целях. И это надо как-то облегчить. Тогда государство не сможет ничего противопоставить, ну почти. Слежка за каждым нас не ждёт, но ждёт будущие поколения будут страдать и мы можем их спасти. Такая вот миссия, филантропская.
Думаю тут не нужно объяснять связь что такое энтропия и что любая система губительна)
Вот так и живём...

НО.. человеку нужен покровитель и его контроль, так уж приходится.

Xant1k ★★
()

В будущем, возможно, заменю ss на vless с reality и vision. Мне главное увидеть что где куда писать для перенаправления трафика, вот хотелось бы видеть в качестве образца как с wg0 направить в клиент ss.

KyJIep
() автор топика

Для экспериментов уже всё готово, на резервном vps (т.к. пока не хочу ломать настроенную на домашней машине систему) работает wireguard сервер с интерфейсом wg0 и shadowsocks-libev клиент, соединённый с shadowsocks-libev сервером на другом vps. Осталось понять что сделать, чтобы направить трафик из wg0 в ss клиент, который слушает на порту 1080.

KyJIep
() автор топика

в перспективе маячит полная блокировка протокола wireguard, как минимум для трансграничных соединений

Ну, настрой ssh port-forwarding, а через этот туннель запусти wireguard или socks5-прокси (я не знаю что это) или что там надо запускать.

Shushundr ★★★
()
Ответ на: комментарий от Xant1k

каждый человек должен быть способен сам собрать/написать программу в своих целях. И это надо как-то облегчить.

Если автор программы будет из России он сядет за распространение средств связи со встроенным использованием криптографии.

Shushundr ★★★
()
Ответ на: комментарий от KyJIep

Я не хочу пускать туннель внутри туннеля

При производительности современных процессоров это не проблема. Твоё нежелание не обосновано (неприемлемыми результатами тестов производительности).

Shushundr ★★★
()
Последнее исправление: Shushundr (всего исправлений: 1)
Ответ на: комментарий от Shushundr

Возможно. И возможно я это попробую, хотя и в этом не имею опыта, но, кажется, видел где-то мануал. Но неужели реализовать из туннеля в туннель сложнее?

KyJIep
() автор топика

https://www.cnews.ru/news/top/2023-08-09_blokirovka_openvpn_otmenyaetsya

«В России внезапно разблокировали протоколы OpenVPN и WireGuard, которые без предупреждения и объяснения причин перестали работать 7 августа 2023 г. … у всех четырёх крупнейших операторов сотовой связи»

Shushundr ★★★
()
Ответ на: комментарий от Anoxemian

кое что ещё поправил

iptables -i wg0 -o eth0 -j REDIRECT –to-port 1080

и получил

iptables v1.8.4 (legacy): Need TCP, UDP, SCTP or DCCP with port specification

Может REDIRECT работает только с портами и не умеет перенаправлять с интерфейса на порт?

KyJIep
() автор топика
Ответ на: комментарий от Anoxemian

епт, ну доки почитай, добавь -p tcp тебе ж черным по белому

гуглил и читал, добавлял -p tcp во все места, в ответ либо

iptables v1.8.4 (legacy): no command specified

либо

Bad argument `tcp’

и прочие непотребности.

По тому, что находил в интернетах, -p tcp добавляется перед -dport, т.е. -p tcp это для порта с которого надо сделать редирект, а не на который.

KyJIep
() автор топика