D2
Администратор
- Регистрация
- 19 Фев 2025
- Сообщения
- 4,380
- Реакции
- 0
Написал: Эрмано
Используя официальную документацию по Yggdrasil Network.
Всем доброго времени суток! Довольно давно читал про Yggdrasil Network и её преимущества, по сравнению с обычной сетью, решил посмотреть статьи на форуме, но ничего, кроме как упомянаний не нашёл, поэтому я решил разобрать её плюсы и минусы, настройку и выход в сеть в этой статье.
Что такое Yggdrasil(переодически я буду вставлять в статью переводы из документации):
Yggdrasil использует IPv6 адреса с маской 0200::/7, а чтобы подключиться к сети нужно установить специальное ПО. На странице конфигурации рекомендуется, чтобы узлы запускали ПО локально, дабы обеспечить сквозные криптографические сессии, но иногда это не целесообразно, ведь устройство может не иметь ресурсов для запуска, или возможности запускать пользовательский код. На этот случай есть возможность запустить устройство, подключённое к Yggdrasil, в качестве маршрутизатора, чтобы давать и другим устройствам выход в сеть.
На данный момент поддерживаются эти ОС:
Windows
Linux(безирующиеся на Debian и RHEL, Gentoo Linux, OpenWrt + есть возможность сбилдить из сурсов)
macOS
iOS
Android
FreeBSD
Ubiquiti EdgeRouter
Возможно у кого-то подумает, что Yggdrasil обеспечивает анонимность, но это не так. Как говорят сами разработчики - другие узлы в сети могут получить некоторую информацию о том, с какими узлами вы общаетесь, благодаря отладочной информации, которая в настоящее время выставляется в сети, а ваш MAC-адрес расскрывается при многоадресной рассылке.
Теперь, после того, как мы поняли, что это за зверь такой, можно приступить к его установке и настройке.
Устанавливать мы будем его на несколько устройств - Linux(Ubuntu) и Windows и OpenWrt(позже).
Ubuntu
Yggdrasil сразу доступен в репозитории, так что для установки мы должны прописать:
Код: Скопировать в буфер обмена
(добавляем gpg)
После этого обновляем пакеты и ставим ПО.
После установки будет создан пользователь и группа yggdrasil:
После установки:
Код: Скопировать в буфер обмена
Теперь, чтобы подключиться к сети нам нужно сгенерировать и отредактировать конфиг файл. Если вы установили yggdrasil из пакетов платформы, то он должен находится в /etc/yggdrasil.conf или /etc/yggdrasil/yggdrasil.conf.
Если файл не сгенерировался, то вы можете сгенерировать HJSON(1-я команда) или JSON(2-я команда) файл(от рута):
Чтобы использовать конфиг файл:
После этого в выводе команды
Теперь нам нужно отредактировать конфиг файл yggdrasil и добавить туда свои пиры. Пиры для каждой страны доступны тут.
Например вот.
После добавления пиров мы можем зайти на ресурсы внутри сети, напрмиер я зашёл на IRC чат. Список ресурсов можно узнать тут.
Теперь следует настроить Firewall, чтобы к вашему устройству не мог обратиться любой желающий.
Через ip6tables:
Код: Скопировать в буфер обмена
Через ufw:
Код: Скопировать в буфер обмена
Способ взял тут.
Теперь я хочу подключить к сети Yggdrasil свою рабочую Kali Linux, но я не могу установить клиент. Это решаемо, ведь мы можем использовать 1 машину, подключённую к сети как маршрутизатор мы можем использовать radvd, но сначала включим IPv6 форвардинг и добавим подсеть Yggdrasil на наш основной интерфейс(напритмер eth0)
Чтобы узнать вашу подсеть, впишите:
- вот пример подсети
Далее добавляем подсеть на интерфейс машины-маршрутизатора:
А на интерфейс кали добавляем следующую запись:
И прописываем маршрут:
После чего скачиваем radvd и редактируем конфиг файл. В интернете я нашёл такую конфигурацию:
Код: Скопировать в буфер обмена
И теперь с помощью нехитрых манипуляций мы можем заходить на Yggdrasil сервисы с нашей Kali Linux.
Windows
Так как майкрософт решили, что для установки винды обязательно нужна почта, я приведу в пример гайд по установке с другого источника.
Устанавливается yggdrasil на Windows с помощью .msi установщика. Если вы используете Windows 7 или Windows Server 2008 R2, согласно документации вам необходимо перед установкой Yggdrasil поставить патч KB2921916: x64, x32. Без него виртуальный сетевой адаптер WireGuard может работать некорректно.
Установка msi-пакета не требует каких-либо дополнительных действий кроме клика, а процесс установки занимает около минуты. После установки в системе появится служба Yggdrasil. Чтобы увидеть ее, наберите "Службы" в меню Пуск (либо "services.msc") и нажмите Enter.
Также в операционной системе появится новый сетевой адаптер WireGuard, который можно найти в Панели управления, в разделе "Центр управления сетями и общим доступом".
По умолчанию Yggdrasil автоматически находит других участников в локальной сети. Чтобы эта опция работала практически, необходимо включить "IP версии 6" на остальных (реальных) сетевых интерфейсах компьютера.
Конфиг файл находится в
Чтобы к вам не могли подключиться нажно чтобы служба Защитника на вашем устройстве включена. Для этого перейдите в Панель управления и выберите соответствующий пункт меню.
Для включения и отключения Брандмауэра используйте пункт меню слева, который выделен на скриншоте красной рамкой. Если какие-то приложения после включения Защитника не будут работать корректно, помните, что в интернете много материала о грамотной настройке Брандмауэра. Включение службы безопасности необходимо, так как она предотвратит большинство злонамеренных обращений к вашему компьютеру, направленных на взлом операционной системы и кражу информации.
Итог
Вот такая статья получилась, мои дорогие друзья. Надеюсь вам как и мне было интересно разобраться в теме Yggdrasil Network. Скоро постараюсь добавить материал про OpenWrt(в этот же топик). Если я что-то и где-то упустил - дополните.
Всем спасибо за прочтение!
Используя официальную документацию по Yggdrasil Network.
Всем доброго времени суток! Довольно давно читал про Yggdrasil Network и её преимущества, по сравнению с обычной сетью, решил посмотреть статьи на форуме, но ничего, кроме как упомянаний не нашёл, поэтому я решил разобрать её плюсы и минусы, настройку и выход в сеть в этой статье.
Что такое Yggdrasil(переодически я буду вставлять в статью переводы из документации):
Yggdrasil - это экспериментальная компактная схема маршрутизации, которая полностью децентрализована. Это преимущественно схема кратчайшего пути, при которой сеть пытается найти самый прямой путь к месту назначения.
Узлы являются равноправными участниками и соединяются друг с другом с помощью пиринговых соединений, по которым передается сетевой трафик. Пиринговые соединения могут быть установлены в любой IP-сети - будь то прямой проводной или беспроводной канал, локальная сеть или даже Интернет. В некоторых случаях одноранговые сети могут также устанавливаться автоматически соседними устройствами в одной сети с помощью многоадресного обнаружения.
Все узлы в сети Yggdrasil являются маршрутизаторами и автоматически пропускают трафик, чтобы помочь ему приблизиться к месту назначения, где это возможно. Это означает, что даже в малосвязанной сети все узлы будут доступны для всех остальных узлов этой сети. Не имеет значения, находится ли узел за NAT - после установления пиринга трафик идет в обоих направлениях через этот пиринг.
Yggdrasil также разработан таким образом, чтобы выдерживать изменения в сети. Например, если один из каналов выходит из строя, сеть самовосстанавливается и использует другие каналы для маршрутизации трафика, если они доступны. Это делает ее пригодной для использования в меш-сетях, где топология сети может и часто будет меняться.
Каждый узел в сети имеет независимый от местоположения криптографический идентификатор, и в нашей текущей экспериментальной реализации стабильные IPv6-адреса генерируются на основе этого ключа. Это позволяет приложениям, поддерживающим IPv6, работать через Yggdrasil практически без изменений. Адрес полностью мобилен и остается с узлом, когда он перемещается по сети.
Нажмите, чтобы раскрыть...
Yggdrasil использует IPv6 адреса с маской 0200::/7, а чтобы подключиться к сети нужно установить специальное ПО. На странице конфигурации рекомендуется, чтобы узлы запускали ПО локально, дабы обеспечить сквозные криптографические сессии, но иногда это не целесообразно, ведь устройство может не иметь ресурсов для запуска, или возможности запускать пользовательский код. На этот случай есть возможность запустить устройство, подключённое к Yggdrasil, в качестве маршрутизатора, чтобы давать и другим устройствам выход в сеть.
На данный момент поддерживаются эти ОС:
Windows
Linux(безирующиеся на Debian и RHEL, Gentoo Linux, OpenWrt + есть возможность сбилдить из сурсов)
macOS
iOS
Android
FreeBSD
Ubiquiti EdgeRouter
Возможно у кого-то подумает, что Yggdrasil обеспечивает анонимность, но это не так. Как говорят сами разработчики - другие узлы в сети могут получить некоторую информацию о том, с какими узлами вы общаетесь, благодаря отладочной информации, которая в настоящее время выставляется в сети, а ваш MAC-адрес расскрывается при многоадресной рассылке.
Теперь, после того, как мы поняли, что это за зверь такой, можно приступить к его установке и настройке.
Устанавливать мы будем его на несколько устройств - Linux(Ubuntu) и Windows и OpenWrt(позже).
Ubuntu
Yggdrasil сразу доступен в репозитории, так что для установки мы должны прописать:
Код: Скопировать в буфер обмена
Код:
sudo apt install dirmngr
sudo mkdir -p /usr/local/apt-keys
gpg --fetch-keys https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/key.txt
gpg --export BC1BF63BD10B8F1A | sudo tee /usr/local/apt-keys/yggdrasil-keyring.gpg > /dev/null
echo 'deb [signed-by=/usr/local/apt-keys/yggdrasil-keyring.gpg] http://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/ debian yggdrasil' | sudo tee /etc/apt/sources.list.d/yggdrasil.list
sudo apt-get update
sudo apt-get install yggdrasil
(добавляем gpg)
После этого обновляем пакеты и ставим ПО.
После установки будет создан пользователь и группа yggdrasil:
После установки:
Код: Скопировать в буфер обмена
Код:
sudo systemctl start yggdrasil
sudo systemctl enable yggdrasil
Теперь, чтобы подключиться к сети нам нужно сгенерировать и отредактировать конфиг файл. Если вы установили yggdrasil из пакетов платформы, то он должен находится в /etc/yggdrasil.conf или /etc/yggdrasil/yggdrasil.conf.
Если файл не сгенерировался, то вы можете сгенерировать HJSON(1-я команда) или JSON(2-я команда) файл(от рута):
yggdrasil -genconf > /etc/yggdrasil.conf
yggdrasil -genconf -json > /etc/yggdrasil.conf
Чтобы использовать конфиг файл:
yggdrasil -useconffile /etc/yggdrasil.conf
После этого в выводе команды
ip a
будет светиться интерфейс tun0 с IPv6-адресом.Теперь нам нужно отредактировать конфиг файл yggdrasil и добавить туда свои пиры. Пиры для каждой страны доступны тут.
Например вот.
После добавления пиров мы можем зайти на ресурсы внутри сети, напрмиер я зашёл на IRC чат. Список ресурсов можно узнать тут.
Теперь следует настроить Firewall, чтобы к вашему устройству не мог обратиться любой желающий.
Через ip6tables:
Код: Скопировать в буфер обмена
Код:
ip6tables -A INPUT -i tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
ip6tables -A INPUT -i tun0 -m conntrack --ctstate INVALID -j DROP
ip6tables -A INPUT -i tun0 -j DROP
Через ufw:
Код: Скопировать в буфер обмена
Код:
# The default of ufw is to block all incoming connections
# The following blocks incoming connections if the default has been set to allow by:
# ufw default allow
ufw deny in on tun0 proto ipv6
Способ взял тут.
Теперь я хочу подключить к сети Yggdrasil свою рабочую Kali Linux, но я не могу установить клиент. Это решаемо, ведь мы можем использовать 1 машину, подключённую к сети как маршрутизатор мы можем использовать radvd, но сначала включим IPv6 форвардинг и добавим подсеть Yggdrasil на наш основной интерфейс(напритмер eth0)
sysctl -w net.ipv6.conf.all.forwarding=1 - IPv6 форвардинг
Чтобы узнать вашу подсеть, впишите:
yggdrasilctl getSelf
- вот пример подсети
Далее добавляем подсеть на интерфейс машины-маршрутизатора:
ip addr add 300:c692:ccf3:9d30::1/64 dev eth0
А на интерфейс кали добавляем следующую запись:
ip address add 300:c692:ccf3:9d30::5/64 dev eth0
И прописываем маршрут:
ip -6 route add 0200::/7 via 300:c692:ccf3:9d30::1
После чего скачиваем radvd и редактируем конфиг файл. В интернете я нашёл такую конфигурацию:
Код: Скопировать в буфер обмена
Код:
interface eth0
{
AdvSendAdvert on;
AdvLinkMTU 1280; # без этой строчки сбоит подключение для windows-устройств (задаёт MTU)
MinRtrAdvInterval 30;
MaxRtrAdvInterval 100;
prefix 300:c692:ccf3:9d30::/64 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on; # Без этой строки подключаются не все android-устройства; строка "route 200::/7 {};" не требуется.
};
};
И теперь с помощью нехитрых манипуляций мы можем заходить на Yggdrasil сервисы с нашей Kali Linux.
Windows
Так как майкрософт решили, что для установки винды обязательно нужна почта, я приведу в пример гайд по установке с другого источника.
Устанавливается yggdrasil на Windows с помощью .msi установщика. Если вы используете Windows 7 или Windows Server 2008 R2, согласно документации вам необходимо перед установкой Yggdrasil поставить патч KB2921916: x64, x32. Без него виртуальный сетевой адаптер WireGuard может работать некорректно.
Установка msi-пакета не требует каких-либо дополнительных действий кроме клика, а процесс установки занимает около минуты. После установки в системе появится служба Yggdrasil. Чтобы увидеть ее, наберите "Службы" в меню Пуск (либо "services.msc") и нажмите Enter.
Также в операционной системе появится новый сетевой адаптер WireGuard, который можно найти в Панели управления, в разделе "Центр управления сетями и общим доступом".
По умолчанию Yggdrasil автоматически находит других участников в локальной сети. Чтобы эта опция работала практически, необходимо включить "IP версии 6" на остальных (реальных) сетевых интерфейсах компьютера.
Конфиг файл находится в
%programdata%\yggdrasil\yggdrasil.conf
, а его настройка аналогична с линуксом.Чтобы к вам не могли подключиться нажно чтобы служба Защитника на вашем устройстве включена. Для этого перейдите в Панель управления и выберите соответствующий пункт меню.
Для включения и отключения Брандмауэра используйте пункт меню слева, который выделен на скриншоте красной рамкой. Если какие-то приложения после включения Защитника не будут работать корректно, помните, что в интернете много материала о грамотной настройке Брандмауэра. Включение службы безопасности необходимо, так как она предотвратит большинство злонамеренных обращений к вашему компьютеру, направленных на взлом операционной системы и кражу информации.
Итог
Вот такая статья получилась, мои дорогие друзья. Надеюсь вам как и мне было интересно разобраться в теме Yggdrasil Network. Скоро постараюсь добавить материал про OpenWrt(в этот же топик). Если я что-то и где-то упустил - дополните.
Всем спасибо за прочтение!