[[Yggdrasil]]
 

Yggdrasil

Yggdrasil - это сетевой протокол и организованная с помощью него компьютерная оверлейная сеть ячеистой топологии со сквозным шифрованием и автоматической маршрутизацией. Yggdrasil обеспечивает работу сети на третьем уровне модели OSI (адресация, маршрутизация и т.п.). Устройства, при этом, могут быть соединены между собой посредством кабелей, лазера или радио (Wi-Fi). Подключиться к Yggdrasil можно и через обычный Интернет или локальную сеть, прописав адреса узлов Yggdrasil (публичных пиров) в конфигурационном файле.

Yggdrasil не требует подключения по протоколу IPv6, узлы могут соединяться между собой, используя IPv4, однако, операционная система, в которой запущен Yggdrasil должна поддерживать работу протокола IPv6.

Yggdrasil реализован на языке Go и доступен для сборки и установки в большинстве популярных ОС.

Как можно использовать Yggdrasil

Варианты:

1. Подключение к «глобальной» Yggdrasil-сети. В этой сети работают различные сервисы (web, игровые, форумы, IRC, обмен файлами и т.п.), работа которых поддерживается пользователями и энтузиастами из разных стран. Есть несколько зеркал интернет-сайтов.

Для подключения к сети достаточно в конфигурационном файле прописать один или несколько адресов публичных узлов. Для подключения по Wi-Fi используется технология автоматического обнаружения узлов (Multicast Peer Discovery).

Используя Yggdrasil таким образом вы фактически получаете аналог «белого» IPv6-адреса и большую подсеть, адреса из которой вы можете назначить устройствам в своей домашней сети (с помощью radvd или вручную). Это дает определенные бонусы. Например, если ваш интернет-провайдер не выдает вам бесплатно «белый» IP-адрес, а вы хотите иметь доступ к домашней сети из вне (из рабочего офиса, как вариант), с устройств, которые находятся за NAT - Yggdrasil позволит сделать это легко и просто: достаточно установить Yggdrasil на домашнем устройстве и в офисе, и минуя все преграды вы сможете обращаться к устройству в офисе из дома и из офиса к домашним так, как будто они имеют «белые» IPv6-адреса. Соединение, при этом, будет защищено надежным шифрованием. Не забывайте настроить файервол, чтобы ограничить доступ других участников сети.

2. То, что реализовано в глобальной сети Yggdrasil можно реализовать и в кругу ограниченного числа участников (друзей, семьи, соседей), даже если они территориально находятся на удалении от вас. Соединение в сеть производится аналогично, только не нужно публиковать адреса своих узлов. Таким образом легко можно организовать сеть между всеми своими родственниками, как вариант.

3. Альтернатива VPN. Используя Yggdrasil в совокупности с другими технологиями (например, GRE-туннели) можно реализовать полноценную замену OpenVPN, L2TP/IPSec, WireGuard и т.п. Также можно использовать то, что по сути yggdrasil это обычная ipv6 сеть. За время разработки которой было придумано некоторое количество вариантов проброса ipv4 трафика (почти) без использования дополнительных технологий.

4. Организация [в теории] отказоустойчивой масштабируемой и независимой от Интернет сети с различными целями.

В чатах, тематики Yggdrasil упоминался проект, в котором с помощью Yggdrasil реализовывалась противопожарная сигнализация с камерами наблюдения где-то в лесах, а так же, проект, связанный с коммуникациями в сфере медицины.

С чего начать

Начать использовать Yggdrasil просто: установите его, в соответствии с инструкцией для вашей операционной системы, добавьте в конфигурационный файл один или несколько публичных пиров, перезапустите сервис / демон, чтобы изменения в конфигурационном файле вступили в силу и попробуйте, проверить доступность какого-нибудь другого узла с помощью ping, например, так:

ping 21e:a51c:885b:7db0:166e:927:98cd:d186

Здесь 21e:a51c:885b:7db0:166e:927:98cd:d186 - это IPv6-адрес узла, на котором размещается web-сервис со списком сайтов внутри сети. Если ping даёт ответы на ваши запросы, значит, Yggdrasil работает нормально и вы подключены к сети.

Далее, можно почитать статьи на этом ресурсе (возможно, потребуется настроить браузер, узнать адрес своего узла, настроить файервол с учетом того, что вы теперь подключены к Yggdrasil, настроить DNS и т.д.).

Если что-то не получается, Yggdrasil не работает, ознакомьтесь со статьёй Диагностика проблем.

Читайте так же: Как подключиться к Yggdrasil, не устанавливая его клиент на устройство, Mesh посредством радио-линка, Yggdrasil на смартфонах и другие полезные статьи на этом ресурсе.

Статьи внутри раздела

Ссылки

Сайт проекта: https://yggdrasil-network.github.io/

Обсуждение

Олег, 2023/06/29 23:37, 2023/09/22 22:21
Мне кажется (?), что в перечне справочных тем нет одной очень важной темы: компиляция и сборка работающего Yggdrasil из исходников https://github.com/yggdrasil-network/yggdrasil-go.git + как подготовить собранное (после проверки его пригодности) для запуска его сервис (systemd) Linux.

Fyodor Ustinov, 2023/06/29 23:41
Эта вики доступна для редактирования для всех.
newbie, 2023/06/30 00:11
Будет желание - напишите. Но там довольно просто всё.
Статья о том, как установить Go есть на этом ресурсе.

Сборка Yggdrasil из исходников:
./build

Сборка под разные ОС/архитектуры:
GOOS=windows ./build или GOOS=linux GOARCH=mipsle ./build

Готовый юнит systemd есть здесь: https://github.com/yggdrasil-network/yggdrasil-go/tree/develop/contrib/systemd

Скрипт для создания deb-пакета: https://github.com/yggdrasil-network/yggdrasil-go/tree/develop/contrib/deb

Олег, 2023/06/30 21:09, 2023/06/30 22:06
Для "реализовать и в кругу ограниченного числа участников" (п.2 - изолированную сеть), наверное, нужно арендовать VDS с белым IPv4, и этот его IPv4 указать как единственный внешний пир для всех хостов сети, независимо за какими NAT и каких провайдеров они сидят? (При условии, естественно, что все эти хосты не имеют никакого другого внешнего пира.) Я правильно понимаю?

Олег, 2023/06/30 22:16, 2023/07/01 13:02
Как мне кажется, среди перечисленных п.1-4 не назван явно п.5: возможность удалённо подключиться к любому хосту, закрытому IPv4 NAT от любого провайдера, зайти например, по SSH, и таким образом возможность удалённого администрирования миллионов хостов с серыми IP, недоступных напрямую извне. И делается это без использования изощрённых приёмов ("через задницу") типа пробросов портов или SSH туннелей.
Это лучшее, как мне кажется, применение Yggdrasil.

Только авторизованные участники могут оставлять комментарии.
yggdrasil/yggdrasil.txt · Последнее изменение: 2023/10/29 17:06 — newbie
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki