The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Форвардинг/проксирование TCP/UDP пакетов "
Версия для распечатки Пред. тема | След. тема
Форум Программирование под UNIX
Исходное сообщение [ Отслеживать ]

"Форвардинг/проксирование TCP/UDP пакетов " +/
Сообщение от akahan (ok), 11-Авг-23, 16:44 
Привет всем. Не уверен в каком именно разделе нужно разместить, но суть в сетевом программировании. Это мой первый опыт в таком программировании, поэтому не ругайте, если что))

Я пишу связку ПО реализующую VPN на основе WireGuard с конечным выходом пакетов в интернет через удаленную программу (далее прокси) и обратно.

Общими словами, есть 3 устройства. Клиент, сервер и прокси. На сервере WireGuard интерфейс слушает на UDP порту подключения от клиентов и от прокси. Создает с ними одну сеть.

В целом, средствами обычных конфигов WireGuard это реализуется как тут https://habr.com/ru/companies/xakep/articles/699000/. Все работает. Но в своей реализации я застрял с прокси.
В статье с хабра прокси - это сервер с конфигом wg-external.conf. Там есть выполнение PostUp сркрипта с настройкой iptables, но это не нужно, так как связка работает и без этого правила.

Я пишу код на rust, реализовал сетевой стек в юзер-спейс (smoltcp). Юзерспейс - это важно. Получаю на прокси расшифрованные пакеты с сервера WireGuard. Не понимаю как мне проксировать их в интернет и отдавать обратно на сервер с последующей передачей ответов клиенту обратно.  

Я понимаю, что нужно подменять адреса получателя в IP-пакетах, но как их отправлять в интернет и потом передавать обратно в WireGuard? Нет четкого понимания - застрял. Кто понимает о чем речь укажите направление, подскажите, что нужно сделать, чтобы реализовать мою связку?

Ответить | Правка | Cообщить модератору

Оглавление
Форвардинг/проксирование TCP/UDP пакетов , akahan, 11-Авг-23, 16:44  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру