Yggdrasil

Настройка, программирование, распределённые вычисления

Модераторы: Olej, bellic, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Yggdrasil

Непрочитанное сообщение Olej » 11 апр 2023, 19:17

Olej писал(а):
11 апр 2023, 18:29
Всё вполне работоспособно
Или вот встречный ping - с очень удалённого хоста (где хостер, кстати, не поддерживает IPv6) на локальный хост в LAN, за провайдером не поддерживающим IPv6 :

Код: Выделить всё

olej@277938:~$ ping -6 -c3 21e:af75:7a27:75:fc2:2453:9dcb:8670
PING 21e:af75:7a27:75:fc2:2453:9dcb:8670(21e:af75:7a27:75:fc2:2453:9dcb:8670) 56 data bytes
64 bytes from 21e:af75:7a27:75:fc2:2453:9dcb:8670: icmp_seq=1 ttl=64 time=817 ms
64 bytes from 21e:af75:7a27:75:fc2:2453:9dcb:8670: icmp_seq=2 ttl=64 time=140 ms
64 bytes from 21e:af75:7a27:75:fc2:2453:9dcb:8670: icmp_seq=3 ttl=64 time=145 ms

--- 21e:af75:7a27:75:fc2:2453:9dcb:8670 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 4ms
rtt min/avg/max/mdev = 140.200/367.708/817.446/318.020 ms

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Yggdrasil

Непрочитанное сообщение Olej » 14 апр 2023, 20:18

Olej писал(а):
28 мар 2023, 18:37
Установка:

Код: Выделить всё

olej@R420:~$ sudo apt install yggdrasil
...
Обновление уже установленной версии (0.4.3) установленной из репозитория дистрибутива Minux 21.1 - см. Yggdrasil in LAN
le_ писал(а):
14 апр 2023, 15:08
В общей сети Yggdrasil из-за наличия в ней разных версий Yggdrasil периодически возникают всяческие проблемы: частая смена координат узлов в дереве (шатание сети, нарушение связности), высокие пинги, узлы в одной локалке иногда соединяются друг с другом через узел где-то в другой стране... Об, этом частенько пишут в чате разработчиков, и разработчики рекомендуют использовать latest release, либо ждать выхода версии 0.5, которая не будет совместима со старыми версиями.
Инструкция добавления (целевого) репозитория здесь: Package install from the S3 repository.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Yggdrasil

Непрочитанное сообщение Olej » 14 апр 2023, 20:21

Olej писал(а):
14 апр 2023, 20:18
Инструкция добавления (целевого) репозитория

Код: Выделить всё

root@R420:~# mkdir -p /usr/local/apt-keys

Код: Выделить всё

root@R420:~# gpg --fetch-keys https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/key.txt
gpg: запрос ключа из 'https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/key.txt'
gpg: ключ 5898470A764B32C9: импортирован открытый ключ "deb.h-ic.eu"
gpg: Всего обработано: 1
gpg:               импортировано: 1

Код: Выделить всё

root@R420:~# gpg --export 569130E8CA20FBC4CB3FDE555898470A764B32C9 | sudo tee /usr/local/apt-keys/yggdrasil-keyring.gpg > /dev/null

Код: Выделить всё

 
root@R420:~# 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
deb [signed-by=/usr/local/apt-keys/yggdrasil-keyring.gpg] http://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/ debian yggdrasil

Код: Выделить всё

root@R420:~# sudo apt-get update
Сущ:1 https://apt.kitware.com/ubuntu focal InRelease
Сущ:2 https://apt.kitware.com/ubuntu focal-rc InRelease
Сущ:3 https://brave-browser-apt-release.s3.brave.com stable InRelease
Игн:4 http://mint.ipacct.com/packages vera InRelease
Сущ:5 https://linux.teamviewer.com/deb stable InRelease
Сущ:6 http://security.ubuntu.com/ubuntu jammy-security InRelease
Сущ:7 http://mint.ipacct.com/packages vera Release
Сущ:8 http://dl.google.com/linux/chrome/deb stable InRelease
Пол:9 https://packages.microsoft.com/repos/ms-teams stable InRelease [5.931 B]
Сущ:10 https://deb.opera.com/opera-stable stable InRelease
Пол:11 http://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb debian InRelease [6.318 B]
Сущ:12 https://repo.skype.com/deb stable InRelease
Сущ:14 http://mirror.mirohost.net/ubuntu jammy InRelease
Сущ:15 http://mirror.mirohost.net/ubuntu jammy-updates InRelease
Сущ:16 http://mirror.mirohost.net/ubuntu jammy-backports InRelease
Пол:17 http://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb debian/yggdrasil amd64 Packages [984 B]
Пол:18 http://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb debian/yggdrasil i386 Packages [996 B]
Получено 14,2 kB за 7с (2.008 B/s)
Чтение списков пакетов… Готово
W: https://repo.skype.com/deb/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

Код: Выделить всё

root@R420:~# apt list --upgradable
Вывод списка… Готово
cmake-data/focal,focal 3.26.3-0kitware1ubuntu20.04.1 all [может быть обновлён с: 3.22.1-1ubuntu1]
cmake/focal 3.26.3-0kitware1ubuntu20.04.1 amd64 [может быть обновлён с: 3.22.1-1ubuntu1]
xserver-common/jammy-updates,jammy-updates 2:21.1.4-2ubuntu1.7~22.04.1 all [может быть обновлён с: 2:21.1.3-2ubuntu2.9]
xserver-xephyr/jammy-updates 2:21.1.4-2ubuntu1.7~22.04.1 amd64 [может быть обновлён с: 2:21.1.3-2ubuntu2.9]
xserver-xorg-core/jammy-updates 2:21.1.4-2ubuntu1.7~22.04.1 amd64 [может быть обновлён с: 2:21.1.3-2ubuntu2.9]
xserver-xorg-legacy/jammy-updates 2:21.1.4-2ubuntu1.7~22.04.1 amd64 [может быть обновлён с: 2:21.1.3-2ubuntu2.9]
yggdrasil/неизвестно 0.4.7 amd64 [может быть обновлён с: 0.4.3-2ubuntu0.22.04.1]

Код: Выделить всё

root@R420:~# apt upgrade yggdrasil
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Расчёт обновлений… Готово
Следующие пакеты будут оставлены в неизменном виде:
  cmake cmake-data xserver-common xserver-xephyr xserver-xorg-core xserver-xorg-legacy
Следующие пакеты будут обновлены:
  yggdrasil
Обновлено 1 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 6 пакетов не обновлено.
Необходимо скачать 3.704 kB архивов.
После данной операции объём занятого дискового пространства уменьшится на 9.157 kB.
Хотите продолжить? [Д/н] y
Пол:1 http://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb debian/yggdrasil amd64 yggdrasil amd64 0.4.7 [3.704 kB]
Получено 3.704 kB за 2с (1.896 kB/s)
(Чтение базы данных … на данный момент установлено 551147 файлов и каталогов.)
Подготовка к распаковке …/yggdrasil_0.4.7_amd64.deb …
Распаковывается yggdrasil (0.4.7) на замену (0.4.3-2ubuntu0.22.04.1) …
Настраивается пакет yggdrasil (0.4.7) …
Generating initial configuration file /etc/yggdrasil.conf
Please familiarise yourself with this file before starting Yggdrasil

Код: Выделить всё

root@R420:~# yggdrasil --version
Build name: yggdrasil
Build version: 0.4.7
Вот это, собственно, всё.
Нужно ещё иметь в виду, что обновление перетирает конфиг /еtс/yggdrasil.conf ... возможно с тщательно отобранными ранее URL пиров :!: :-o

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Yggdrasil

Непрочитанное сообщение Olej » 14 апр 2023, 20:33

Olej писал(а):
14 апр 2023, 20:21
Вот это, собственно, всё.
После рестарта у меня были проблемы, с которыми я грешил на обновление:

Код: Выделить всё

root@R420:/etc# systemctl start yggdrasil

Код: Выделить всё

root@R420:/etc# systemctl status --no-pager --full yggdrasil
× yggdrasil.service - yggdrasil
     Loaded: loaded (/etc/systemd/system/yggdrasil.service; disabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Fri 2023-04-14 19:41:10 EEST; 767ms ago
    Process: 33479 ExecStartPre=/sbin/modprobe tun (code=exited, status=0/SUCCESS)
    Process: 33481 ExecStart=/usr/bin/yggdrasil -useconffile /etc/yggdrasil.conf (code=exited, status=2)
   Main PID: 33481 (code=exited, status=2)
        CPU: 37ms

апр 14 19:41:10 R420 systemd[1]: yggdrasil.service: Scheduled restart job, restart counter is at 5.
апр 14 19:41:10 R420 systemd[1]: Stopped yggdrasil.
апр 14 19:41:10 R420 systemd[1]: yggdrasil.service: Start request repeated too quickly.
апр 14 19:41:10 R420 systemd[1]: yggdrasil.service: Failed with result 'exit-code'.
апр 14 19:41:10 R420 systemd[1]: Failed to start yggdrasil.
Но как оказалось (убил достаточно много времени) такой конфуз возникает из неподходящего списка пиров (или даже одного из...), возможно синтаксиса...
И в итоге:

Код: Выделить всё

root@R420:/etc# systemctl restart yggdrasil

Код: Выделить всё

root@R420:/etc# systemctl status --no-pager --full yggdrasil
● yggdrasil.service - yggdrasil
     Loaded: loaded (/etc/systemd/system/yggdrasil.service; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-04-14 20:07:04 EEST; 2s ago
    Process: 35222 ExecStartPre=/sbin/modprobe tun (code=exited, status=0/SUCCESS)
   Main PID: 35223 (yggdrasil)
      Tasks: 16 (limit: 115786)
     Memory: 6.3M
        CPU: 90ms
     CGroup: /system.slice/yggdrasil.service
             └─35223 /usr/bin/yggdrasil -useconffile /etc/yggdrasil.conf

апр 14 20:07:04 R420 yggdrasil[35223]: 2023/04/14 20:07:04 Connected inbound TLS: 21e:af75:7a27:75:fc2:2453:9dcb:8670@fe80::5b06:3ef5:5b91:15d3, source [fe80::9bac:3791:1b79:7237%eno2]:39889
апр 14 20:07:04 R420 yggdrasil[35223]: 2023/04/14 20:07:04 Connected outbound TCP: 202:db60::9ce0:a73d:7498:d7ae@195.123.245.146:7743, source 192.168.1.14:49180
апр 14 20:07:04 R420 yggdrasil[35223]: 2023/04/14 20:07:04 Connected outbound TCP: 218:71e5:78e4:8989:b71:db7f:7bf1:f1e1@94.130.176.250:62486, source 192.168.1.14:34110
апр 14 20:07:04 R420 yggdrasil[35223]: 2023/04/14 20:07:04 Connected outbound TCP: 21b:8286:225b:2fa8:3d1f:2250:72f1:57a3@45.95.202.21:12403, source 192.168.1.14:40400
апр 14 20:07:04 R420 yggdrasil[35223]: 2023/04/14 20:07:04 Connected outbound TCP: 21e:e795:8e82:a9e2:ff48:952d:55f2:f0bb@51.15.204.214:12345, source 192.168.1.14:43570
апр 14 20:07:04 R420 yggdrasil[35223]: 2023/04/14 20:07:04 Connected outbound TCP: 216:cb69:8da1:ae34:9c27:e424:82a4:b491@45.147.200.202:12402, source 192.168.1.14:55922
апр 14 20:07:04 R420 yggdrasil[35223]: 2023/04/14 20:07:04 Connected outbound TCP: 200:fb97:f9b6:38cb:9c3:f854:98ec:72fa@212.154.86.134:8800, source 192.168.1.14:39040
апр 14 20:07:04 R420 yggdrasil[35223]: 2023/04/14 20:07:04 Connected outbound TCP: 201:ca29:d4c5:50c8:b6f3:aa9a:e5d7:616c@158.101.229.219:17002, source 192.168.1.14:55768
апр 14 20:07:04 R420 yggdrasil[35223]: 2023/04/14 20:07:04 Connected outbound TCP: 200:dc42::3fca:8a99:5d66:b660@77.247.225.234:7743, source 192.168.1.14:58644
апр 14 20:07:04 R420 yggdrasil[35223]: 2023/04/14 20:07:04 Connected outbound TCP: 201:cec9:b4fc:5a23:c67e:6b98:f868:9253@5.255.103.81:7777, source 192.168.1.14:46514
P.S. Как оказалось (позже), конфигфайл по синтаксису не допускает никааких комментриев (поясняющих, на память) внутри списка пиров ... и, как полагаю, внутри любых других списков в конфигурациях :!:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Yggdrasil

Непрочитанное сообщение Olej » 14 апр 2023, 20:38

Olej писал(а):
14 апр 2023, 20:33
И в итоге:

Код: Выделить всё

root@R420:/etc# sudo yggdrasilctl getPeers
Port	                           Public Key                           	              IP Address              	Uptime	 RX 	 TX 	Pr	                    URI                      
1   	00000002a1150bb1ff15e07bb758c468f31e75cbf8d17bc246364377cf18eae3	21e:af75:7a27:75:fc2:2453:9dcb:8670   	2m45s 	 1kb	 1kb	0 	tls://[fe80::5b06:3ef5:5b91:15d3%eno1]:42253	
2   	00000002a1150bb1ff15e07bb758c468f31e75cbf8d17bc246364377cf18eae3	21e:af75:7a27:75:fc2:2453:9dcb:8670   	2m45s 	 1kb	 1kb	0 	tls://[fe80::5b06:3ef5:5b91:15d3%eno2]:59723	
3   	2493ffffffffec63eb18516ce50a3dc2667e29d49fb8b9bd7b39ffe94a32c882	202:db60::9ce0:a73d:7498:d7ae         	2m45s 	 1kb	 1kb	0 	tcp://195.123.245.146:7743                  	
4   	000000c70d438dbb3b7a4712404207070f34e500cd47cef73f26dd54e8f5d591	218:71e5:78e4:8989:b71:db7f:7bf1:f1e1 	2m45s 	 1kb	 2kb	0 	tcp://yggdrasil.su:62486                    	
5   	00000017d79dda4d057c2e0ddaf8d0ea85cd8d169e34fd881a4825a6a97da964	21b:8286:225b:2fa8:3d1f:2250:72f1:57a3	2m45s 	 1kb	 1kb	0 	tcp://45.95.202.21:12403                    	
6   	0000000230d4e2faac3a016ed5a5541a1e89bf6640ffd1e083be71e8dae575db	21e:e795:8e82:a9e2:ff48:952d:55f2:f0bb	2m45s 	 1kb	 1kb	0 	tcp://51.15.204.214:12345                   	
7   	000002692ce4bca396c7b037b6fab696dddb076b566fca5e43339fc2cc116f23	216:cb69:8da1:ae34:9c27:e424:82a4:b491	2m45s 	 1kb	 1kb	0 	tcp://45.147.200.202:12402                  	
8   	82340324e39a7b1e03d5b389c682e5d803f7884ac4dab8e7854b77260dd3dab8	200:fb97:f9b6:38cb:9c3:f854:98ec:72fa 	2m45s 	 1kb	 1kb	0 	tcp://212.154.86.134:8800                   	
9   	4d758aceabcdd2431559468a27a4cda8d46a3899e27a2d41c26ed599a0b902f0	201:ca29:d4c5:50c8:b6f3:aa9a:e5d7:616c	2m45s 	 1kb	 1kb	0 	tcp://158.101.229.219:17002                 	
10  	91deffffffffe01abab3514ca4cfc27ec04dc261c801d285f0ce06e3314f8b6e	200:dc42::3fca:8a99:5d66:b660         	2m45s 	 1kb	 1kb	0 	tcp://y.zbin.eu:7743                        	
11  	4c4d92c0e9770e606519c1e5db6b0b015a7d98bb04d9f5ca840f690c92772ad5	201:cec9:b4fc:5a23:c67e:6b98:f868:9253	2m45s 	 1kb	 1kb	0 	tcp://aaoth.xyz:7777                        	
Что тут интересно? ;-)
Что первые 2 пира в этом списке - это полученные по IPv6 локальные ссылки на другой хост LAN, работающий со своими внешними пирами ... т.е. имеет место смесь внешних и локальных пиров!
Вот как, встречно, выглядит картина этого 2-го локального хоста:

Код: Выделить всё

root@raspberrypi:/etc# sudo yggdrasilctl getPeers
Port                               Public Key                                                 IP Address                Uptime   RX      TX     Pr                         URI
1       19c0399824e937187576672ab5a1b8c3908d198d92e222b6cd30a1852a57476f        203:63fc:667d:b16c:8e78:a899:8d54:a5e4  25m5s    6kb    81kb    0       tcp://193.111.114.28:8080
2       2493ffffffffec63eb18516ce50a3dc2667e29d49fb8b9bd7b39ffe94a32c882        202:db60::9ce0:a73d:7498:d7ae           25m5s   18kb     6kb    0       tcp://195.123.245.146:7743
3       19c0399824e937187576672ab5a1b8c3908d198d92e222b6cd30a1852a57476f        203:63fc:667d:b16c:8e78:a899:8d54:a5e4  25m5s   11kb    23kb    0       tls://193.111.114.28:1443
4       da9f6d74fac3a5e0d70f2a378eaeb672b13e2a9ef33f873ae417ae9cd7a30c8f        200:4ac1:2516:a78:b43e:51e1:ab90:e2a2   25m5s    2kb     3kb    0       tls://pl1.servers.devices.cwinfo.net:11129
5       000000c70d438dbb3b7a4712404207070f34e500cd47cef73f26dd54e8f5d591        218:71e5:78e4:8989:b71:db7f:7bf1:f1e1   25m5s   65kb    12kb    0       tcp://yggdrasil.su:62486
6       000000c70d438dbb3b7a4712404207070f34e500cd47cef73f26dd54e8f5d591        218:71e5:78e4:8989:b71:db7f:7bf1:f1e1   25m5s   26kb     6kb    0       tls://yggdrasil.su:62586
7       00000005d60d541432e5fbabad558d6cca02aaddbb3363fcd3a8421934e4d575        21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f  3m44s    1kb     1kb    0       tls://[fe80::13f5:9fe2:6393:bf4a]:41875
8       00000005d60d541432e5fbabad558d6cca02aaddbb3363fcd3a8421934e4d575        21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f  3m44s    1kb     1kb    0       tls://[fe80::9bac:3791:1b79:7237]:39889
Здесь 2 последних пира - это наши локальные интерфейсы, только-что запущенные ... что и по времени (Uptime) хорошо видно: 3m44s вместо 25m5s.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Yggdrasil

Непрочитанное сообщение Olej » 16 апр 2023, 14:09

Olej писал(а):
14 апр 2023, 20:38
имеет место смесь внешних и локальных пиров!
Если это смущает ;-) , т.е. если хочется убрать внутренние (локальные) пиры через MPD - то про это вот здесь - Конфигурационный файл Yggdrasil на русском:

Код: Выделить всё

  # Настройка интерфейсов, для которых Multicast Peer Discovery должно быть
  # включено. Каждая запись в списке должна быть объектом json, который может
  # содержать Regex, Beacon, Listen и Port. Regex  - это регулярное 
  # выражение, по которому выбирается имя интерфейса; выбирается первый 
  # соответствующий Regex интерфейс. Beacon определяет должен ли узел
  # отправлять link-local многоадресные сигналы для оповещения о своем существовании,
  # пока ожидаются входящие соединения на TCP порту Port.
  # Listen определяет будет ли узел ожидать/прослушивать многоадресные сигналы (beacons)
  # и открывать исходящие соединения.
  # ПОДРОБНЕЕ СМ. СТАТЬЮ "MULTICAST PEER DISCOVERY" НА ЭТОМ РЕСУРСЕ
  MulticastInterfaces:
  [
    {
      Regex: .*
      Beacon: true
      Listen: true
      Port: 0
    }
  ]
Например, просто:

Код: Выделить всё

  MulticastInterfaces: []
Именно тут разрешается MPD опрос (если он нужен) по link-local IPv6 :!:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Yggdrasil

Непрочитанное сообщение Olej » 22 май 2023, 13:55

В огромное достоинство проекту Yggdrasil - это его документированность, здесь: Добро пожаловать на wiki пользователей сети Yggdrasil.

В отличие от "сопутствующих" проектов ... те же EmerCoin/EmerDNS, Alfis, OpenNIC DNS и т.д. (по каждому из них есть тама рядом здесь в сетях, поэтому ссылки не ищё и не сохраняю) - по каждому из них приходится всему догадываться методом проб и ошибок, методом "тыка".

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Yggdrasil

Непрочитанное сообщение Olej » 27 май 2023, 18:01

Эта тема слишком интересна, чтобы обсуждения завершать :!:
И эта тема слишком прегружена, чтобы её продолжать здесь (уже ничего найти нельзя) :-?
Эта тема будет продолжаться здесь: Yggdrasil (2).

Ответить

Вернуться в «Сети»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя