howto-db/data/pages/yggdrasil/yggdrasil.txt
2024-02-10 12:53:55 +00:00

48 lines
8.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{{indexmenu_n>1}}
====== Yggdrasil ======
Yggdrasil - это сетевой протокол и организованная с помощью него компьютерная оверлейная сеть ячеистой топологии со сквозным шифрованием и автоматической маршрутизацией. Yggdrasil обеспечивает работу сети на третьем уровне [[wpru>Сетевая_модель_OSI|модели OSI]] (адресация, маршрутизация и т.п.). Устройства, при этом, могут быть соединены между собой посредством кабелей, лазера или радио (Wi-Fi). Подключиться к Yggdrasil можно и через обычный Интернет или локальную сеть, прописав адреса узлов Yggdrasil ([[yggdrasil:public_peer|публичных пиров]]) в [[yggdrasil:config_russian|конфигурационном файле]].
Yggdrasil не требует подключения по протоколу IPv6, узлы могут соединяться между собой, используя IPv4, однако, операционная система, в которой запущен Yggdrasil должна поддерживать работу протокола IPv6.
Yggdrasil реализован на языке [[go:Go|Go]] и доступен для сборки и установки в большинстве популярных ОС.
===== Как можно использовать Yggdrasil =====
Варианты:
**1.** Подключение к «глобальной» Yggdrasil-сети. В этой сети работают различные сервисы (web, игровые, форумы, IRC, обмен файлами и т.п.), работа которых поддерживается пользователями и энтузиастами из разных стран. Есть несколько зеркал интернет-сайтов.
Для подключения к сети достаточно в конфигурационном файле прописать один или несколько адресов [[yggdrasil:public_peer|публичных узлов]]. Для [[yggdrasil:mesh_setup|подключения по Wi-Fi]] используется технология автоматического обнаружения узлов ([[yggdrasil:mpd|Multicast Peer Discovery]]).
Используя Yggdrasil таким образом вы фактически получаете аналог «белого» IPv6-адреса и большую подсеть, адреса из которой вы можете назначить устройствам в своей домашней сети (с помощью [[wp>Radvd|radvd]] или [[yggdrasil:network_connection_variants|вручную]]). Это дает определенные бонусы. Например, если ваш интернет-провайдер не выдает вам бесплатно «белый» IP-адрес, а вы хотите иметь доступ к домашней сети из вне (из рабочего офиса, как вариант), с устройств, которые находятся за NAT - Yggdrasil позволит сделать это легко и просто: достаточно установить Yggdrasil на домашнем устройстве и в офисе, и минуя все преграды вы сможете обращаться к устройству в офисе из дома и из офиса к домашним так, как будто они имеют «белые» IPv6-адреса. Соединение, при этом, будет защищено надежным шифрованием. Не забывайте настроить файервол, чтобы ограничить доступ других участников сети.
**2.** То, что реализовано в глобальной сети Yggdrasil можно реализовать и в кругу ограниченного числа участников (друзей, семьи, соседей), даже если они территориально находятся на удалении от вас. Соединение в сеть производится аналогично, только не нужно публиковать адреса своих узлов. Таким образом легко можно организовать сеть между всеми своими родственниками, как вариант.
**3.** Альтернатива VPN. Используя Yggdrasil в совокупности с другими технологиями (например, [[yggdrasil:tunnels:gre-tunnel|GRE-туннели]]) можно реализовать полноценную замену OpenVPN, L2TP/IPSec, [[:wireguard|WireGuard]] и т.п. Также можно использовать то, что по сути yggdrasil это обычная ipv6 сеть. За время разработки которой было придумано некоторое количество вариантов [[yggdrasil:tunnels:nat64|проброса ipv4 трафика]] (почти) без использования дополнительных технологий.
**4.** Организация [в теории] отказоустойчивой масштабируемой и независимой от Интернет сети с различными целями.
В [[social_media:telegram|чатах]], тематики Yggdrasil упоминался проект, в котором с помощью Yggdrasil реализовывалась противопожарная сигнализация с камерами наблюдения где-то в лесах, а так же, проект, связанный с коммуникациями в сфере медицины.
===== С чего начать =====
Начать использовать Yggdrasil просто: установите его, в соответствии с [[https://yggdrasil-network.github.io/installation.html|инструкцией для вашей операционной системы]], добавьте в конфигурационный файл один или несколько [[yggdrasil:public_peer|публичных пиров]], перезапустите сервис / демон, чтобы изменения в конфигурационном файле вступили в силу и попробуйте, проверить доступность какого-нибудь другого узла с помощью ping, например, так:
<code>ping 21e:a51c:885b:7db0:166e:927:98cd:d186</code>
Здесь ''%%21e:a51c:885b:7db0:166e:927:98cd:d186%%'' - это IPv6-адрес узла, на котором размещается web-сервис со [[http://[21e:a51c:885b:7db0:166e:927:98cd:d186]/|списком сайтов]] внутри сети.
Если ping даёт ответы на ваши запросы, значит, Yggdrasil работает нормально и вы подключены к сети.
Далее, можно почитать статьи на этом ресурсе (возможно, потребуется [[yggdrasil:web-browsers:firefox_with_yggdrasil|настроить браузер]], [[yggdrasil:ip_address|узнать адрес своего узла]], [[yggdrasil:firewall_setup|настроить файервол]] с учетом того, что вы теперь подключены к Yggdrasil, [[yggdrasil:dns:internal_dns|настроить DNS]] и т.д.).
Если что-то не получается, Yggdrasil не работает, ознакомьтесь со статьёй [[yggdrasil:troubleshooting]].
**Читайте так же:** [[yggdrasil:network_connection_variants]], [[yggdrasil:mesh_setup]], [[yggdrasil:mobile_clients]] и другие полезные статьи на [[this>|этом ресурсе]].
===== Статьи внутри раздела =====
{{indexmenu>:yggdrasil}}
====== Ссылки ======
Сайт проекта: https://yggdrasil-network.github.io/