<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>HowTo Yggdrasil - yggdrasil:tunnels</title>
        <description></description>
        <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/</link>
        <lastBuildDate>Wed, 09 Sep 2026 08:21:16 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_media/wiki:logo.png</url>
            <title>HowTo Yggdrasil</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/</link>
        </image>
        <item>
            <title>GRE-туннель</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:tunnels:gre-tunnel?rev=1761120800&amp;do=diff</link>
            <description>


&lt;h1 class=&quot;sectionedit1&quot; id=&quot;gre-туннель&quot;&gt;GRE-туннель&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
GRE (Generic Routing Encapsulation) - это один из простейших протоколов туннелирования, представляющий собой соединение узлов по принципу точка - точка.
&lt;/p&gt;

&lt;p&gt;
Туннелирование - это, по сути, упаковка наших данных (например, протокол &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt;) в определенный пакет, который передаётся от узла-отправителя к узлу-получателю. На узле-получателе пакет распаковывается и изначальные данные продолжают свой путь.
&lt;/p&gt;

&lt;p&gt;
GRE в чистом виде никак не защищен, нет никакого шифрования данных в пакете, и за счет этого данные в GRE-туннелях передаются с минимальными потерями в скорости и минимальным увеличением объема передаваемых данных.
&lt;/p&gt;

&lt;p&gt;
Часто GRE используется совместно с протоколами защиты сетевого трафика, например IPSec. И это по сути представляет собой практически полноценное решение для организации виртуальных частных сетей (&lt;abbr title=&quot;Virtual Private Network&quot;&gt;VPN&lt;/abbr&gt;).
&lt;/p&gt;

&lt;p&gt;
Используя чистый GRE внутри &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:yggdrasil&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:yggdrasil&quot; data-wiki-id=&quot;yggdrasil:yggdrasil&quot;&gt;Yggdrasil&lt;/a&gt; можно с различными целями легко строить туннели, аналогичные привычным &lt;abbr title=&quot;Virtual Private Network&quot;&gt;VPN&lt;/abbr&gt;. Защита тахих туннелей будет обеспечена самим &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:yggdrasil&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:yggdrasil&quot; data-wiki-id=&quot;yggdrasil:yggdrasil&quot;&gt;Yggdrasil&lt;/a&gt;, трафик в котором шифруется по-умолчанию.
&lt;/p&gt;

&lt;p&gt;
Например, с помощью GRE туннеля внутри Yggdrasil можно настроить на удаленной машине шлюз в интернет. Т.е., вы на своей домашней машине с помощью Yggdrasil можете соединяться с удаленным сервером, который будет маршрутизировать ваши данные, упакованные GRE в интернет, и c точки зрения использования всё это будет происходить аналогично тому, как это происходит при установке OpenVPN-соединения или L2TP/IPSec. 
&lt;/p&gt;

&lt;p&gt;
Команды для создания GRE-туннеля можно вводить вручную, можно написать bash-скрипт, либо можно использовать /etc/network/interfaces (либо юнит systemd) для поднятия туннелей автоматически при загрузке системы.
&lt;/p&gt;

&lt;p&gt;
Для примера:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;#какие туннели уже есть в системе (если ранее не создавали, вывод команды будет пуст)
ip tunnel show
ip -6 tunnel show

#какие интерфейсы есть в системе
ifconfig -a

#создание туннеля 
sudo ip tunnel add tun1 mode ip6gre remote 0200:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx local 0203:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx dev tun0

#активация туннеля
sudo ip link set tun1 up

#назначение адреса
sudo ip link set dev tun1 address xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx

#уничтожение туннеля
sudo ip link set tun1 down
sudo ip tunnel del tun1&lt;/pre&gt;

&lt;p&gt;
Пример с gretap (второй уровень OSI):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ip link add yggvpn0 type ip6gretap local 0200:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx remote 0203:xxxx:xxxx:xxxx:xxxx:xxxx:xxx:xxxx key 1
sudo ip link set dev yggvpn0 address xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
#удаление
sudo ip link del dev yggvpn0&lt;/pre&gt;

&lt;p&gt;
Не забывайте открывать доступ по протоколу GRE в iptables.
Интерфейс GRE можно назначить шлюзом по-умолчанию - работа будет аналогичной &lt;abbr title=&quot;Virtual Private Network&quot;&gt;VPN&lt;/abbr&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;GRE-\u0442\u0443\u043d\u043d\u0435\u043b\u044c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;gre-\u0442\u0443\u043d\u043d\u0435\u043b\u044c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;19-4254&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;практический_примерgre-туннель_ipv4_over_ipv6&quot;&gt;Практический пример: GRE-туннель IPv4 over IPv6&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Имеем две машины: t1 и t2, соединенные посредством Yggdrasil.
&lt;/p&gt;
&lt;div class=&quot;table sectionedit3&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; &lt;/th&gt;&lt;th class=&quot;col1 centeralign&quot;&gt;  t1  &lt;/th&gt;&lt;th class=&quot;col2 centeralign&quot;&gt;  t2  &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Yggdrasil IPv6 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 204:f52f:7bb4:c8c2:21f9:6972:14f5:32fd &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 200:862d:85a4:6b85:4fc1:55a3:fa3:7b0e &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Доступ в интернет &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Есть &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; Нет &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;4441-4615&amp;quot;} --&gt;
&lt;p&gt;
Создадим GRE-туннель и «пробросим» через него доступ в интернет для машины t2. Машины «в туннеле» будут иметь IPv4-адреса. Для доступа в интернет с t2 будем использовать &lt;abbr title=&quot;Network Address Translation&quot;&gt;NAT&lt;/abbr&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440: GRE-\u0442\u0443\u043d\u043d\u0435\u043b\u044c IPv4 over IPv6&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439_\u043f\u0440\u0438\u043c\u0435\u0440gre-\u0442\u0443\u043d\u043d\u0435\u043b\u044c_ipv4_over_ipv6&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;4255-4917&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;действия_на_t1&quot;&gt;Действия на t1&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Во-первых, задействуем форвардинг пакетов для того, чтобы обеспечить доступ в интернет со второй машины:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sysctl -w net.ipv4.ip_forward=1
sysctl -w net.ipv6.conf.all.forwarding=1&lt;/pre&gt;

&lt;p&gt;
Чтобы эти настройки сохранились после перезагрузки в файле /etc/sysctl.conf раскомментируем:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1&lt;/pre&gt;

&lt;p&gt;
Непосредственно, создание туннеля:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;#создаем туннель
ip tunnel add tun1 mode ip6gre remote 0200:862d:85a4:6b85:4fc1:55a3:fa3:7b0e local 0204:f52f:7bb4:c8c2:21f9:6972:14f5:32fd dev tun0

#присваиваем IPv4-адрес на интерфейс туннеля и сразу добавляем маршрут ко второму концу (10.1.1.2) через этот интерфейс
ip addr add dev tun1 local 10.1.1.1 remote 10.1.1.2 #t1 будет иметь адрес 10.1.1.1, t2 - 10.1.1.2.

#поднимаем туннель
ip link set tun1 up&lt;/pre&gt;

&lt;p&gt;
&lt;abbr title=&quot;Network Address Translation&quot;&gt;NAT&lt;/abbr&gt; c помощью iptables:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;iptables -A FORWARD -i tun1 -j ACCEPT
iptables -A FORWARD -o tun1 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043d\u0430 t1&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f_\u043d\u0430_t1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;4918-6321&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;действия_на_t2&quot;&gt;Действия на t2&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Симметричные действия для поднятия туннеля:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ip tunnel add tun1 mode ip6gre remote 0204:f52f:7bb4:c8c2:21f9:6972:14f5:32fd local 0200:862d:85a4:6b85:4fc1:55a3:fa3:7b0e dev tun0
ip addr add dev tun1 local 10.1.1.2 remote 10.1.1.1
ip link set tun1 up&lt;/pre&gt;

&lt;p&gt;
Добавим маршрут по умолчанию для доступа в интернет:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;route add default gw 10.1.1.1&lt;/pre&gt;

&lt;p&gt;
&lt;em&gt;&lt;strong&gt;Примечание:&lt;/strong&gt; если на t2 доступ в интернет уже есть и Yggdrasil на t2 подключен к публичным  пирам, а вы просто настраиваете &lt;abbr title=&quot;Virtual Private Network&quot;&gt;VPN&lt;/abbr&gt; c использованием Yggdrasil, необходимо будет прописать муршрут к пирам в обход туннеля, иначе соединение с ними прервётся. Пример добавления маршрута до публичного пира, в обход туннеля: &lt;code&gt;sudo ip route add 62.210.85.80/32 via 192.168.1.1 dev wlo1&lt;/code&gt;; 62.210.85.80 - адрес публичного пира, 192.168.1.1 - адрес шлюза в интернет (домашнего роутера), wlo1 - имя интерфейса, через который подключаетесь к шлюзу.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
В /etc/resolv.conf можно прописать &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;-сервер:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nameserver 8.8.8.8&lt;/pre&gt;

&lt;p&gt;
На обеих машинах в iptables разрешаем GRE, если оно запрещено:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ip6tables -I INPUT -p gre -j ACCEPT&lt;/pre&gt;

&lt;p&gt;
Вот, собственно, и всё. 
&lt;/p&gt;

&lt;p&gt;
Получили почти классическую схему &lt;abbr title=&quot;Virtual Private Network&quot;&gt;VPN&lt;/abbr&gt;-сервера (в роли которого выступает t2) для доступа к ошибочно заблокированным РКН сайтам.
&lt;/p&gt;

&lt;p&gt;
Кроме того, так можно обеспечить выход в интернет устройства, подключенного к Yggdrasil, например, с помощью &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:mesh_setup&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:mesh_setup&quot; data-wiki-id=&quot;yggdrasil:mesh_setup&quot;&gt;802.11s (Wi-Fi Mesh)&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
А еще, такой туннель можно использовать для коммуникации приложений, которые не поддерживают IPv6, если вы соединены только через Yggdrasil.
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;&lt;strong&gt;Примечание:&lt;/strong&gt; читайте так же о настройке IPIP-туннеля через Yggdrasil: &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:tunnels:ipip-tunnel&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:tunnels:ipip-tunnel&quot; data-wiki-id=&quot;yggdrasil:tunnels:ipip-tunnel&quot;&gt;IPIP-туннель&lt;/a&gt;.&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043d\u0430 t2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f_\u043d\u0430_t2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;6322-8850&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit6&quot; id=&quot;ссылки&quot;&gt;Ссылки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
АйТи бубен: GRE &lt;a href=&quot;https://wiki.dieg.info/gre&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://wiki.dieg.info/gre&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://wiki.dieg.info/gre&lt;/a&gt;&lt;br/&gt;

Сети для самых маленьких. Часть седьмая. &lt;abbr title=&quot;Virtual Private Network&quot;&gt;VPN&lt;/abbr&gt; &lt;a href=&quot;https://habr.com/ru/post/170895/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://habr.com/ru/post/170895/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://habr.com/ru/post/170895/&lt;/a&gt;&lt;br/&gt;

Linux Advanced Routing &amp;amp; Traffic Control HOWTO. Глава 5. GRE и другие тоннели &lt;a href=&quot;https://docstore.mik.ua/manuals/ru/LARTC/x418.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://docstore.mik.ua/manuals/ru/LARTC/x418.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://docstore.mik.ua/manuals/ru/LARTC/x418.html&lt;/a&gt;&lt;br/&gt;

Знакомство с виртуальными интерфейсами Linux: туннели &lt;a href=&quot;https://temofeev.ru/info/articles/znakomstvo-s-virtualnymi-interfeysami-linux-tunneli/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://temofeev.ru/info/articles/znakomstvo-s-virtualnymi-interfeysami-linux-tunneli/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://temofeev.ru/info/articles/znakomstvo-s-virtualnymi-interfeysami-linux-tunneli/&lt;/a&gt;&lt;br/&gt;

Простой Ethernet-туннель на Linux в четыре-шесть команд &lt;a href=&quot;https://habr.com/ru/post/227859/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://habr.com/ru/post/227859/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://habr.com/ru/post/227859/&lt;/a&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;8851-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 22 Oct 2025 08:13:20 +0000</pubDate>
        </item>
        <item>
            <title>IPIP-туннель</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:tunnels:ipip-tunnel?rev=1761120800&amp;do=diff</link>
            <description>


&lt;h1 class=&quot;sectionedit1&quot; id=&quot;ipip-туннель&quot;&gt;IPIP-туннель&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Давным-давно в далекой галактике… в одном из чатов сообщества кто-то поделился PDF-файлом, в котором описывалось создание IPIP-туннеля поверх &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:yggdrasil&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:yggdrasil&quot; data-wiki-id=&quot;yggdrasil:yggdrasil&quot;&gt;Yggdrasil&lt;/a&gt;. Автор использовал эти технологии для организации &lt;abbr title=&quot;Virtual Private Network&quot;&gt;VPN&lt;/abbr&gt;-сервера на &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/vps&quot; class=&quot;wikilink1&quot; title=&quot;vps&quot; data-wiki-id=&quot;vps&quot;&gt;VPS&lt;/a&gt;, когда используемый им ранее протокол &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/wireguard&quot; class=&quot;wikilink1&quot; title=&quot;wireguard&quot; data-wiki-id=&quot;wireguard&quot;&gt;Wireguard&lt;/a&gt; начала блокировать тёмная сторона…
&lt;/p&gt;

&lt;p&gt;
Здесь будет краткое изложение этой статьи. Ссылка на сам PDF-файл будет приведена в разделе &lt;a href=&quot;#ссылки&quot; title=&quot;yggdrasil:tunnels:ipip-tunnel ↵&quot; class=&quot;wikilink1&quot;&gt;Ссылки&lt;/a&gt;. К сожалению, не нашел оригинального сообщения с этим файлом в чате и не помню имени автора, иначе обязательно бы назвал его (e-mail автора есть в PDF-файле).
&lt;/p&gt;

&lt;p&gt;
Да, &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/&quot; class=&quot;interwiki iw_this&quot; title=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/&quot; rel=&quot;noopener&quot;&gt;здесь&lt;/a&gt; уже есть статья о настройке &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:tunnels:gre-tunnel&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:tunnels:gre-tunnel&quot; data-wiki-id=&quot;yggdrasil:tunnels:gre-tunnel&quot;&gt;GRE-туннеля&lt;/a&gt; (технологии похожи), но решил опубликовать и про IPIP, просто для того, чтобы было [в одном месте].
&lt;/p&gt;

&lt;p&gt;
Основные отличия (с точки зрения пользователя) GRE от IPIP - GRE поддерживает &lt;a href=&quot;https://ru.wikipedia.org/wiki/Мультивещание&quot; class=&quot;interwiki iw_wpru&quot; target=&quot;_blank&quot; title=&quot;https://ru.wikipedia.org/wiki/Мультивещание&quot; rel=&quot;noopener&quot;&gt;Multicast&lt;/a&gt; и инкапсулирование любого протокола &lt;a href=&quot;https://ru.wikipedia.org/wiki/Протоколы_сетевого_уровня&quot; class=&quot;interwiki iw_wpru&quot; target=&quot;_blank&quot; title=&quot;https://ru.wikipedia.org/wiki/Протоколы_сетевого_уровня&quot; rel=&quot;noopener&quot;&gt;третьего уровня&lt;/a&gt;, IPIP не поддерживает Multicast и инкапсулирует только &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt; (IPIP - &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt; over &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt;).
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;&lt;strong&gt;Примечание:&lt;/strong&gt; Под IPIP здесь подразумевается IPIP6 (работаем с IPv6 адресами Yggdrasil).&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Итак…
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;IPIP-\u0442\u0443\u043d\u043d\u0435\u043b\u044c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ipip-\u0442\u0443\u043d\u043d\u0435\u043b\u044c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;19-2018&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;vpn_c_помощью_yggdrasil_и_ipip&quot;&gt;VPN c помощью Yggdrasil и IPIP&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;VPN c \u043f\u043e\u043c\u043e\u0449\u044c\u044e Yggdrasil \u0438 IPIP&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vpn_c_\u043f\u043e\u043c\u043e\u0449\u044c\u044e_yggdrasil_\u0438_ipip&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;2019-2069&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;настройка_клиента&quot;&gt;Настройка клиента&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;em&gt;&lt;strong&gt;Примечание:&lt;/strong&gt; подразумевается, что Yggdrasil уже установлен и на клиенте и на сервере (&lt;abbr title=&quot;Virtual Private Server&quot;&gt;VPS&lt;/abbr&gt;), &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:public_peer&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:public_peer&quot; data-wiki-id=&quot;yggdrasil:public_peer&quot;&gt;пиры прописаны&lt;/a&gt;, доступ к сети есть; Yggdrasil использует интерфейс tun0.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Для начала необходимо уточнить наши IPv6-адреса Yggdrasil.
&lt;/p&gt;

&lt;p&gt;
Выполним команду на клиенте:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ip -br a show tun0&lt;/pre&gt;

&lt;p&gt;
В результате увидим:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;tun0 UNKNOWN 200:d4a5:ec3f:5914:274c:8f70::660/7&lt;/pre&gt;

&lt;p&gt;
где &lt;code&gt;200:d4a5:ec3f:5914:274c:8f70::660&lt;/code&gt; наш IPv6 адрес Yggdrasil.
&lt;/p&gt;

&lt;p&gt;
Выполним ту же команду на сервере, увидим:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;tun0 UNKNOWN 200:d4a5:ec3f:5914:274c:8f70::1/7&lt;/pre&gt;

&lt;p&gt;
Здесь, соответственно, видим адрес Yggdrasil на сервере.
&lt;/p&gt;

&lt;p&gt;
Создаём туннель на клиенте:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ip link add name ipip6 type ip6tnl local 200:d4a5:ec3f:5914:274c:8f70::660 remote 200:d4a5:ec3f:5914:274c:8f70::1 mode ipip6&lt;/pre&gt;

&lt;p&gt;
После создания туннеля у нас появятся два новых интерфейса:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ip -br a&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;ip6tnl0@NONE DOWN
tun0 UNKNOWN 200:d4a5:ec3f:5914:274c:8f70::660/7
ipip6@NONE DOWN&lt;/pre&gt;

&lt;p&gt;
Работать мы будем с интерфейсом ipip6.
&lt;/p&gt;

&lt;p&gt;
Включим этот интерфейс:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ip link set ipip6 up&lt;/pre&gt;

&lt;p&gt;
Далее вам нужно будет определиться с адресом подсети IPv4 , которая будет работать внутри туннеля. Это может быть например 192.168.44.0/30. Из этой подсети с такой маской мы можем взять
только два адреса (а больше в нашем случае и не нужно). Первый для конца туннеля на локальной машине, второй для конца туннеля на удаленном &lt;abbr title=&quot;Virtual Private Server&quot;&gt;VPS&lt;/abbr&gt;.
&lt;/p&gt;

&lt;p&gt;
Пускай это будут:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;192.168.44.1 #Для удаленного vps
192.168.44.2 #Для локальной машины&lt;/pre&gt;

&lt;p&gt;
Назначим адрес IPv4 для нашего туннеля:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ip address add 192.168.44.2/30 dev ipip6&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430_\u043a\u043b\u0438\u0435\u043d\u0442\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2070-4452&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit4&quot; id=&quot;маршрутизация&quot;&gt;Маршрутизация&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Теперь нам нужно отправить наш IPv4 трафик на &lt;abbr title=&quot;Virtual Private Server&quot;&gt;VPS&lt;/abbr&gt;. На локальной машине нам нужно будет создать пару маршрутов.
&lt;/p&gt;

&lt;p&gt;
По первому маршруту нужно пояснить. У вас в Yggdrasil прописан как минимум один peer через которого вы выходите в сеть. Так вот нам нужно что-бы соединение с этим пиром шло обязательно через интернет, не через сеть Yggdrasil. Потому-что мы не можем соединиться с сетью Yggdrasil через неё же саму, получается зацикливание. Из-за этого ничего работать не будет.
Поэтому нам и нужен маршрут, который будет всегда «роутить» соединение до пира через обычный интернет. Как раз это правило маршрутизации нам в этом поможет.
&lt;/p&gt;

&lt;p&gt;
Подставьте вместо &lt;code&gt;XX.XX.XX.XX/32&lt;/code&gt; &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt;-адрес вашего клирнет пира yggdrasil, а вместо &lt;code&gt;YY.YY.YY.YY&lt;/code&gt; &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt;-адрес вашего домашнего роутера, &lt;code&gt;wifi0&lt;/code&gt; - замените на интерфейс на котором у вас ваша домашняя сеть.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ip route add XX.XX.XX.XX/32 via YY.YY.YY.YY dev wifi0&lt;/pre&gt;

&lt;p&gt;
Далее прописываем следующий маршрут. Этот маршрут будет отправлять весь остальной трафик через наш туннель на &lt;abbr title=&quot;Virtual Private Server&quot;&gt;VPS&lt;/abbr&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ip route add 0.0.0.0/0 via 192.168.44.2 dev ipip6&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;4453-6284&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;настройка_сервера_vps&quot;&gt;Настройка сервера (VPS)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Настройка будет такая же, разница только в &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt;-адресах. При создании туннеля нужно поменять IPv6 адреса местами Local &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt; ←→ Remote &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ip link add name ipip6 type ip6tnl local 200:d4a5:ec3f:5914:274c:8f70::1 remote 200:d4a5:ec3f:5914:274c:8f70::660 mode ipip6&lt;/pre&gt;

&lt;p&gt;
Назначение IPv4-адреса на интерфейс:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ip address add 192.168.44.1/30 dev ipip6&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (VPS)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430_\u0441\u0435\u0440\u0432\u0435\u0440\u0430_vps&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;6285-6825&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit6&quot; id=&quot;настройка_iptables&quot;&gt;Настройка iptables&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Теперь мы напишем правила для &lt;a href=&quot;https://ru.wikipedia.org/wiki/Iptables&quot; class=&quot;interwiki iw_wpru&quot; target=&quot;_blank&quot; title=&quot;https://ru.wikipedia.org/wiki/Iptables&quot; rel=&quot;noopener&quot;&gt;iptables&lt;/a&gt; , которые проведут наш трафик из туннеля в интернет.
&lt;/p&gt;

&lt;p&gt;
Вместо &lt;code&gt;eth0&lt;/code&gt; подставьте интерфейс, с которого у вас выход в интернет.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# Эти два правила разрешат пересылку пакетов между интерфейсами
sudo iptables -A FORWARD -i eth0 -o ipip6 -j ACCEPT
sudo iptables -A FORWARD -i ipip6 -o eth0 -j ACCEPT
# Это правило подменит локальный ip адрес (192.168.44.2) при выходе из интерфейса eth0 на внешний ip
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 iptables&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430_iptables&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;6826-7626&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;проверка_работоспособности&quot;&gt;Проверка работоспособности&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Всё, туннель у нас должен работать. Для проверки работоспособности «попингуйте» друг друга через туннельные ip:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ping 192.168.44.1 #На локальной машине
ping 192.168.44.2 #На удаленной машине&lt;/pre&gt;

&lt;p&gt;
Если всё «пингуется» в обе стороны, то туннель успешно работает. Далее проверьте, что интернет работает именно через туннель.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# Здесь мы видим что трафик уходит через ip нашего туннеля
&amp;gt; traceroute -n 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 10.100.44.1 93.791 ms 98.394 ms 98.443 ms
2 49.11.8.1 98.441 ms 98.434 ms 98.419 ms
...&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430_\u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:14,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;7627-8538&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;заключение&quot;&gt;Заключение&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
После этого у нас на локальной машине должен работать интернет через туннель, который проходит через сеть Yggdrasil.
&lt;/p&gt;

&lt;p&gt;
Стоит напомнить что все эти настройки сбросятся после перезагрузки. Так что, вам необходимо их прописать в конфигурационные файлы ваших дистрибутивов Linux. Для интерфейсов это можно сделать через Systemd-Networkd с помощью файлов netdev. А с помощью файлов network можно назначить &lt;abbr title=&quot;Internet Protocol&quot;&gt;IP&lt;/abbr&gt;-адреса на интерфейсы. Для iptables правила можно прописать в файле &lt;code&gt;/etc/iptables/iptables.conf&lt;/code&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:16,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;8539-9418&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit9&quot; id=&quot;ссылки&quot;&gt;Ссылки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Оригинальная статья в PDF (RU): &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_media/yggdrasil:yggdrasil_vpn.pdf&quot; class=&quot;interwiki iw_this&quot; title=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_media/yggdrasil:yggdrasil_vpn.pdf&quot; rel=&quot;noopener&quot;&gt;VPN через Yggdrasil&lt;/a&gt; &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:16,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;9419-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 22 Oct 2025 08:13:20 +0000</pubDate>
        </item>
        <item>
            <title>Некоторые подробности установки jool в качестве NAT64</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:tunnels:jool?rev=1761120800&amp;do=diff</link>
            <description>


&lt;h1 class=&quot;sectionedit1&quot; id=&quot;некоторые_подробности_установки_jool_в_качестве_nat64&quot;&gt;Некоторые подробности установки jool в качестве NAT64&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
В статье &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:tunnels:nat64&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:tunnels:nat64&quot; data-wiki-id=&quot;yggdrasil:tunnels:nat64&quot;&gt;NAT64, NAT464, DNS64, CLAT, PLAT и другие страшные слова&lt;/a&gt; при описании установки и настройки jool в качестве NAT64 был использован очень «наивный» конфиг. В 99.9% случаев он будет работать, но иногда возможны некоторые проблемы. Плюс, там не описана возможность обратного (из clearnet в yggnet) проброса портов. В этой статье мы постараемся исправить этот недостаток.
&lt;/p&gt;
&lt;div class=&quot;table sectionedit2&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt;&lt;img src=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt; DISCLAIMER&lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Еще раз хотелось бы напомниь: без &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:firewall_setup&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:firewall_setup&quot; data-wiki-id=&quot;yggdrasil:firewall_setup&quot;&gt;настроек firewall&lt;/a&gt; ваша нода доступна из сети Yggdrasil всем и каждому. Если в результате через вашу ноду выйдут в «белый интернет» злые хакеры и взломают Пентагон / разместят на форуме призывы к свержению существующего строя / выложат в сеть детскую порнографию, то в первую очередь прийдут именно к вам. Не забывайте настраивать firewall (это относится не только к этой статье, а и в целом к использованию Yggdrasil). Если что - мы вас предупредили!&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;709-1600&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 jool \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 NAT64&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435_\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438_\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438_jool_\u0432_\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435_nat64&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;19-1600&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;общая_настройка_системы&quot;&gt;Общая настройка системы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Перед использованием nat64 необходимо выполнить следующее:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Посмотреть и запомнить/записать какие есть запущенные сервисы и на каких портах они слушают.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Выполнить команду &lt;strong&gt;sysctl net.ipv4.ip_local_port_range&lt;/strong&gt; и запомнить/записать диапазон портов.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0431\u0449\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0431\u0449\u0430\u044f_\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430_\u0441\u0438\u0441\u0442\u0435\u043c\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1601-2088&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;настройка_sysctlconf&quot;&gt;Настройка sysctl.conf&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
В &lt;strong&gt;/etc/sysctl.conf&lt;/strong&gt; нужно добавить три строчки 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
net.ipv4.ip_local_port_range=50000 65500&lt;/pre&gt;

&lt;p&gt;
Значения в третьей строчке нужно выбирать из Ваших потребностей. Если на сервере, на котором вы поднимаете NAT64, много локальных сервисов, которые активно ходят в интернет - возможно Вам придётся увеличить этот диапазон. Если при выполнении команды &lt;strong&gt;sysctl net.ipv4.ip_local_port_range&lt;/strong&gt; вы получили диапазон &lt;strong&gt;32768 - 60999&lt;/strong&gt; и Вы не планируете большого количества сессий через Ваш NAT64 - вобще не вводите третью строчку. Следующее предупреждение настолько важное, что оно будет написано дважды, в этом разделе и в следующем:
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt; &lt;strong&gt;ВАЖНО:&lt;/strong&gt; Диапазон портов выводимый командой &lt;strong&gt;sysctl net.ipv4.ip_local_port_range&lt;/strong&gt; и список портов, которые «слушают» другие программы никогда не должен пересекаться с диапазоном портов используемых NAT64!!!
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 sysctl.conf&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430_sysctlconf&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2089-3576&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;настройка_joolconf&quot;&gt;Настройка jool.conf&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Базово файл &lt;strong&gt;/etc/jool/jool.conf&lt;/strong&gt; должен выглядеть так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;{
        &amp;quot;comment&amp;quot;: &amp;quot;Configuration for the systemd NAT64 Jool service for yggdrasil.&amp;quot;,

        &amp;quot;instance&amp;quot;: &amp;quot;default&amp;quot;,
        &amp;quot;framework&amp;quot;: &amp;quot;netfilter&amp;quot;,

        &amp;quot;global&amp;quot;: {
                &amp;quot;comment&amp;quot;: &amp;quot;Sample pool6 prefix&amp;quot;,
                &amp;quot;pool6&amp;quot;: &amp;quot;303:fafa:fefe:dede:ff::/96&amp;quot;,
                &amp;quot;lowest-ipv6-mtu&amp;quot;: 20000,
                &amp;quot;maximum-simultaneous-opens&amp;quot;: 100
        },

        &amp;quot;comment&amp;quot;: &amp;quot;Sample pool4 table&amp;quot;,
        &amp;quot;pool4&amp;quot;: [],

        &amp;quot;bib&amp;quot;: []
}&lt;/pre&gt;

&lt;p&gt;
Это - минимально-достаточный конфиг, при котором, скорее всего, обычный NAT64 будет работать без каких либо проблем. Проблемы будут в трёх случаях:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Если диапазон, который вывела команда &lt;strong&gt;sysctl net.ipv4.ip_local_port_range&lt;/strong&gt; пересекается с диапазоном &lt;strong&gt;61001 - 65535&lt;/strong&gt;, используемый jool по умолчанию (и Вы его не поменяли) или/и в этом диапазоне «слушает» какая либо программа.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Если Вы хотите выпустить в публичную сеть через этот NAT64 много yggdrasil узлов, например офис или домашнюю сетку. Штатного диапазона Вам может просто не хватить.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Если Вы планируете обратный проброc портов, которые не попадают в диапазон &lt;strong&gt;61001 - 65535&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
&lt;img src=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt; &lt;strong&gt;ВАЖНО:&lt;/strong&gt; Диапазон портов выводимый командой &lt;strong&gt;sysctl net.ipv4.ip_local_port_range&lt;/strong&gt; и список портов, которые «слушают» другие программы никогда не должен пересекаться с диапазоном портов используемых NAT64!!!
&lt;/p&gt;

&lt;p&gt;
Если ни один из этих случаев не касается Вас, и вы пришли сюда из статьи &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:tunnels:nat64&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:tunnels:nat64&quot; data-wiki-id=&quot;yggdrasil:tunnels:nat64&quot;&gt;NAT64, NAT464, DNS64, CLAT, PLAT и другие страшные слова&lt;/a&gt; - можете спокойно вернуться к чтению той статьи. Никаких проблем у Вас не будет.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 jool.conf&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430_joolconf&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3577-5924&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;решение_проблем&quot;&gt;Решение проблем&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
И так, Вы прочитали предыдущий раздел и поняли, что у вас какие-то проблемы всё таки есть. Дальше будет написано как их решать.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0448\u0435\u043d\u0438\u0435_\u043f\u0440\u043e\u0431\u043b\u0435\u043c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;5925-6198&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;проблемапересекаются_диапазоны_портов&quot;&gt;Проблема: пересекаются диапазоны портов&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Если пересекается только вывод &lt;strong&gt;net.ipv4.ip_local_port_range&lt;/strong&gt;, то самый простой способ решения - поменять диапазон портов используемыйх системой.
&lt;/p&gt;

&lt;p&gt;
Внесение в &lt;strong&gt;/etc/sysctl.conf&lt;/strong&gt; строчки &lt;strong&gt;net.ipv4.ip_local_port_range = 32768	60999&lt;/strong&gt; скорее всего решит Вашу проблему. Это диапазон, используемый, например, в Ubuntu по умолчанию. Хватает им, хватит и Вам. Или назначьте свой диапазон. Главное - он не должен пересекаться с используемым диапазоном NAT64 по умолчанию.
&lt;/p&gt;

&lt;p&gt;
Если-же, пересекается порт, который «слушает» какя либо программа - читайте дальше.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u0441\u044f \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u044b \u043f\u043e\u0440\u0442\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u0441\u044f_\u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u044b_\u043f\u043e\u0440\u0442\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;6199-7194&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;проблемадиапазон_слишком_маленький&quot;&gt;Проблема: диапазон слишком маленький&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Придётся внести дополнительные настройки в файл &lt;strong&gt;/etc/jool/jool.conf&lt;/strong&gt; в секцию &lt;strong&gt;pool4&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;        &amp;quot;pool4&amp;quot;: [
                {
                        &amp;quot;protocol&amp;quot;: &amp;quot;TCP&amp;quot;,
                        &amp;quot;prefix&amp;quot;: &amp;quot;1.1.1.1/32&amp;quot;,
                        &amp;quot;port range&amp;quot;: &amp;quot;20000-49999&amp;quot;
                }, {
                        &amp;quot;protocol&amp;quot;: &amp;quot;UDP&amp;quot;,
                        &amp;quot;prefix&amp;quot;: &amp;quot;1.1.1.1/32&amp;quot;,
                        &amp;quot;port range&amp;quot;: &amp;quot;20000-49999&amp;quot;,
                }, {
                        &amp;quot;protocol&amp;quot;: &amp;quot;ICMP&amp;quot;,
                        &amp;quot;prefix&amp;quot;: &amp;quot;1.1.1.1/32&amp;quot;,
                        &amp;quot;port range&amp;quot;: &amp;quot;1000-2000&amp;quot;
                }

        ],&lt;/pre&gt;

&lt;p&gt;
 (вместо &lt;strong&gt;1.1.1.1&lt;/strong&gt; Вам нужно указать тот «белый» IPv4, через который вы делаете NAT64) и внести изменения в &lt;strong&gt;/etc/sysctl.conf&lt;/strong&gt;, добавив строчку &lt;strong&gt;net.ipv4.ip_local_port_range=50000 65500&lt;/strong&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d_\u0441\u043b\u0438\u0448\u043a\u043e\u043c_\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;7195-8241&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;проблемая_хочу_пробрасывать_порты&quot;&gt;Проблема: я хочу пробрасывать порты&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Собственно, вся эта статья затевалась именно для того, что бы написать про эту возможность (кто сказал, что использование данной вики в качестве личной записной книжки - плохая идея? &lt;img src=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/lib/images/smileys/smile.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:-)&quot; /&gt; ). Допустим, необходимо все пакеты приходящие на 100-й и 105-й порт «белого» IPv4 адреса пробрасывать на 100-й и 105-й порт какого либо yggdrasil адреса. Нам потребуется внести следующие изменения в файл &lt;strong&gt;/etc/jool/jool.conf&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;        &amp;quot;pool4&amp;quot;: [
                {
                        &amp;quot;protocol&amp;quot;: &amp;quot;TCP&amp;quot;,
                        &amp;quot;prefix&amp;quot;: &amp;quot;1.1.1.1/32&amp;quot;,
                        &amp;quot;port range&amp;quot;: &amp;quot;100&amp;quot;
                },{
                        &amp;quot;protocol&amp;quot;: &amp;quot;TCP&amp;quot;,
                        &amp;quot;prefix&amp;quot;: &amp;quot;1.1.1.1/32&amp;quot;,
                        &amp;quot;port range&amp;quot;: &amp;quot;105&amp;quot;
                },{
                        &amp;quot;protocol&amp;quot;: &amp;quot;TCP&amp;quot;,
                        &amp;quot;prefix&amp;quot;: &amp;quot;1.1.1.1/32&amp;quot;,
                        &amp;quot;port range&amp;quot;: &amp;quot;20000-49999&amp;quot;,
                }, {
                        &amp;quot;mark&amp;quot;: 0,
                        &amp;quot;protocol&amp;quot;: &amp;quot;UDP&amp;quot;,
                        &amp;quot;prefix&amp;quot;: &amp;quot;1.1.1.1/32&amp;quot;,
                        &amp;quot;port range&amp;quot;: &amp;quot;20000-49999&amp;quot;,
                }, {
                        &amp;quot;mark&amp;quot;: 0,
                        &amp;quot;protocol&amp;quot;: &amp;quot;ICMP&amp;quot;,
                        &amp;quot;prefix&amp;quot;: &amp;quot;1.1.1.1/32&amp;quot;,
                        &amp;quot;port range&amp;quot;: &amp;quot;1000-2000&amp;quot;
                }

        ],
        &amp;quot;bib&amp;quot;: [
                {
                        &amp;quot;protocol&amp;quot;: &amp;quot;TCP&amp;quot;,
                        &amp;quot;ipv6 address&amp;quot;: &amp;quot;312:f7fc:fafe:d0d5:1::dead#80&amp;quot;,
                        &amp;quot;ipv4 address&amp;quot;: &amp;quot;1.1.1.1#100&amp;quot;
                },{
                        &amp;quot;protocol&amp;quot;: &amp;quot;TCP&amp;quot;,
                        &amp;quot;ipv6 address&amp;quot;: &amp;quot;312:f7fc:fafe:d0d5:1::dead#443&amp;quot;,
                        &amp;quot;ipv4 address&amp;quot;: &amp;quot;1.1.1.1#105&amp;quot;
                }

        ]
}&lt;/pre&gt;

&lt;p&gt;
 (вместо &lt;strong&gt;1.1.1.1&lt;/strong&gt; указываем свой белый адрес, вместо &lt;strong&gt;312:f7fc:fafe:d0d5:1::dead&lt;/strong&gt; адрес, куда нам нужно пробрасывать порт), и не забываем внести изменения в &lt;strong&gt;/etc/sysctl.conf&lt;/strong&gt;, добавив строчку &lt;strong&gt;net.ipv4.ip_local_port_range=50000 65500&lt;/strong&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u044f \u0445\u043e\u0447\u0443 \u043f\u0440\u043e\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0440\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u044f_\u0445\u043e\u0447\u0443_\u043f\u0440\u043e\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c_\u043f\u043e\u0440\u0442\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;8242-10735&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;резюме&quot;&gt;Резюме&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Jool - это очень мощное средство, когда Вам необходимо связать между собой IPv6 и IPv4 сети. И тривиальным NAT64 оно не ограничивается. Настоятельно рекомендуется сходить к ним на &lt;a href=&quot;https://nicmx.github.io/Jool/en/index.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://nicmx.github.io/Jool/en/index.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;сайт&lt;/a&gt; и почитать документацию.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0437\u044e\u043c\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0437\u044e\u043c\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;10736-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 22 Oct 2025 08:13:20 +0000</pubDate>
        </item>
        <item>
            <title>NAT64, NAT464, DNS64, CLAT, PLAT и другие страшные слова</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:tunnels:nat64?rev=1761120800&amp;do=diff</link>
            <description>


&lt;h1 class=&quot;sectionedit1&quot; id=&quot;nat64_nat464_dns64_clat_plat_и_другие_страшные_слова&quot;&gt;NAT64, NAT464, DNS64, CLAT, PLAT и другие страшные слова&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
С начала разработки IPv6 (а это очень старый протокол, его разработка была начата в 1994 году, а в 1995 уже был выпущен &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc1883&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://datatracker.ietf.org/doc/html/rfc1883&quot; rel=&quot;ugc nofollow noopener&quot;&gt;RFC1883&lt;/a&gt; на эту тему), было понятно, что какое-то время будут сосуществовать одновременно IPv4 и IPv6 протоколы, и нужно какое-то взаимодействие между ними. Для этого были придуманы некоторые правила трансляции адресов между IPv4 и IPv6. Так как &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:yggdrasil&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:yggdrasil&quot; data-wiki-id=&quot;yggdrasil:yggdrasil&quot;&gt;Yggdrasil&lt;/a&gt; не является полноценной IPv6 сетью, а просто использует часть её адресации, в этом разделе не будет описываться «как правильно» настраивать взаимодействие «белой» IPv6 и IPv4 сети. &lt;br/&gt;

И да, эта статья рассказывает «как», но не рассказывает «зачем». Если вам проще поднять &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/wireguard&quot; class=&quot;wikilink1&quot; title=&quot;wireguard&quot; data-wiki-id=&quot;wireguard&quot;&gt;WireGuard&lt;/a&gt; over Yggdrasil - делайте, как вам удобнее.
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt; &lt;strong&gt;Для использования дальнейшей информации требуется знание/понимание устройства сетей и умение работать в командной строке Linux&lt;/strong&gt;
&lt;/p&gt;
&lt;div class=&quot;table sectionedit2&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt;&lt;img src=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt; DISCLAIMER&lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Всегда помните, что без &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:firewall_setup&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:firewall_setup&quot; data-wiki-id=&quot;yggdrasil:firewall_setup&quot;&gt;настроек firewall&lt;/a&gt; ваша нода доступна из сети Yggdrasil всем и каждому. Если в результате через вашу ноду выйдут в «белый интернет» злые хакеры и взломают Пентагон / разместят на форуме призывы к свержению существующего строя / выложат в сеть детскую порнографию, то в первую очередь прийдут именно к вам. Не забывайте настраивать firewall (это относится не только к этой статье, а и в целом к использованию Yggdrasil). Если что - мы вас предупредили!&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1620-2493&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;NAT64, NAT464, DNS64, CLAT, PLAT \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0442\u0440\u0430\u0448\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nat64_nat464_dns64_clat_plat_\u0438_\u0434\u0440\u0443\u0433\u0438\u0435_\u0441\u0442\u0440\u0430\u0448\u043d\u044b\u0435_\u0441\u043b\u043e\u0432\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;19-2494&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;общее_представление_что_это_такое&quot;&gt;Общее представление что это такое&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для начала давайте определимся, что это за страшные слова и для чего каждый из компонентов используется. Объяснение очень «на пальцах», если интересует больше подробностей очень рекомендую начать с чтения &lt;a href=&quot;https://nicmx.github.io/Jool/en/documentation.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://nicmx.github.io/Jool/en/documentation.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;документации на Jool&lt;/a&gt;, про который будет ниже.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0431\u0449\u0435\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0431\u0449\u0435\u0435_\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435_\u0447\u0442\u043e_\u044d\u0442\u043e_\u0442\u0430\u043a\u043e\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2495-3081&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;nat64_plat&quot;&gt;NAT64 (PLAT)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
NAT64 позволяет транслировать пакет с IPv6 адресами в пакет с IPv4. Естественно не любой, а специальный. В общем случае используется какая либо выделенная для этого IPv6 сеть с префиксом /96 (в «белом» IPv6 для этого есть специальная сеть &lt;strong&gt;64:ff9b::/96&lt;/strong&gt;, но мы договорились, что мы не про «белый» IPv6). Как понятно из префикса, используется последние 32 бита для записи IPv4 адреса внутри IPv6, например всем известный &lt;strong&gt;8.8.8.8&lt;/strong&gt; можно записать так: &lt;strong&gt;64:ff9b::8.8.8.8&lt;/strong&gt; (Да! Так можно писать адреса! Это полностью эквивалентно адресу &lt;strong&gt;64:ff9b::808:808&lt;/strong&gt;). По сути задача NAT64 - заменить в исходящем пакете IPv6 на спрятанный там IPv4, подставить в качестве отправителя свой (или указанный в отдельной таблице трансляции) IPv4 и выполнять обычные функции &lt;abbr title=&quot;Network Address Translation&quot;&gt;NAT&lt;/abbr&gt;.
&lt;/p&gt;

&lt;p&gt;
Можно встретить название PLAT для этого вида &lt;abbr title=&quot;Network Address Translation&quot;&gt;NAT&lt;/abbr&gt;, но это не совсем правильно. Термин PLAT применяется при использовании NAT464.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;NAT64 (PLAT)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nat64_plat&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3082-4597&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;nat46_clat&quot;&gt;NAT46 (CLAT)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Как несложно догадаться - задача NAT46 ровно обратная NAT64. Его задача переделать IPv4 адрес в IPv6. Вот тут как раз чаще применяется термин CLAT, так как обычно в «свободном» виде NAT46 не встречается, а используется в NAT464
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;NAT46 (CLAT)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nat46_clat&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;4598-5001&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;nat464_464xlat&quot;&gt;NAT464 (464XLAT)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
По сути, это набор из CLAT и PLAT (NAT46 и NAT64), который позволяет прогонять IPv4 трафик внутри сети IPv6.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;NAT464 (464XLAT)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nat464_464xlat&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;5002-5198&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;dns64&quot;&gt;DNS64&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Специальная версия (или специально настроенный) &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;, который умеет возвращать IPv6 запись для доменного имени, даже если её нет. Для этого он использует «специальный префикс», про который мы &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:tunnels:nat64#nat64_plat&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:tunnels:nat64&quot; data-wiki-id=&quot;yggdrasil:tunnels:nat64&quot;&gt;говорили выше&lt;/a&gt;. Т.е. для &lt;strong&gt;one.one.one.one&lt;/strong&gt; он вернет &lt;strong&gt;64:ff9b::101:101&lt;/strong&gt; вместо &lt;strong&gt;1.1.1.1&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
В случае с Yggdrasil есть одна проблема - обычные DNS64 возвращают существующий IPv6, если он есть. Что нам не очень подходит, потому что у нас «серая» сеть IPv6 и к «белым» адресам доступа у нас нет. Вполне возможно, что это можно как-то победить (например в &lt;a href=&quot;https://www.powerdns.com/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.powerdns.com/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;PowerDNS&lt;/a&gt; есть встроенный &lt;a href=&quot;https://doc.powerdns.com/authoritative/lua-records/index.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://doc.powerdns.com/authoritative/lua-records/index.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;LUA&lt;/a&gt;, и, возможно, это поведение можно скорректировать). Либо можно взять &lt;a href=&quot;https://github.com/ufm/yggdns64&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/ufm/yggdns64&quot; rel=&quot;ugc nofollow noopener&quot;&gt;yggdns64&lt;/a&gt; который специально для этой задачи и был написан, но его нужно компилировать самостоятельно.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DNS64&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dns64&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;5199-6641&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;jool&quot;&gt;JOOL&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Это реализация NAT64 и NAT46 под Linux. Все дальнейшие примеры настроек будут указанны именно для этой реализации. Есть ли что-то подобное под Windows (скорее всего - нет) или под FreeBSD (скорее всего - да) не проверялось.
&lt;/p&gt;

&lt;p&gt;
Официальный сайт Jool: &lt;a href=&quot;https://nicmx.github.io/Jool/en/index.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://nicmx.github.io/Jool/en/index.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://nicmx.github.io/Jool/en/index.html&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;JOOL&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;jool&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;6642-7114&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;настройка&quot;&gt;Настройка&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt; Так как проверялась работоспособность только на &lt;strong&gt;Linux Ubuntu 20.04&lt;/strong&gt; (и немножко на Windows в качестве клиента) и &lt;strong&gt;Jool 4.1.13&lt;/strong&gt;, считается что используется именно этот комплект. Для установки &lt;strong&gt;Jool&lt;/strong&gt; предварительно нужно установить &lt;strong&gt;&lt;a href=&quot;https://ru.wikipedia.org/wiki/Dynamic_Kernel_Module_Support&quot; class=&quot;interwiki iw_wpru&quot; target=&quot;_blank&quot; title=&quot;https://ru.wikipedia.org/wiki/Dynamic_Kernel_Module_Support&quot; rel=&quot;noopener&quot;&gt;DKMS&lt;/a&gt;&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
Например, у Вас есть &lt;strong&gt;VDS&lt;/strong&gt; через которую вы хотите выходить в интернет, т.е. сделать Exit Node. Глобально - рассматривается вот такой вариант сети
&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_detail/yggdrasil:nat464-1.png?id=yggdrasil%3Atunnels%3Anat64&quot; class=&quot;media&quot; title=&quot;yggdrasil:nat464-1.png&quot;&gt;&lt;img src=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_media/yggdrasil:nat464-1.png&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Но будет рассмотрен вариантf без CLAT с его плюсами и минусами.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;7115-7988&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;nat64&quot;&gt;NAT64&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Начнём настройку с NAT64, потому что он нам потребуется в любом случае.
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://yggdrasil-network.github.io/installation.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://yggdrasil-network.github.io/installation.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Устанавливаем Yggdrasil&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Устанавливаем DKMS&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://nicmx.github.io/Jool/en/download.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://nicmx.github.io/Jool/en/download.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Скачиваем&lt;/a&gt; и &lt;a href=&quot;https://nicmx.github.io/Jool/en/documentation.html#installation&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://nicmx.github.io/Jool/en/documentation.html#installation&quot; rel=&quot;ugc nofollow noopener&quot;&gt;устанавливаем&lt;/a&gt; Jool (в Ubuntu эта программа есть в системном репозитории)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Добавляем в &lt;strong&gt;/etc/sysctl.conf&lt;/strong&gt; две строчки &lt;pre class=&quot;code&quot;&gt;net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Смотрим свой IPv6 yggdrasil адрес. Допустим, он &lt;strong&gt;203:fafa:fefe:dede:1ea2:5545:73b5:bf02/7&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Создаём каталог &lt;strong&gt;/etc/jool&lt;/strong&gt; и в нём такой файл: &lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_export/code/yggdrasil:tunnels:nat64?codeblock=1&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_conf&quot;&gt;jool.conf&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;file&quot;&gt;{
        &amp;quot;comment&amp;quot;: &amp;quot;Configuration for the systemd NAT64 Jool service for yggdrasil.&amp;quot;,

        &amp;quot;instance&amp;quot;: &amp;quot;default&amp;quot;,
        &amp;quot;framework&amp;quot;: &amp;quot;netfilter&amp;quot;,

        &amp;quot;global&amp;quot;: {
                &amp;quot;comment&amp;quot;: &amp;quot;Sample pool6 prefix&amp;quot;,
                &amp;quot;pool6&amp;quot;: &amp;quot;303:fafa:fefe:dede:ff::/96&amp;quot;,
                &amp;quot;lowest-ipv6-mtu&amp;quot;: 20000,
                &amp;quot;maximum-simultaneous-opens&amp;quot;: 100
        },

        &amp;quot;comment&amp;quot;: &amp;quot;Sample pool4 table&amp;quot;,
        &amp;quot;pool4&amp;quot;: [],

        &amp;quot;bib&amp;quot;: []
}
&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;systemctl enable jool; systemctl start jool&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Теперь проверям что у нас получилось. Сейчас, с любой &lt;strong&gt;другой&lt;/strong&gt; машины с настроенным yggdrasil (обратите внимание - &lt;strong&gt;другой&lt;/strong&gt;!) делаем так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;C:\&amp;gt;ping 303:fafa:fefe:dede:ff::1.1.1.1

Pinging 303:fafa:fefe:dede:ff:0:101:101 with 32 bytes of data:
Reply from 303:fafa:fefe:dede:ff:0:101:101: time=40ms
Reply from 303:fafa:fefe:dede:ff:0:101:101: time=41ms
Reply from 303:fafa:fefe:dede:ff:0:101:101: time=41ms
Reply from 303:fafa:fefe:dede:ff:0:101:101: time=41ms

Ping statistics for 303:fafa:fefe:dede:ff:0:101:101:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 40ms, Maximum = 41ms, Average = 40ms&lt;/pre&gt;

&lt;p&gt;
Если вы получили такой-же результат - поздравляем. Вы настроили свой первый &lt;strong&gt;NAT64&lt;/strong&gt;. Самое время перечитать дисклеймер в начале статьи. В статье &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:tunnels:jool&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:tunnels:jool&quot; data-wiki-id=&quot;yggdrasil:tunnels:jool&quot;&gt;Некоторые подробности установки jool в качестве NAT64&lt;/a&gt; немного подробнее описана настройка Jool, какие могут встретиться подводные грабли и как их преодолеть.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;NAT64&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nat64&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;7989-10691&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;настраиваем_firewall&quot;&gt;Настраиваем firewall&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
В виду того, что Jool перехватывает пакеты данных до того, как они достигнут основных правил Фаерволла, то потребуется его дополнительная настройка. В этой секции подразумевается что используется префикс &lt;strong&gt;303:fafa:fefe:dede:ff::/96&lt;/strong&gt;, и то что на сервере с NAT64 установлен ip6tables.
&lt;/p&gt;

&lt;p&gt;
Сначала мы добавляем правило, чтобы отбрасывать пакеты *до* того как их перехватит Jool:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ip6tables -t mangle -I PREROUTING -d 303:fafa:fefe:dede:ff::/96 -j DROP&lt;/pre&gt;

&lt;p&gt;
Теперь нужно в следующем правиле разрешить пакеты от выбранных пользователей:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;ip6tables -t mangle -I PREROUTING -s 2ff:0000:0000:0000:0000:0000:0000:0000/128 -d 303:fafa:fefe:dede:ff::/96 -j ACCEPT&lt;/pre&gt;

&lt;p&gt;
 для основного адреса
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;ip6tables -t mangle -I PREROUTING -s 3ff:0000:0000:0000::/64 -d 303:fafa:fefe:dede:ff::/96 -j ACCEPT&lt;/pre&gt;

&lt;p&gt;
 для &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:network_connection_variants&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:network_connection_variants&quot; data-wiki-id=&quot;yggdrasil:network_connection_variants&quot;&gt;маршрутизируемой подсети /64&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c firewall&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c_firewall&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;10692-11998&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;используем_clat_но_не_используем_dns64&quot;&gt;Используем CLAT но не используем DNS64&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c CLAT \u043d\u043e \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c DNS64&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c_clat_\u043d\u043e_\u043d\u0435_\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c_dns64&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;11999-12072&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit13&quot; id=&quot;вариант_с_отдельным_роутером&quot;&gt;Вариант с отдельным роутером&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Наверное это самый простой вариант, по сути практически полностью аналогичный классическому &lt;strong&gt;&lt;abbr title=&quot;Virtual Private Network&quot;&gt;VPN&lt;/abbr&gt;&lt;/strong&gt;. Имеет смысл использовать в том случае, если у вас несколько локальных машин, есть локальная сеть со своей адресацией и нужно весь трафик этой локалки пустить «наружу» через &lt;strong&gt;&lt;abbr title=&quot;Virtual Private Network&quot;&gt;VPN&lt;/abbr&gt;&lt;/strong&gt; (т.е. ровно как на картинке выше). Подразумевается, что у этого роутера настроен IPv4 адрес &lt;strong&gt;192.168.0.1&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
И так:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://yggdrasil-network.github.io/installation.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://yggdrasil-network.github.io/installation.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Устанавливаем Yggdrasil&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Устанавливаем DKMS&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://nicmx.github.io/Jool/en/download.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://nicmx.github.io/Jool/en/download.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Скачиваем&lt;/a&gt; и &lt;a href=&quot;https://nicmx.github.io/Jool/en/documentation.html#installation&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://nicmx.github.io/Jool/en/documentation.html#installation&quot; rel=&quot;ugc nofollow noopener&quot;&gt;устанавливаем&lt;/a&gt; Jool&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Добавляем в &lt;strong&gt;/etc/sysctl.conf&lt;/strong&gt; две строчки &lt;pre class=&quot;code&quot;&gt;net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Смотрим свой IPv6 yggdrasil адрес. Допустим он &lt;strong&gt;200:dead:beef:bebe:1424:7a39:8566:aa12/7&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Создаём каталог &lt;strong&gt;/etc/jool&lt;/strong&gt; и в нём такой файл: &lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_export/code/yggdrasil:tunnels:nat64?codeblock=8&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_conf&quot;&gt;jool_siit.conf&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;file&quot;&gt;{
        &amp;quot;comment&amp;quot;: &amp;quot;Configuration for yggdrasil clat server.&amp;quot;,

        &amp;quot;instance&amp;quot;: &amp;quot;default&amp;quot;,
        &amp;quot;framework&amp;quot;: &amp;quot;netfilter&amp;quot;,

        &amp;quot;global&amp;quot;: {
                &amp;quot;comment&amp;quot;: &amp;quot;pool6 prefix&amp;quot;,
                &amp;quot;pool6&amp;quot;: &amp;quot;303:fafa:fefe:dede:ff::/96&amp;quot;,
                &amp;quot;lowest-ipv6-mtu&amp;quot;: 20000
        },

        &amp;quot;comment&amp;quot;: &amp;quot;EAM table&amp;quot;,
        &amp;quot;eamt&amp;quot;: [
                {
                        &amp;quot;ipv6 prefix&amp;quot;: &amp;quot;300:dead:beef:bebe:ff::/96&amp;quot;,
                        &amp;quot;ipv4 prefix&amp;quot;: &amp;quot;192.168.0.0/24&amp;quot;
                }
        ]
}&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;systemctl enbale jool_siit; systemctl start jool_siit&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Теперь проверям что у нас получилось. Сейчас, с любой &lt;strong&gt;другой&lt;/strong&gt; машины (обратите внимание - &lt;strong&gt;другой&lt;/strong&gt;!), у которой адрес &lt;strong&gt;192.168.0.1&lt;/strong&gt; указан в качестве Default Gateway делаем трейсрут и проверяем, что трафик действительно пошёл через этот тунель.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u0441 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0440\u043e\u0443\u0442\u0435\u0440\u043e\u043c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u0430\u0440\u0438\u0430\u043d\u0442_\u0441_\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c_\u0440\u043e\u0443\u0442\u0435\u0440\u043e\u043c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;12073-14531&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit14&quot; id=&quot;вариант_без_отдельного_роутера&quot;&gt;Вариант без отдельного роутера&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Этот вариант имеет смысл использовать когда у Вас один (или несколько стоящих разрозненно) компьютеров, в качестве операционной системы используется Linux  и установлен Yggdrasil.
&lt;/p&gt;

&lt;p&gt;
Есть несколько решений, они все подразумевают создание отдельного интерфейса.
Один из вариантов описан в &lt;a href=&quot;https://www.jool.mx/en/node-based-translation.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.jool.mx/en/node-based-translation.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;документации&lt;/a&gt; на сайте Jool. Но мы рассмотрим другой вариант - под него есть готовый скрипт, который всю «грязную работу» сделает за нас. Что нам потребуется:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://yggdrasil-network.github.io/installation.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://yggdrasil-network.github.io/installation.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Установить Yggdrasil&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Командой &lt;strong&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:admin_api#getself&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:admin_api&quot; data-wiki-id=&quot;yggdrasil:admin_api&quot;&gt;yggdrasilctl getself&lt;/a&gt;&lt;/strong&gt; нужно посмотреть какая &lt;strong&gt;300/7&lt;/strong&gt; сеть выделена. Она потребуется ниже.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://github.com/toreanderson/clatd&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/toreanderson/clatd&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Скачать&lt;/a&gt; и установить этот скрипт.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; На всякий случай - проверить что установлена &lt;a href=&quot;http://www.litech.org/tayga/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.litech.org/tayga/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Tayga&lt;/a&gt;, это аналог jool-siit (stateless NAT64). Если Вы устанавливали clatd методом &lt;strong&gt;sudo make -C clatd install installdeps&lt;/strong&gt; - он должен сам поставить этот пакет, но лучше перепроверить. В &lt;strong&gt;Ubuntu&lt;/strong&gt; он есть в системных пакетах, так что &lt;strong&gt;apt install tayga&lt;/strong&gt; должно хватить.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; В каталоге &lt;strong&gt;/etc&lt;/strong&gt; Создаём файл &lt;dl class=&quot;file&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/_export/code/yggdrasil:tunnels:nat64?codeblock=10&quot; title=&quot;Скачать фрагмент кода&quot; class=&quot;mediafile mf_conf&quot;&gt;clatd.conf&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;file&quot;&gt;clat-v6-addr=3XX:XXXX:XXXX:XXXX::X
plat-prefix=303:fafa:fefe:dede:ff::/96
v4-conncheck-enable=no
v4-defaultroute-replace=yes
proxynd-enable=no
ip6tables-enable=yes&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;systemctl enbale clatd; systemctl start clatd&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
В качетсве &lt;strong&gt;3XX:XXXX:XXXX:XXXX::X&lt;/strong&gt; пропишите свободный ip из той сети, что получили в пункте 2. Нужен именно &lt;strong&gt;свободный&lt;/strong&gt; адрес, т.е. не назначенный никакому интерфейсу. Собственно - всё. Теперь весь &lt;strong&gt;IPv4&lt;/strong&gt; трафик пойдёт через Yggdrasil.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u0431\u0435\u0437 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u043e\u0443\u0442\u0435\u0440\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u0430\u0440\u0438\u0430\u043d\u0442_\u0431\u0435\u0437_\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e_\u0440\u043e\u0443\u0442\u0435\u0440\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;14532-17075&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit15&quot; id=&quot;используем_dns64_но_не_используем_clat&quot;&gt;Используем DNS64, но не используем CLAT&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Вариант тоже очень простой и применим в ситуации «yggdrasil only» конфигурации ноды. Т.е., на ней вобще нет IPv4 адреса, ну кроме &lt;strong&gt;127.0.0.1&lt;/strong&gt;, куда-же без него (желающих выпилить и его - ждёт масса очень интересного секса). Но система (Windows - сильнее, Linux - в меньшей степени) и часть софта немного «шизеют» от такого варианта. Причин несколько:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; IPv4 адреса становятся полностью недоступны. А часть софта (включая сами системы) любит проверять наличие сети методом пропингивания какого либо IPv4 адреса. А еще Гугловые поделия (например тот-же Хром), любят проверять наличие сети через резолвинг посредством своего &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; При этом и белые IPv6 адреса тоже недоступны. И опять таки, часть софта (опять включая сами системы), не найдя IPv4 пытается повторить всё тоже самое посредством IPv6&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Но сеть-то есть! По крайней мере &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; работает. Софт всё больше «офигивает»…&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Но имя, которое должно резолвиться в IPv4 &lt;strong&gt;ВНЕЗАПНО&lt;/strong&gt; резолвится в IPv6. Часть софта уходит в «полную несознанку» (например тот, который в принципе не умеет работать с IPv6)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Тем не менее, если у Вас на ноде есть работающий IPv4 и Вас не пугает, что часть трафика пойдёт мимо Yggdrasil - вариант работающий. Собственно, эта статья пишется именно с такой ноды. Но лучше использовать &lt;strong&gt;DNS64 + CLAT&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Что нужно настраивать:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://github.com/ufm/yggdns64&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/ufm/yggdns64&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Скачать&lt;/a&gt; и скомпилировать (он написано на &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/go:go&quot; class=&quot;wikilink1&quot; title=&quot;go:go&quot; data-wiki-id=&quot;go:go&quot;&gt;Go&lt;/a&gt;) yggdns64 (или найти и настроить его аналог).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Установить его где нибудь.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; В настройках ноды в качестве &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; использовать именно его.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Для Firefox не помешает добавить такую настройку: &lt;strong&gt;network.manage-offline-status: false&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Всё. Для проверки - достаточно сделать ping по доменному имени. Если имя резолвится в IPv6 - значит всё OK.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c DNS64, \u043d\u043e \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c CLAT&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c_dns64_\u043d\u043e_\u043d\u0435_\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c_clat&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;17076-20065&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit16&quot; id=&quot;dns64_clat&quot;&gt;DNS64 + CLAT&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Этот вариант хорошо использовать в ситуации, когда у вас на ноде есть и IPv4 и ygg-IPv6 адреса (т.е. у 99.9% пользователей Yggdrasil). У него плюсы обоих вариантов:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Система и софт не дуреют от происходящего&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Весь IPv4 трафик ходит через туннель&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
И при этом почти нет недостатков
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Опять таки, система и софт не дуреют от происходящего. Ну кроме софта, который не умеет работать с IPv6 в принципе.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Если используется &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; имя - трафик ходит мимо CLAT, т.е. Yggdrasil путь уменьшается на 1 хоп, что, по понятным причинам, очень хорошо сказывается на скорости.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DNS64 + CLAT&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dns64_clat&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;20066-21050&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit17&quot; id=&quot;в_качестве_заключения&quot;&gt;В качестве заключения&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
На самом деле этим всё не ограничивается. Например, &lt;strong&gt;Jool&lt;/strong&gt; можно настроить так, что бы она пробрасывала порт с внешнего IPv4 на &lt;strong&gt;ygg-IPv6&lt;/strong&gt;. А еще, понятное дело, на один &lt;strong&gt;NAT64&lt;/strong&gt; можно повесить кучку &lt;strong&gt;CLAT&lt;/strong&gt;. Но, как говорится, &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/hm:not_a_goal&quot; class=&quot;wikilink1&quot; title=&quot;hm:not_a_goal&quot; data-wiki-id=&quot;hm:not_a_goal&quot;&gt;это не цель Yggdrasil&lt;/a&gt;. :) 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432_\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435_\u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;21051-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 22 Oct 2025 08:13:20 +0000</pubDate>
        </item>
        <item>
            <title>Проброс соединений 6-4 (4-6) с помощью socat</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:tunnels:socat?rev=1776777987&amp;do=diff</link>
            <description>


&lt;h1 class=&quot;sectionedit1&quot; id=&quot;проброс_соединений_6-4_4-6_с_помощью_socat&quot;&gt;Проброс соединений 6-4 (4-6) с помощью socat&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Socat&lt;/strong&gt; - это утилита на основе командной строки, которая устанавливает два двунаправленных потока байтов и передает данные между ними. Поскольку потоки могут быть сконструированы из большого набора различных типов приемников данных и источников, а также поскольку к потокам может быть применено множество вариантов адресации, socat можно использовать для самых разных целей.
&lt;/p&gt;

&lt;p&gt;
Ниже будет пара примеров использования утилиты socat для проброса соединений с IPv4 на IPv6 и обратно.
&lt;/p&gt;

&lt;p&gt;
Это может понадобиться, например, если у вас есть очень старое устройство, которое не поддерживает протокол IPv6, но вы хотите вывести его в &lt;a href=&quot;http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:yggdrasil&quot; class=&quot;wikilink1&quot; title=&quot;yggdrasil:yggdrasil&quot; data-wiki-id=&quot;yggdrasil:yggdrasil&quot;&gt;Yggdrasil&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 6-4 (4-6) \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e socat&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0431\u0440\u043e\u0441_\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439_6-4_4-6_\u0441_\u043f\u043e\u043c\u043e\u0449\u044c\u044e_socat&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;19-1254&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;установка&quot;&gt;Установка&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Установить утилиту в дистрибутиве на базе &lt;a href=&quot;https://ru.wikipedia.org/wiki/Debian&quot; class=&quot;interwiki iw_wpru&quot; target=&quot;_blank&quot; title=&quot;https://ru.wikipedia.org/wiki/Debian&quot; rel=&quot;noopener&quot;&gt;Debian&lt;/a&gt; можно так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo apt install socat&lt;/pre&gt;

&lt;p&gt;
Для Windows socat можно скачать, например, отсюда: &lt;a href=&quot;https://sourceforge.net/projects/unix-utils/files/socat/1.7.3.2/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://sourceforge.net/projects/unix-utils/files/socat/1.7.3.2/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://sourceforge.net/projects/unix-utils/files/socat/1.7.3.2/&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1255-1590&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;section46&quot;&gt;4-6&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;socat TCP4-Listen:4321,fork TCP6:[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]:80&lt;/pre&gt;

&lt;p&gt;
Допустим, мы выполнили эту команду на устройстве, подключенном к Yggdrasil и имеющим локальный IPv4-адрес: 192.168.1.3
&lt;/p&gt;

&lt;p&gt;
На устройстве, которое не подключено к Yggdrasil, но так же подключено к локальной сети IPv4, запускаем браузер, вбиваем в адресную строку: &lt;code&gt;http://192.168.1.3:4321&lt;/code&gt; и что же видим?
&lt;/p&gt;

&lt;p&gt;
А увидим мы стартовую страницу этого ресурса.
&lt;/p&gt;

&lt;p&gt;
Браузер устанавливает &lt;abbr title=&quot;Transport Control Protocol&quot;&gt;TCP&lt;/abbr&gt;-соединение c 192.168.1.3:4321, на этом адресе и порте слушает socat, который «перебрасывает» соединение на [222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]:80.
&lt;/p&gt;

&lt;p&gt;
Ключ &lt;em&gt;&lt;strong&gt;fork&lt;/strong&gt;&lt;/em&gt; означает, что после установки соединения оно переносится в дочерний процесс, а родительский процесс (socat) после этого будет готов принимать новые соединения.
&lt;/p&gt;

&lt;p&gt;
Как видите, всё довольно просто :)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;4-6&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section46&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1591-2918&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;section64&quot;&gt;6-4&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;socat TCP6-Listen:4321,fork TCP4:192.168.1.10:5000&lt;/pre&gt;

&lt;p&gt;
Выполняем эту команду на устройстве, подключенном к Yggdrasil.
&lt;/p&gt;

&lt;p&gt;
На другом устройстве (так же подключенном к  Yggdrasil) открываем браузер, вбиваем в адресной строке &lt;code&gt;http://[203:52a2:a8fa:3f22:71cd:8310:6f4:f771]:4321&lt;/code&gt; (Yggdrasil-адрес первого устройства) и попадаем в Web-интерфейс устройства с адресом &lt;abbr title=&quot;Локальная вычислительная сеть&quot;&gt;ЛВС&lt;/abbr&gt; 192.168.1.10 [как бы, не подключенного к Yggdrasil] (естественно, адреса и порты должны быть правильные, рабочие (на устройствах должны быть запущены соответствующие сервисы)).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;6-4&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section64&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2919-3794&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;section6446&quot;&gt;6-4 &amp;amp; 4-6&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ну, и напоследок строка для запуска экземпляров socat для проброса соединений с 4 на 6 и с 6 на 4 одновременно.
Команды выполняем на устройстве, подключенном к Yggdrasil, имеющим адреса: 192.168.1.3 и 203:52a2:a8fa:3f22:71cd:8310:6f4:f771.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;socat TCP4-LISTEN:4322,fork TCP6:[202:421a:2eb5:40a4:fa32:f4a4:9b42:d4e4]:3202|socat TCP6-Listen:4321,fork TCP4:192.168.1.10:16881&lt;/pre&gt;

&lt;p&gt;
Для проверки того, что у нас получилось выполним:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo netstat -natup |grep socat&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;tcp        0      0 0.0.0.0:4322            0.0.0.0:*               LISTEN      8428/socat          
tcp6       0      0 :::4321                 :::*                    LISTEN      8429/socat&lt;/pre&gt;

&lt;p&gt;
Слушаем IPv4 на 4322 и IPv6 на 4321.
&lt;/p&gt;

&lt;p&gt;
4322 перенаправляем на [202:421a:2eb5:40a4:fa32:f4a4:9b42:d4e4]:3202; 4321 перенаправляем в обратную сторону - на 192.168.1.10:16881.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;6-4 &amp;amp; 4-6&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section6446&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3795-4911&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;автозапуск_socat&quot;&gt;Автозапуск socat&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Запускать socat можно из системного планировщика.
&lt;/p&gt;

&lt;p&gt;
В Linux с &lt;a href=&quot;https://ru.wikipedia.org/wiki/Systemd&quot; class=&quot;interwiki iw_wpru&quot; target=&quot;_blank&quot; title=&quot;https://ru.wikipedia.org/wiki/Systemd&quot; rel=&quot;noopener&quot;&gt;systemd&lt;/a&gt; надежнее будет создать простенький юнит, например, такой:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[Unit]
Description=socat-forwarding
Documentation=http://www.dest-unreach.org/socat/doc/socat.html
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/socat TCP4-LISTEN:4322,fork TCP6:[202:421a:2eb5:40a4:fa32:f4a4:9b42:d4e4]:3202|/usr/bin/socat TCP6-Listen:4321,fork TCP4:192.168.1.10:16881 2&amp;gt;&amp;amp;1
Restart=always
RestartSec=1
TimeoutStopSec=0

[Install]
WantedBy=multi-user.target&lt;/pre&gt;

&lt;p&gt;
Юнит можно поместить в &lt;code&gt;/usr/lib/systemd/system/&lt;/code&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0410\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a socat&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a_socat&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;4912-5672&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit7&quot; id=&quot;ссылки&quot;&gt;Ссылки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Страница socat в Интернет (EN): &lt;a href=&quot;http://www.dest-unreach.org/socat/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.dest-unreach.org/socat/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.dest-unreach.org/socat/&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;5673-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 21 Apr 2026 13:26:27 +0000</pubDate>
        </item>
        <item>
            <title>YDN64</title>
            <link>http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]/yggdrasil:tunnels:ydn64?rev=1785250404&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;ydn64&quot;&gt;YDN64&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Свежий взгляд на построение серверной части для DNS64/NAT64-туннеля &lt;br/&gt;

Не требует root, не создаёт tun-устройство и, следовательно, не требует настройки файрвола для Yggdrasil-трафика на серверной стороне &lt;br/&gt;

Имеются готовые сборки и Docker-контейнер
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;YDN64&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ydn64&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-447&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;ссылки&quot;&gt;Ссылки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Репозиторий проекта: &lt;a href=&quot;https://github.com/DrewCyber/ydn64&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/DrewCyber/ydn64&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://github.com/DrewCyber/ydn64&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;448-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 28 Jul 2026 14:53:24 +0000</pubDate>
        </item>
    </channel>
</rss>
