Страница 1 из 6
Yggdrasil
Добавлено: 28 мар 2023, 18:21
Olej
Что такое 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 реализовывалась противопожарная сигнализация с камерами наблюдения где-то в лесах, а так же, проект, связанный с коммуникациями в сфере медицины.
Общие принципы организации mesh-сетей, и состояние дел на 2016г. - уже разбиралось ранее в теме
Mesh сети
Полезно освежить в памяти.
Yggdrasil
Добавлено: 28 мар 2023, 18:33
Olej
С чего начать
Начать использовать Yggdrasil просто: установите его, в соответствии с инструкцией для вашей операционной системы, добавьте в конфигурационный файл один или несколько публичных пиров, перезапустите сервис / демон, чтобы изменения в конфигурационном файле вступили в силу и попробуйте, проверить доступность какого-нибудь другого узла с помощью ping
Installation
Linux
Yggdrasil is well supported on Linux. There are a number of distribution packages and additional installation instructions available:
Debian, Ubuntu, elementaryOS, Linux Mint and similar
Red Hat Enterprise Linux, Fedora, CentOS and similar
Gentoo Linux
OpenWrt
Manual install or build from source
Installing on Debian, Ubuntu, elementaryOS, Linux Mint and similar
Package install from your distribution
Some Debian-based distributions may have an yggdrasil-go package available in their repositories:
After installation
Configuration will be generated automatically into /etc/yggdrasil.conf when the package is installed, and the Yggdrasil service will automatically be installed into systemd.
Enable and start the service after install/upgrade:
Код: Выделить всё
sudo systemctl enable yggdrasil
sudo systemctl start yggdrasil
To make configuration changes, modify the /etc/yggdrasil.conf file and then restart the Yggdrasil daemon:
Yggdrasil
Добавлено: 28 мар 2023, 18:37
Olej
Olej писал(а): ↑28 мар 2023, 18:33
Some Debian-based distributions may have an yggdrasil-go package available in their repositories
Код: Выделить всё
olej@R420:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Linuxmint
Description: Linux Mint 21.1
Release: 21.1
Codename: vera
Код: Выделить всё
olej@R420:~$ aptitude search yggdrasil
p golang-github-yggdrasil-network-yggdrasil-go-dev - Fully encrypted global-scale mesh network (library)
p yggdrasil - Fully encrypted global-scale mesh network (program)
Установка:
Код: Выделить всё
olej@R420:~$ sudo apt install yggdrasil
[sudo] пароль для olej:
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Следующие НОВЫЕ пакеты будут установлены:
yggdrasil
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 2 пакетов не обновлено.
Необходимо скачать 2.345 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 9.157 kB.
Пол:1 http://mirror.mirohost.net/ubuntu jammy-updates/universe amd64 yggdrasil amd64 0.4.3-2ubuntu0.22.04.1 [2.345 kB]
Получено 2.345 kB за 1с (2.942 kB/s)
Выбор ранее не выбранного пакета yggdrasil.
(Чтение базы данных … на данный момент установлен 545101 файл и каталог.)
Подготовка к распаковке …/yggdrasil_0.4.3-2ubuntu0.22.04.1_amd64.deb …
Распаковывается yggdrasil (0.4.3-2ubuntu0.22.04.1) …
Настраивается пакет yggdrasil (0.4.3-2ubuntu0.22.04.1) …
Внимание: к указанному домашнему каталогу /var/lib/yggdrasil нет доступа: No such file or directory
Добавляется системный пользователь «yggdrasil» (UID 134) ...
Добавляется новая группа «yggdrasil» (GID 147) ...
Добавляется новый пользователь «yggdrasil» (UID 134) в группу «yggdrasil» ...
Не создаётся домашний каталог «/var/lib/yggdrasil».
Код: Выделить всё
olej@R420:~$ systemctl status yggdrasil
○ yggdrasil.service - yggdrasil
Loaded: loaded (/lib/systemd/system/yggdrasil.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Код: Выделить всё
olej@R420:~$ cat /etc/passwd | grep yggdrasil
yggdrasil:x:134:147::/var/lib/yggdrasil:/usr/sbin/nologin
Код: Выделить всё
olej@R420:~$ cat /etc/group | grep yggdrasil
yggdrasil:x:147:
Yggdrasil
Добавлено: 28 мар 2023, 18:56
Olej
Olej писал(а): ↑28 мар 2023, 18:33
добавьте в конфигурационный файл один или несколько публичных пиров, перезапустите сервис / демон, чтобы изменения в конфигурационном файле вступили в силу и попробуйте, проверить доступность какого-нибудь другого узла с помощью ping
Публичный пир
Публичным пиром сети называется устройство, к которому в оверлейном режиме может подключиться любой желающий. Проще говоря: узел сети, к которому можно подключиться через Интернет и соединиться таким образом с глобальным сегментом сети Yggdrasil. Список публичных пиров доступен в официальном репозитории проекта «Public Peers»:
https://github.com/yggdrasil-network/public-peers, а так же по адресам:
-
https://publicpeers.neilalexander.dev/
- http://[319
dd1d:47b9:20c
fe2c:39bd]/ (внутрисетевое зеркало)
Как выбрать публичные пиры
Для обычного домашнего использования разработчики рекомендуют прописывать в конфигурационном файле 2-3 географически ближайших к вам публичных пира. Слишком большое количество пиров в конфигурационном файле, а так же, использование географически удаленных от вас пиров может нагативно сказаться на производительности узла и скорости доступа к ресурсам сети.
Для выбора пиров, во-первых можно просто воспользоваться упомянутым выше сайтом, на котором собраны все публичные пиры с offline / online статусами.
Yggdrasil
Добавлено: 28 мар 2023, 22:13
Olej
Olej писал(а): ↑28 мар 2023, 18:56
Публичный пир
Код: Выделить всё
olej@R420:~/2023/own.WORK/Yggdrasil$ git clone https://github.com/yggdrasil-network/public-peers.git
Клонирование в «public-peers»...
remote: Enumerating objects: 2963, done.
remote: Counting objects: 100% (363/363), done.
remote: Compressing objects: 100% (235/235), done.
remote: Total 2963 (delta 217), reused 240 (delta 123), pack-reused 2600
Получение объектов: 100% (2963/2963), 695.92 КиБ | 595.00 КиБ/с, готово.
Определение изменений: 100% (1711/1711), готово.
Код: Выделить всё
olej@R420:~/2023/own.WORK/Yggdrasil$ git clone https://github.com/zhoreeq/peer_checker.py.git
Клонирование в «peer_checker.py»...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (9/9), done.
Получение объектов: 100% (10/10), готово.
Определение изменений: 100% (3/3), готово.
remote: Total 10 (delta 3), reused 4 (delta 0), pack-reused 0
Код: Выделить всё
olej@R420:~/2023/own.WORK/Yggdrasil$ ls -l $HOME/2023/own.WORK/Yggdrasil/public-peers/
итого 32
drwxrwxr-x 2 olej olej 4096 мар 28 21:23 africa
drwxrwxr-x 2 olej olej 4096 мар 28 21:23 asia
drwxrwxr-x 2 olej olej 4096 мар 28 21:23 europe
drwxrwxr-x 2 olej olej 4096 мар 28 21:23 mena
drwxrwxr-x 2 olej olej 4096 мар 28 21:23 north-america
drwxrwxr-x 2 olej olej 4096 мар 28 21:23 other
-rw-rw-r-- 1 olej olej 1621 мар 28 21:23 README.md
drwxrwxr-x 2 olej olej 4096 мар 28 21:23 south-america
Код: Выделить всё
olej@R420:~/2023/own.WORK/Yggdrasil$ ls -l $HOME/2023/own.WORK/Yggdrasil/public-peers/
итого 32
drwxrwxr-x 2 olej olej 4096 мар 28 21:23 africa
drwxrwxr-x 2 olej olej 4096 мар 28 21:23 asia
drwxrwxr-x 2 olej olej 4096 мар 28 21:23 europe
drwxrwxr-x 2 olej olej 4096 мар 28 21:23 mena
drwxrwxr-x 2 olej olej 4096 мар 28 21:23 north-america
drwxrwxr-x 2 olej olej 4096 мар 28 21:23 other
-rw-rw-r-- 1 olej olej 1621 мар 28 21:23 README.md
drwxrwxr-x 2 olej olej 4096 мар 28 21:23 south-america
Код: Выделить всё
olej@R420:~/2023/own.WORK/Yggdrasil$ python ./peer_checker.py/peer_checker.py ./public-peers/
Report date: Tue Mar 28 18:43:35 2023
Dead peers:
tls://[2603:c023:8001:1600:35e0:acde:2c6e:b27f]:17001 mena/saudi-arabia.md
tcp://[2603:c023:8001:1600:35e0:acde:2c6e:b27f]:17002 mena/saudi-arabia.md
tls://[2001:41d0:304:200::ace3]:23108 europe/france.md
tls://[2001:41d0:2:c44a:51:255:223:60]:54232 europe/france.md
tcp://[2001:470:1f13:e56::64]:39565 europe/france.md
tls://[2001:470:1f13:e56::64]:39575 europe/france.md
tls://de-fsn-1.peer.v4.yggdrasil.chaz6.com:4444 europe/germany.md
tls://[2a01:4f9:c010:664d::1]:61995 europe/finland.md
tls://[2a01:4f9:2a:60c::2]:18836 europe/finland.md
tcp://[2a05:9403::8b]:7743 europe/czechia.md
tls://[2a03:3b40:fe:ab::1]:993 europe/czechia.md
tls://[2a07:e01:105:444:c634:6bff:feb5:6e28]:7040 europe/sweden.md
tls://[2001:41d0:801:2000::233f]:28395 europe/united-kingdom.md
tls://[2a10:4740:40:0:2222:3f9c:b7cf:1]:43006 europe/united-kingdom.md
tcp://yggno.de:18226 europe/russia.md
tls://yggno.de:18227 europe/russia.md
tcp://188.225.9.167:18226 europe/russia.md
tls://188.225.9.167:18227 europe/russia.md
tls://x-msk-0.sergeysedoy97.ru:65535 europe/russia.md
tls://178.20.45.32:65535 europe/russia.md
tls://[2a0d:8480:2:54::]:65535 europe/russia.md
tls://[2a09:5302:ffff::ac9]:65535 europe/russia.md
tls://[2a09:5302:ffff::aca]:65535 europe/russia.md
tcp://[2a00:b700::a:279]:12402 europe/russia.md
tls://[2a00:b700::a:279]:443 europe/russia.md
tcp://[2a09:5302:ffff::992]:12403 europe/russia.md
tls://[2a09:5302:ffff::992]:443 europe/russia.md
tcp://77.37.218.131:12402 europe/russia.md
tls://77.37.218.131:443 europe/russia.md
tcp://box.paulll.cc:13337 europe/russia.md
tls://box.paulll.cc:13338 europe/russia.md
tls://avevad.com:1337 europe/russia.md
tcp://92.124.136.131:30111 europe/russia.md
tcp://prophet.fun:30111 europe/russia.md
tcp://itcom.multed.com:7991 europe/russia.md
tcp://ekb.itrus.su:7991 europe/russia.md
tls://109.107.173.235:9111 europe/netherlands.md
tcp://ygg-nl.incognet.io:8883 europe/netherlands.md
tls://ygg-nl.incognet.io:8884 europe/netherlands.md
tls://[2a0d:8480:1:f9::]:65535 europe/netherlands.md
tls://[2001:41d0:601:1100::cf2]:11129 europe/poland.md
tcp://ipv4.campina-grande.paraiba.brazil.yggdrasil.iasylum.net:40000 south-america/brazil.md
tcp://ipv6.campina-grande.paraiba.brazil.yggdrasil.iasylum.net:41000 south-america/brazil.md
tls://ipv4.campina-grande.paraiba.brazil.yggdrasil.iasylum.net:50000 south-america/brazil.md
tls://ipv6.campina-grande.paraiba.brazil.yggdrasil.iasylum.net:51000 south-america/brazil.md
tls://44.234.134.124:443 north-america/united-states.md
tls://[2605:9f80:2000:64::2]:7040 north-america/united-states.md
tls://[2607:5300:201:3100::50a1]:58226 north-america/canada.md
tcp://yggdrasil.community.garage.networks.deavmi.assigned.network:2000 africa/south-africa.md
tls://yggdrasil.community.garage.networks.deavmi.assigned.network:2001 africa/south-africa.md
Alive peers (sorted by latency):
URI Latency (ms) Location
tls://s-fra-0.sergeysedoy97.ru:65535 11.927 europe/germany.md
tls://s-ams-1.sergeysedoy97.ru:65535 12.419 europe/netherlands.md
tls://s-msk-2.sergeysedoy97.ru:65535 12.57 europe/russia.md
tls://s-ams-0.sergeysedoy97.ru:65535 13.3 europe/netherlands.md
tls://s-msk-0.sergeysedoy97.ru:65535 13.854 europe/russia.md
tls://s-msk-1.sergeysedoy97.ru:65535 13.863 europe/russia.md
tls://78.27.153.163:179 18.139 europe/ukraine.md
tcp://78.27.153.163:33165 18.299 europe/ukraine.md
tls://78.27.153.163:3784 18.32 europe/ukraine.md
tls://78.27.153.163:3785 19.363 europe/ukraine.md
tls://78.27.153.163:33166 19.43 europe/ukraine.md
tcp://193.111.114.28:8080 21.421 europe/ukraine.md
tls://193.111.114.28:1443 21.431 europe/ukraine.md
tls://54.37.137.221:11129 23.729 europe/poland.md
tls://pl1.servers.devices.cwinfo.net:11129 25.242 europe/poland.md
tcp://195.123.245.146:7743 37.174 europe/czechia.md
tls://yggdrasil.su:62586 39.457 europe/germany.md
tls://ygg.mkg20001.io:443 40.599 europe/germany.md
tcp://yggdrasil.su:62486 40.936 europe/germany.md
tcp://gutsche.tech:8888 42.181 europe/germany.md
tcp://ygg.mkg20001.io:80 42.204 europe/germany.md
tls://gutsche.tech:8889 42.213 europe/germany.md
tls://37.205.14.171:993 42.329 europe/czechia.md
tcp://193.107.20.230:7743 44.135 europe/germany.md
tcp://94.130.203.208:5999 44.138 europe/germany.md
tcp://aaoth.xyz:7777 46.103 europe/netherlands.md
tcp://vpn.itrus.su:7991 46.997 europe/netherlands.md
tls://aaoth.xyz:25565 47.073 europe/netherlands.md
tls://x-ams-0.sergeysedoy97.ru:65535 48.519 europe/netherlands.md
tls://x-ams-1.sergeysedoy97.ru:65535 48.552 europe/netherlands.md
tls://45.147.198.155:6010 49.11 europe/netherlands.md
tls://89.22.237.91:65535 49.329 europe/netherlands.md
tls://79.137.194.94:65535 49.357 europe/netherlands.md
tcp://y.zbin.eu:7743 49.896 europe/slovakia.md
tls://23.137.251.45:5222 50.033 europe/netherlands.md
tls://62.210.85.80:39575 51.908 europe/france.md
tls://51.15.204.214:54321 51.933 europe/france.md
tls://23.137.249.65:443 52.253 europe/netherlands.md
tls://94.103.82.150:8080 52.853 europe/netherlands.md
tcp://s2.i2pd.xyz:39565 53.145 europe/france.md
tls://152.228.216.112:23108 53.485 europe/france.md
tls://cloudberry.fr1.servers.devices.cwinfo.net:54232 53.824 europe/france.md
tls://fr2.servers.devices.cwinfo.net:23108 54.425 europe/france.md
tls://aurora.devices.waren.io:18836 55.232 europe/finland.md
tls://x-msk-1.sergeysedoy97.ru:65535 56.429 europe/russia.md
tls://uk1.servers.devices.cwinfo.net:28395 57.041 europe/united-kingdom.md
tls://fi1.servers.devices.cwinfo.net:61995 57.453 europe/finland.md
tls://185.130.44.194:7040 57.799 europe/sweden.md
tls://x-msk-2.sergeysedoy97.ru:65535 57.959 europe/russia.md
tls://51.255.223.60:54232 58.085 europe/france.md
tcp://curiosity.tdjs.tech:30003 58.15 europe/united-kingdom.md
tcp://51.15.204.214:12345 58.294 europe/france.md
tls://x-fra-0.sergeysedoy97.ru:65535 58.425 europe/germany.md
tls://s2.i2pd.xyz:39575 58.596 europe/france.md
tls://51.38.64.12:28395 58.789 europe/united-kingdom.md
tls://95.216.5.243:18836 58.957 europe/finland.md
tls://65.21.57.122:61995 60.722 europe/finland.md
tcp://62.210.85.80:39565 60.846 europe/france.md
tls://45.95.202.21:443 62.787 europe/russia.md
tls://45.95.202.91:65535 62.964 europe/russia.md
tls://185.103.109.63:65535 63.188 europe/russia.md
tcp://45.95.202.21:12403 63.508 europe/russia.md
tls://87.251.77.39:65535 63.81 europe/germany.md
tls://185.175.90.87:43006 64.094 europe/united-kingdom.md
tls://45.147.200.202:443 67.341 europe/russia.md
tcp://45.147.200.202:12402 67.777 europe/russia.md
tls://185.165.169.234:8443 77.013 europe/romania.md
tcp://185.165.169.234:8880 77.13 europe/romania.md
tcp://ip6-antalya.ddns.net:8800 93.794 mena/turkey.md
tls://212.154.86.134:4433 96.936 mena/turkey.md
tcp://212.154.86.134:8800 101.664 mena/turkey.md
tls://ip6-antalya.ddns.net:4433 103.884 mena/turkey.md
tcp://srv.itrus.su:7991 106.351 europe/russia.md
tcp://158.101.229.219:17002 108.92 mena/saudi-arabia.md
tls://158.101.229.219:17001 109.009 mena/saudi-arabia.md
tls://longseason.1200bps.xyz:13122 118.655 north-america/united-states.md
tcp://zabugor.itrus.su:7991 119.389 north-america/united-states.md
tcp://longseason.1200bps.xyz:13121 121.047 north-america/united-states.md
tls://192.99.145.61:58226 132.185 north-america/canada.md
tls://ca1.servers.devices.cwinfo.net:58226 134.379 north-america/canada.md
tls://supergay.network:9001 135.739 north-america/united-states.md
tls://supergay.network:443 138.457 north-america/united-states.md
tcp://supergay.network:9002 139.977 north-america/united-states.md
tcp://kusoneko.moe:9002 142.579 north-america/canada.md
tcp://50.236.201.218:56088 143.257 north-america/united-states.md
tls://lancis.iscute.moe:49274 146.015 north-america/united-states.md
tcp://lancis.iscute.moe:49273 146.279 north-america/united-states.md
tls://102.223.180.74:993 153.027 north-america/united-states.md
tls://108.175.10.127:61216 158.42 north-america/united-states.md
tcp://phrl42.ydns.eu:8842 160.563 europe/germany.md
tls://167.160.89.98:7040 180.132 north-america/united-states.md
tls://corn.chowder.land:443 180.765 north-america/united-states.md
tls://cowboy.supergay.network:443 181.309 north-america/united-states.md
tcp://cowboy.supergay.network:9111 183.564 north-america/united-states.md
tcp://corn.chowder.land:9002 184.814 north-america/united-states.md
tls://tasty.chowder.land:9001 198.936 north-america/united-states.md
tcp://tasty.chowder.land:9002 199.109 north-america/united-states.md
tls://sin.yuetau.net:6643 289.154 asia/singapore.md
tcp://sin.yuetau.net:6642 300.983 asia/singapore.md
Yggdrasil
Добавлено: 28 мар 2023, 23:26
Olej
Olej писал(а): ↑28 мар 2023, 18:37
Установка:
Установка, с удивлением тому что описано в
С чего начать
добавьте в конфигурационный файл один или несколько публичных пиров
Как добавить, если конфиг
не создаётся инсталляцией?
Код: Выделить всё
olej@R420:/etc$ ls -l /etc/yggdrasil
ls: невозможно открыть каталог '/etc/yggdrasil': Отказано в доступе
Ого! Какие права!
Код: Выделить всё
olej@R420:/etc$ ls -ld /etc/yggdrasil
drwxr-x--- 2 root yggdrasil 4096 мар 28 18:35 /etc/yggdrasil
Код: Выделить всё
root@R420:/etc/yggdrasil# ls -l /etc/yggdrasil
итого 0
Пустой каталог!
Yggdrasil
Добавлено: 28 мар 2023, 23:30
Olej
Olej писал(а): ↑28 мар 2023, 23:26
Как добавить, если конфиг не создаётся инсталляцие?
Придумал только такое решение - закачиваю исходный код проекта на Go:
Код: Выделить всё
olej@R420:~/2023/own.WORK/Yggdrasil$ git clone https://github.com/yggdrasil-network/yggdrasil-go.git
Клонирование в «yggdrasil-go»...
remote: Enumerating objects: 11984, done.
remote: Counting objects: 100% (121/121), done.
remote: Compressing objects: 100% (74/74), done.
remote: Total 11984 (delta 55), reused 100 (delta 43), pack-reused 11863
Получение объектов: 100% (11984/11984), 3.30 МиБ | 483.00 КиБ/с, готово.
Определение изменений: 100% (8060/8060), готово.
Можно собрать из исходников ... но это потом.
В README.md вычитал команду ... и уже в инсталлированном пакете:
Код: Выделить всё
root@R420:/etc/yggdrasil# yggdrasil -genconf > /etc/yggdrasil/yggdrasil.conf
После чего:
Код: Выделить всё
root@R420:~# ls -l /etc/yggdrasil/yggdrasil.conf
-rw-r--r-- 1 root root 3549 мар 28 19:14 /etc/yggdrasil/yggdrasil.conf
Код: Выделить всё
root@R420:~# grep -v '^$\|#' /etc/yggdrasil/yggdrasil.conf
{
Peers: []
InterfacePeers: {}
Listen: []
AdminListen: unix:///var/run/yggdrasil/yggdrasil.sock
MulticastInterfaces:
[
{
Regex: .*
Beacon: true
Listen: true
Port: 0
}
]
AllowedPublicKeys: []
PublicKey: 3cb7c934a4852779885762bb59781f9f54d771206460ca0d1c9f72311a7729f6
PrivateKey: fa9f8209f5fe184a4632513676eef8e3d0b7ee798af11cb37d7ee8873eef37883cb7c934a4852779885762bb59781f9f54d771206460ca0d1c9f72311a7729f6
IfName: auto
IfMTU: 65535
NodeInfoPrivacy: false
NodeInfo: {}
}
Yggdrasil
Добавлено: 28 мар 2023, 23:57
Olej
Olej писал(а): ↑28 мар 2023, 23:30
После чего:
Публичные пиры, к которым вы хотите быть подключены, прописываются в файле конфигурации yggdrasil.conf (/etc/yggdrasil.conf или %programdata%\yggdrasil\yggdrasil.conf) в секции Peers:
Код: Выделить всё
Peers: [
# Чехия, Revertron
tcp://195.123.245.146:7743
# netherlands
tcp://51.15.118.10:62486
]
Комментарии не обязательны, но они могут пригодиться.
Прописываю из списка (выше), предварительно проверяя IP хостов ping-ом ...
В итоге:
Код: Выделить всё
root@R420:/etc/yggdrasil# grep -v '^$\|#' /etc/yggdrasil/yggdrasil.conf | grep " Peers:" -A7
Peers: [
tcp://193.111.114.28:8080
tls://193.111.114.28:1443
tls://pl1.servers.devices.cwinfo.net:11129
tcp://195.123.245.146:7743
tls://yggdrasil.su:62586
tcp://yggdrasil.su:62486
]
Yggdrasil
Добавлено: 28 мар 2023, 23:58
Olej
Olej писал(а): ↑28 мар 2023, 23:57
В итоге:
Стартую сервис:
Код: Выделить всё
root@R420:/etc/yggdrasil# systemctl start yggdrasil
Код: Выделить всё
root@R420:/etc/yggdrasil# systemctl status yggdrasil
● yggdrasil.service - yggdrasil
Loaded: loaded (/lib/systemd/system/yggdrasil.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2023-03-28 23:54:35 EEST; 19s ago
Process: 43199 ExecStartPre=/sbin/modprobe tun (code=exited, status=0/SUCCESS)
Main PID: 43200 (yggdrasil)
Tasks: 16 (limit: 115786)
Memory: 6.1M
CPU: 93ms
CGroup: /system.slice/yggdrasil.service
└─43200 /usr/sbin/yggdrasil -useconffile /etc/yggdrasil/yggdrasil.conf
мар 28 23:54:35 R420 yggdrasil[43200]: 2023/03/28 23:54:35 Interface MTU: 53049
мар 28 23:54:35 R420 yggdrasil[43200]: 2023/03/28 23:54:35 Your public key is 3cb7c934a4852779885762bb59781f9f54d771206460ca0d1c9f72311a7729f6
мар 28 23:54:35 R420 yggdrasil[43200]: 2023/03/28 23:54:35 Your IPv6 address is 202:1a41:b65a:dbd6:c433:bd44:ea25:343f
мар 28 23:54:35 R420 yggdrasil[43200]: 2023/03/28 23:54:35 Your IPv6 subnet is 302:1a41:b65a:dbd6::/64
мар 28 23:54:35 R420 yggdrasil[43200]: 2023/03/28 23:54:35 Connected TCP: 203:63fc:667d:b16c:8e78:a899:8d54:a5e4@193.111.114.28, source 192.168.1.14
мар 28 23:54:35 R420 yggdrasil[43200]: 2023/03/28 23:54:35 Connected TLS: 203:63fc:667d:b16c:8e78:a899:8d54:a5e4@193.111.114.28, source 192.168.1.14
мар 28 23:54:35 R420 yggdrasil[43200]: 2023/03/28 23:54:35 Connected TCP: 202:db60::9ce0:a73d:7498:d7ae@195.123.245.146, source 192.168.1.14
мар 28 23:54:35 R420 yggdrasil[43200]: 2023/03/28 23:54:35 Connected TLS: 200:4ac1:2516:a78:b43e:51e1:ab90:e2a2@54.37.137.221, source 192.168.1.14
мар 28 23:54:35 R420 yggdrasil[43200]: 2023/03/28 23:54:35 Connected TCP: 218:71e5:78e4:8989:b71:db7f:7bf1:f1e1@94.130.176.250, source 192.168.1.14
мар 28 23:54:36 R420 yggdrasil[43200]: 2023/03/28 23:54:36 Connected TLS: 218:71e5:78e4:8989:b71:db7f:7bf1:f1e1@94.130.176.250, source 192.168.1.14
Похоже что стартовал!
Yggdrasil
Добавлено: 29 мар 2023, 00:05
Olej
Olej писал(а): ↑28 мар 2023, 23:58
Похоже что стартовал!
Код: Выделить всё
olej@R420:~/2023/own.WORK/Yggdrasil$ ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 90:b1:1c:54:3a:46 brd ff:ff:ff:ff:ff:ff
altname enp2s0f0
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 90:b1:1c:54:3a:47 brd ff:ff:ff:ff:ff:ff
altname enp2s0f1
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 53049 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 500
link/none
Код: Выделить всё
olej@R420:~/2023/own.WORK/Yggdrasil$ ip a s dev tun0
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 53049 qdisc fq_codel state UNKNOWN group default qlen 500
link/none
inet6 202:1a41:b65a:dbd6:c433:bd44:ea25:343f/7 scope global
valid_lft forever preferred_lft forever
inet6 fe80::4268:4330:6890:e026/64 scope link stable-privacy
valid_lft forever preferred_lft forever
B IPv6 tun0 равен тому IPv6, котрый указан в статусе стартующего yggdrasil
И вот ping IPv6 в сети (со стороны моего домашнего хостера) где не поддерживается IPv6;
Код: Выделить всё
olej@R420:~/2023/own.WORK/Yggdrasil$ ping -c5 21e:a51c:885b:7db0:166e:927:98cd:d186
PING 21e:a51c:885b:7db0:166e:927:98cd:d186(21e:a51c:885b:7db0:166e:927:98cd:d186) 56 data bytes
64 bytes from 21e:a51c:885b:7db0:166e:927:98cd:d186: icmp_seq=1 ttl=64 time=740 ms
64 bytes from 21e:a51c:885b:7db0:166e:927:98cd:d186: icmp_seq=2 ttl=64 time=96.0 ms
64 bytes from 21e:a51c:885b:7db0:166e:927:98cd:d186: icmp_seq=3 ttl=64 time=97.2 ms
64 bytes from 21e:a51c:885b:7db0:166e:927:98cd:d186: icmp_seq=4 ttl=64 time=97.8 ms
64 bytes from 21e:a51c:885b:7db0:166e:927:98cd:d186: icmp_seq=5 ttl=64 time=94.5 ms
--- 21e:a51c:885b:7db0:166e:927:98cd:d186 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 94.500/225.135/740.202/257.535 ms
Или даже так:
Код: Выделить всё
olej@R420:~/2023/own.WORK/Yggdrasil$ ping -c5 -6 21e:a51c:885b:7db0:166e:927:98cd:d186 -Itun0
PING 21e:a51c:885b:7db0:166e:927:98cd:d186(21e:a51c:885b:7db0:166e:927:98cd:d186) from 202:1a41:b65a:dbd6:c433:bd44:ea25:343f tun0: 56 data bytes
64 bytes from 21e:a51c:885b:7db0:166e:927:98cd:d186: icmp_seq=1 ttl=64 time=102 ms
64 bytes from 21e:a51c:885b:7db0:166e:927:98cd:d186: icmp_seq=2 ttl=64 time=100 ms
64 bytes from 21e:a51c:885b:7db0:166e:927:98cd:d186: icmp_seq=3 ttl=64 time=104 ms
64 bytes from 21e:a51c:885b:7db0:166e:927:98cd:d186: icmp_seq=4 ttl=64 time=102 ms
64 bytes from 21e:a51c:885b:7db0:166e:927:98cd:d186: icmp_seq=5 ttl=64 time=105 ms
--- 21e:a51c:885b:7db0:166e:927:98cd:d186 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 100.279/102.508/104.649/1.552 ms