Yggdrasil in LAN

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

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

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

Yggdrasil in LAN

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

Эта тема переползла отсюда: Yggdrasil - при попытке использования Yggdrasil на ARM Raspberry Pi. Там совершенно успешно Yggdrasil заработал в глобальной сети WAN, но как-то не удалось его заставить работать на соседних хостах в LAN.
Olej писал(а):
11 апр 2023, 18:29
Ларчик, похоже просто открывается...
Ненароком рассматривая вывод диагностики yggdrasilctl getSelf, обратил внимание на радикальное отличие формата вывода LAN хостов:
- на Mint 21.1 (ну и соответственно будет и в Ubuntu и др.):

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

olej@R420:~/2023/ACCOUNTS/MAIL$ sudo yggdrasilctl getPeers
[sudo] пароль для olej:       
                                                                  bytes_recvd  bytes_sent  coords      key                                                               port  remote                      uptime          
200:4ac1:2516:a78:b43e:51e1:ab90:e2a2                             18025        6537        [1 111 23]  da9f6d74fac3a5e0d70f2a378eaeb672b13e2a9ef33f873ae417ae9cd7a30c8f  6     tls://54.37.137.221:11129   01:33:29        
202:db60::9ce0:a73d:7498:d7ae                                     68731        20007       [1 79]      2493ffffffffec63eb18516ce50a3dc2667e29d49fb8b9bd7b39ffe94a32c882  3     tcp://195.123.245.146:7743  01:33:30        
203:63fc:667d:b16c:8e78:a899:8d54:a5e4                            40301        68036       [1 239]     19c0399824e937187576672ab5a1b8c3908d198d92e222b6cd30a1852a57476f  2     tls://193.111.114.28:1443   01:33:30        
218:71e5:78e4:8989:b71:db7f:7bf1:f1e1                             45226        13553       [1 116]     000000c70d438dbb3b7a4712404207070f34e500cd47cef73f26dd54e8f5d591  5     tls://94.130.176.250:62586  01:33:30        
- на Raspbian (только что установленном) ... (и также на Debian и др.):

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

olej@raspberrypi:~ $ sudo yggdrasilctl getPeers
Port	                           Public Key                           	              IP Address              	 Uptime 	 RX  	 TX  	Pr	                   URI                     
1   	19c0399824e937187576672ab5a1b8c3908d198d92e222b6cd30a1852a57476f	203:63fc:667d:b16c:8e78:a899:8d54:a5e4	1h27m23s	10kb 	12kb 	0 	tcp://193.111.114.28:8080                 	
2   	2493ffffffffec63eb18516ce50a3dc2667e29d49fb8b9bd7b39ffe94a32c882	202:db60::9ce0:a73d:7498:d7ae         	1h27m23s	55kb 	17kb 	0 	tcp://195.123.245.146:7743                	
3   	19c0399824e937187576672ab5a1b8c3908d198d92e222b6cd30a1852a57476f	203:63fc:667d:b16c:8e78:a899:8d54:a5e4	1h27m23s	27kb 	325kb	0 	tls://193.111.114.28:1443                 	
4   	da9f6d74fac3a5e0d70f2a378eaeb672b13e2a9ef33f873ae417ae9cd7a30c8f	200:4ac1:2516:a78:b43e:51e1:ab90:e2a2 	1h27m23s	 6kb 	16kb 	0 	tls://pl1.servers.devices.cwinfo.net:11129	
5   	000000c70d438dbb3b7a4712404207070f34e500cd47cef73f26dd54e8f5d591	218:71e5:78e4:8989:b71:db7f:7bf1:f1e1 	1h27m23s	133kb	35kb 	0 	tcp://yggdrasil.su:62486                  	
6   	000000c70d438dbb3b7a4712404207070f34e500cd47cef73f26dd54e8f5d591	218:71e5:78e4:8989:b71:db7f:7bf1:f1e1 	1h27m23s	182kb	12kb 	0 	tls://yggdrasil.su:62586                  	
Это одна и та же команда :-o
Почувствуйте разницу
:!: :lol:

le_
Писатель
Сообщения: 24
Зарегистрирован: 07 апр 2023, 17:26
Контактная информация:

Yggdrasil in LAN

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

Olej писал(а):
11 апр 2023, 18:29
Нет, конечно, специально: один хост из LAN ходит через внешние peers, остальные - транзитом через него.
Так тоже можно. Один нюанс: MPD только на IPv6 работает. Т.е., на всех устройствах, чтобы они обнаруживали друг друга автоматически, должна быть включена поддержка IPv6.

И версии Yggdrasil тоже желательно иметь одинаковые на разных устройствах. С разными результат не может быть гарантирован.

le_
Писатель
Сообщения: 24
Зарегистрирован: 07 апр 2023, 17:26
Контактная информация:

Yggdrasil in LAN

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

Olej писал(а):
11 апр 2023, 19:18
Почувствуйте разницу
А версии-то Yggdrasil одинаковые?

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

Yggdrasil in LAN

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

Olej писал(а):
11 апр 2023, 19:18
Почувствуйте разницу
Я в таких случаях всегда подозреваю версию :cry:
Raspbian - установлен Yggdrasil с бинарных .deb пакетов с сайта проекта :

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

olej@raspberrypi:~ $ yggdrasil --version
Build name: yggdrasil
Build version: 0.4.7
Mint - установлен Yggdrasil из стандартного репозитория дистрибутива:

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

olej@R420:~$ yggdrasil --version
Build name: unknown
Build version: unknown

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

olej@R420:~/2023/ACCOUNTS/MAIL$ yggdrasil --version
Build name: unknown
Build version: unknown
[code]
Пикантно?
Тогда так:
[code]
olej@R420:~/2023/ACCOUNTS/MAIL$ aptitude show yggdrasil 
Пакет: yggdrasil                                 
Версия: 0.4.3-2ubuntu0.22.04.1
Новый: да
Состояние: установлен
Установлен автоматически: нет
Приоритет: необязательный
Раздел: universe/golang
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: amd64
Размер в распакованном виде: 9.157 k
Зависит: libc6 (>= 2.34)
Описание: Fully encrypted global-scale mesh network (program)
 Yggdrasil is an early-stage implementation of a fully end-to-end encrypted IPv6 network. It is lightweight, self-arranging, supported on multiple platforms and allows pretty much any IPv6-capable
 application to communicate securely with other Yggdrasil nodes. Yggdrasil does not require you to have IPv6 Internet connectivity - it also works over IPv4. 
 
 This package contains the executables.
Домашняя страница: https://github.com/yggdrasil-network/yggdrasil-go
В принципе ... 0.4.7 и 0.4.3 - не должны бы создавать на этой почве проблему :-(
Про несовместимость 0.3.14 и 0.4 - пишут, но это не тот случай.

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

Yggdrasil in LAN

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

le_ писал(а):
11 апр 2023, 19:48
А версии-то Yggdrasil одинаковые?
Мне сейчас чем что-то править - проще по-быстрому ещё на один комп Yggdrasil поставить. ;-)

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

olej@nvme:~$ inxi -MCxxx
Machine:   Type: Desktop Mobo: ASUSTeK model: PRIME Z270-P v: Rev X.0x serial: <superuser required> UEFI: American Megatrends 
           v: 0807 date: 06/07/2017 
CPU:       Info: Quad Core model: Intel Core i5-6500 bits: 64 type: MCP arch: Skylake-S rev: 3 L2 cache: 6 MiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 bogomips: 25599 
           Speed: 3300 MHz min/max: 800/3600 MHz Core speeds (MHz): 1: 3300 2: 3300 3: 3300 4: 3300 

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

olej@nvme:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Linuxmint
Description:	LMDE 5 (elsie)
Release:	5
Codename:	elsie
Интерфейса tun нет:

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

lej@nvme:~$ ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 10:7b:44:47:a2:47 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.241/24 brd 192.168.1.255 scope global dynamic noprefixroute enp3s0
       valid_lft 162755sec preferred_lft 162755sec
yggdrasil не устанавливался:

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

olej@nvme:~$ systemctl status yggdrasil
Unit yggdrasil.service could not be found.

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

olej@nvme:~$ 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)                                                
p   yggdrasil:i386                                                                            - Fully encrypted global-scale mesh network (program)                                                
(Это для страховки)
Но устанавливать из репо дистрибутива я здесь не стану...

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

Yggdrasil in LAN

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

Olej писал(а):
11 апр 2023, 21:11
Но устанавливать из репо дистрибутива я здесь не стану...
https://github.com/yggdrasil-network/yg ... o/releases

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

olej@nvme:~/2023/1$ wget https://github.com/yggdrasil-network/yggdrasil-go/releases/download/v0.4.7/yggdrasil-0.4.7-amd64.deb
--2023-04-11 21:34:55--  https://github.com/yggdrasil-network/yggdrasil-go/releases/download/v0.4.7/yggdrasil-0.4.7-amd64.deb
Распознаётся github.com (github.com)… 140.82.121.4
Подключение к github.com (github.com)|140.82.121.4|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 302 Found
Адрес: https://objects.githubusercontent.com/github-production-release-asset-2e65be/115685026/977db469-fc87-4682-a46f-25c3bda48557?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230411%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230411T183455Z&X-Amz-Expires=300&X-Amz-Signature=c82ea0fd123914ffc196f57ea807e7f754bc383a61e44fd36f0be218601c395e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=115685026&response-content-disposition=attachment%3B%20filename%3Dyggdrasil-0.4.7-amd64.deb&response-content-type=application%2Foctet-stream [переход]
--2023-04-11 21:34:55--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/115685026/977db469-fc87-4682-a46f-25c3bda48557?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230411%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230411T183455Z&X-Amz-Expires=300&X-Amz-Signature=c82ea0fd123914ffc196f57ea807e7f754bc383a61e44fd36f0be218601c395e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=115685026&response-content-disposition=attachment%3B%20filename%3Dyggdrasil-0.4.7-amd64.deb&response-content-type=application%2Foctet-stream
Распознаётся objects.githubusercontent.com (objects.githubusercontent.com)… 185.199.108.133, 185.199.109.133, 185.199.111.133, ...
Подключение к objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 3703666 (3,5M) [application/octet-stream]
Сохранение в: «yggdrasil-0.4.7-amd64.deb»

yggdrasil-0.4.7-amd64.deb                        100%[=========================================================================================================>]   3,53M  5,82MB/s    за 0,6s    

2023-04-11 21:34:56 (5,82 MB/s) - «yggdrasil-0.4.7-amd64.deb» сохранён [3703666/3703666]

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

olej@nvme:~/2023/1$ ls -l yggdrasil-0.4.7-amd64.deb 
-rw-r--r-- 1 olej olej 3703666 ноя 20 23:26 yggdrasil-0.4.7-amd64.deb

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

Yggdrasil in LAN

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

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

olej@nvme:~/2023/1$ sudo dpkg -i yggdrasil-0.4.7-amd64.deb 
Выбор ранее не выбранного пакета yggdrasil.
(Чтение базы данных … на данный момент установлено 343750 файлов и каталогов.)
Подготовка к распаковке yggdrasil-0.4.7-amd64.deb …
Распаковывается yggdrasil (0.4.7) …
Настраивается пакет yggdrasil (0.4.7) …
Generating initial configuration file /etc/yggdrasil.conf
Please familiarise yourself with this file before starting Yggdrasil
Сразу же:

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

root@nvme:~# whereis yggdrasil
yggdrasil: /usr/bin/yggdrasil /etc/yggdrasil.conf

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

root@nvme:/etc# ls -l yggdrasil.conf 
-rw-r----- 1 root yggdrasil 3559 апр 11 22:49 yggdrasil.conf

le_
Писатель
Сообщения: 24
Зарегистрирован: 07 апр 2023, 17:26
Контактная информация:

Yggdrasil in LAN

Непрочитанное сообщение le_ » 11 апр 2023, 22:59

Из репозиториев дистрибутива лучше не устанавливать, там, как правило, устаревшие версии.
А с учетом того, что это альфа-версии (и более того, эксперимент), разработчики рекомендуют всегда использовать последние версии и это касается версии 0.4.3, там алгоритм выбора родителей в дереве отличается от 0.4.7. И из-за этих незначительных отличий может страдать вся сеть: происходит то, что называется штормами.

Вместо установки из скачанных deb-пакетов удобнее прописать репозиторий разработчиков и устанавливать (и обновлять) оттуда.

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

Yggdrasil in LAN

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

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

root@nvme:~# systemctl start yggdrasil

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

root@nvme:~# systemctl status yggdrasil
● yggdrasil.service - yggdrasil
     Loaded: loaded (/etc/systemd/system/yggdrasil.service; disabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-04-11 23:06:11 EEST; 6s ago
    Process: 130997 ExecStartPre=/sbin/modprobe tun (code=exited, status=0/SUCCESS)
   Main PID: 131001 (yggdrasil)
      Tasks: 8 (limit: 18948)
     Memory: 7.0M
        CPU: 22ms
     CGroup: /system.slice/yggdrasil.service
             └─131001 /usr/bin/yggdrasil -useconffile /etc/yggdrasil.conf

апр 11 23:06:11 nvme systemd[1]: Started yggdrasil.
апр 11 23:06:11 nvme yggdrasil[131001]: 2023/04/11 23:06:11 Build name: yggdrasil
апр 11 23:06:11 nvme yggdrasil[131001]: 2023/04/11 23:06:11 Build version: 0.4.7
апр 11 23:06:11 nvme yggdrasil[131001]: 2023/04/11 23:06:11 Interface name: tun0
апр 11 23:06:11 nvme yggdrasil[131001]: 2023/04/11 23:06:11 Interface IPv6: 21c:4cbf:9e0b:2904:301c:1c7a:9715:62c0/7
апр 11 23:06:11 nvme yggdrasil[131001]: 2023/04/11 23:06:11 Interface MTU: 53049
апр 11 23:06:11 nvme yggdrasil[131001]: 2023/04/11 23:06:11 Your public key is 0000000d9a030fa6b7de7f1f1c2b4754e9fb66086cf971f7997576e842902ef4
апр 11 23:06:11 nvme yggdrasil[131001]: 2023/04/11 23:06:11 Your IPv6 address is 21c:4cbf:9e0b:2904:301c:1c7a:9715:62c0
апр 11 23:06:11 nvme yggdrasil[131001]: 2023/04/11 23:06:11 Your IPv6 subnet is 31c:4cbf:9e0b:2904::/64
апр 11 23:06:11 nvme yggdrasil[131001]: 2023/04/11 23:06:11 UNIX admin socket listening on /var/run/yggdrasil.sock

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

root@nvme:~# ip a s dev tun0
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 53049 qdisc pfifo_fast state UNKNOWN group default qlen 500
    link/none 
    inet6 21c:4cbf:9e0b:2904:301c:1c7a:9715:62c0/7 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::86a8:61df:f511:c18b/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
Всё стартовало...
Но :!:

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

root@nvme:~# sudo yggdrasilctl getPeers
Port	Public Key	IP Address	Uptime	RX	TX	Pr	URI 

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

root@nvme:~# ping 21e:af75:7a27:75:fc2:2453:9dcb:8670 -c3
PING 21e:af75:7a27:75:fc2:2453:9dcb:8670(21e:af75:7a27:75:fc2:2453:9dcb:8670) 56 data bytes

--- 21e:af75:7a27:75:fc2:2453:9dcb:8670 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2055ms
:-o

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

Yggdrasil in LAN

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

le_ писал(а):
11 апр 2023, 22:59
происходит то, что называется штормами.
Всё что касается "шторм" это я знаю, но здесь это не похоже...
le_ писал(а):
11 апр 2023, 22:59
Вместо установки из скачанных deb-пакетов удобнее прописать репозиторий разработчиков и устанавливать (и обновлять) оттуда.
И собирать из GIT из исходников?
Для меня это не представляет труда ... но что будут делать другие желающие Yggdrasil ?
И показанные deb-пакеты - это сайт разработчиков (ссылка их) и собрано ними :!: :-(

Ответить

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

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

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