<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Форвардинг/проксирование TCP/UDP пакетов </title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/10450.html</link>
    <description>Привет всем. Не уверен в каком именно разделе нужно разместить, но суть в сетевом программировании. Это мой первый опыт в таком программировании, поэтому не ругайте, если что))&lt;br&gt;&lt;br&gt;Я пишу связку ПО реализующую VPN на основе WireGuard с конечным выходом пакетов в интернет через удаленную программу (далее прокси) и обратно.&lt;br&gt;&lt;br&gt;Общими словами, есть 3 устройства. Клиент, сервер и прокси. На сервере WireGuard интерфейс слушает на UDP порту подключения от клиентов и от прокси. Создает с ними одну сеть. &lt;br&gt;&lt;br&gt;В целом, средствами обычных конфигов WireGuard это реализуется как тут https://habr.com/ru/companies/xakep/articles/699000/. Все работает. Но в своей реализации я застрял с прокси. &lt;br&gt;В статье с хабра прокси - это сервер с конфигом wg-external.conf. Там есть выполнение PostUp сркрипта с настройкой iptables, но это не нужно, так как связка работает и без этого правила. &lt;br&gt;&lt;br&gt;Я пишу код на rust, реализовал сетевой стек в юзер-спейс (smoltcp). Юзерспейс - это важно. Получаю на прокси расшифрованные пакеты с сервера Wire</description>

<item>
    <title>Форвардинг/проксирование TCP/UDP пакетов  (ц)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/10450.html#8</link>
    <pubDate>Fri, 18 Aug 2023 07:06:43 GMT</pubDate>
    <description>&amp;gt; Я понимаю, что нужно подменять адреса получателя в IP-пакетах, но как их &lt;br&gt;&amp;gt; отправлять в интернет и потом передавать обратно в WireGuard? Нет четкого &lt;br&gt;&amp;gt; понимания - застрял. Кто понимает о чем речь укажите направление, подскажите, &lt;br&gt;&amp;gt; что нужно сделать, чтобы реализовать мою связку?&lt;br&gt;&lt;br&gt;Самое очевидное сделать таблицу соответствия входящих и исходящих соединений.&lt;br&gt;Как потом смотреть флаги (ask и.т.д.) и по этой таблице гонять пакеты, если запись есть и не &amp;#8203;устарела то меняем ip отправителя и на табличную, если нет делаем новую запись.&lt;br&gt;&lt;br&gt;Можно еще проще сделать соединение прямо из прокси, 1 поток на соединение и там все гонять но для этого надо как то завернуть из гуарда на твой прокси.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Форвардинг/проксирование TCP/UDP пакетов  (akahan)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/10450.html#7</link>
    <pubDate>Mon, 14 Aug 2023 02:30:08 GMT</pubDate>
    <description>&amp;gt; https://xyproblem.info/ &lt;br&gt;&lt;br&gt;Разобрался. Спасибо.&lt;br&gt;</description>
</item>

<item>
    <title>Форвардинг/проксирование TCP/UDP пакетов  (Аноним)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/10450.html#6</link>
    <pubDate>Mon, 14 Aug 2023 00:39:59 GMT</pubDate>
    <description>https://xyproblem.info/&lt;br&gt;</description>
</item>

<item>
    <title>Форвардинг/проксирование TCP/UDP пакетов  (Аноним)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/10450.html#5</link>
    <pubDate>Mon, 14 Aug 2023 00:38:38 GMT</pubDate>
    <description>Ничего не понятно. Какое-то прокси, но не прокси. Статья на хабре, в которой ни слова про прокси. Почему вам не подходят стандартные решения вроде socks-прокси или NATа? Какую такую уникальную задачу вы пытаетесь решить, что понадобилась самописная программа?&lt;br&gt;</description>
</item>

<item>
    <title>Форвардинг/проксирование TCP/UDP пакетов  (akahan)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/10450.html#4</link>
    <pubDate>Sun, 13 Aug 2023 19:42:11 GMT</pubDate>
    <description>&amp;gt; Опишите изначальную задачу, а не свою попытку её решения.&lt;br&gt;&lt;br&gt;В первом сообщение же описано. Что именно не понятно?&lt;br&gt;</description>
</item>

<item>
    <title>Форвардинг/проксирование TCP/UDP пакетов  (Аноним)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/10450.html#3</link>
    <pubDate>Sun, 13 Aug 2023 10:13:50 GMT</pubDate>
    <description>Опишите изначальную задачу, а не свою попытку её решения.&lt;br&gt;</description>
</item>

<item>
    <title>Форвардинг/проксирование TCP/UDP пакетов  (akahan)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/10450.html#2</link>
    <pubDate>Fri, 11 Aug 2023 18:33:55 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt; Не понимаю как мне проксировать их в интернет и отдавать обратно &lt;br&gt;&amp;gt;&amp;gt; на сервер с последующей передачей ответов клиенту обратно.&lt;br&gt;&amp;gt;&amp;gt; Я понимаю, что нужно подменять адреса получателя в IP-пакетах, но как их &lt;br&gt;&amp;gt;&amp;gt; отправлять в интернет и потом передавать обратно в WireGuard? Нет четкого &lt;br&gt;&amp;gt;&amp;gt; понимания - застрял. Кто понимает о чем речь укажите направление, подскажите, &lt;br&gt;&amp;gt;&amp;gt; что нужно сделать, чтобы реализовать мою связку?&lt;br&gt;&amp;gt; Не до конца понял вопрос.&lt;br&gt;&amp;gt; Может есть смысл как сделаны другие прокси?&lt;br&gt;&amp;gt; https://github.com/sozu-proxy/sozu &lt;br&gt;&amp;gt; https://github.com/shadowsocks/shadowsocks-rust &lt;br&gt;&lt;br&gt;Ну это не прокси, я просто назвал так. Для прокси нужно открывать порт, на который потом, например, браузер будет подключаться и трафик браузера будет проксироваться. А у меня трафик приходит из тоннеля IP-пакетами. А мне нужно его направлять в интернет и потом обратно в тоннель. Я не знаю как правильно назвать это процесс, форвардинг может. Это приложение, которое запускается удаленно, подключается к </description>
</item>

<item>
    <title>Форвардинг/проксирование TCP/UDP пакетов  (gra)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID9/10450.html#1</link>
    <pubDate>Fri, 11 Aug 2023 16:31:19 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; есть выполнение PostUp сркрипта с настройкой iptables, но это не нужно, &lt;br&gt;&amp;gt; так как связка работает и без этого правила.&lt;br&gt;&amp;gt; Я пишу код на rust, реализовал сетевой стек в юзер-спейс (smoltcp). Юзерспейс &lt;br&gt;&amp;gt; - это важно. Получаю на прокси расшифрованные пакеты с сервера WireGuard. &lt;br&gt;&amp;gt; Не понимаю как мне проксировать их в интернет и отдавать обратно &lt;br&gt;&amp;gt; на сервер с последующей передачей ответов клиенту обратно.&lt;br&gt;&amp;gt; Я понимаю, что нужно подменять адреса получателя в IP-пакетах, но как их &lt;br&gt;&amp;gt; отправлять в интернет и потом передавать обратно в WireGuard? Нет четкого &lt;br&gt;&amp;gt; понимания - застрял. Кто понимает о чем речь укажите направление, подскажите, &lt;br&gt;&amp;gt; что нужно сделать, чтобы реализовать мою связку?&lt;br&gt;&lt;br&gt;Не до конца понял вопрос. &lt;br&gt;&lt;br&gt;Может есть смысл как сделаны другие прокси?&lt;br&gt;&lt;br&gt;https://github.com/sozu-proxy/sozu&lt;br&gt;https://github.com/shadowsocks/shadowsocks-rust&lt;br&gt;</description>
</item>

</channel>
</rss>
