Настройка, программирование, распределённые вычисления
Модераторы: Olej, bellic, vikos
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
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
Это одна и та же команда
Почувствуйте разницу
Olej
-
le_
- Писатель
- Сообщения: 24
- Зарегистрирован: 07 апр 2023, 17:26
-
Контактная информация:
Непрочитанное сообщение
le_ » 11 апр 2023, 19:45
Olej писал(а): ↑11 апр 2023, 18:29
Нет, конечно, специально: один хост из LAN ходит через внешние peers, остальные - транзитом через него.
Так тоже можно. Один нюанс:
MPD только на IPv6 работает. Т.е., на всех устройствах, чтобы они обнаруживали друг друга автоматически, должна быть включена поддержка IPv6.
И версии Yggdrasil тоже желательно иметь одинаковые на разных устройствах. С разными результат не может быть гарантирован.
le_
-
le_
- Писатель
- Сообщения: 24
- Зарегистрирован: 07 апр 2023, 17:26
-
Контактная информация:
Непрочитанное сообщение
le_ » 11 апр 2023, 19:48
Olej писал(а): ↑11 апр 2023, 19:18
Почувствуйте разницу
А версии-то Yggdrasil одинаковые?
le_
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 11 апр 2023, 20:50
Olej писал(а): ↑11 апр 2023, 19:18
Почувствуйте разницу
Я в таких случаях всегда подозреваю
версию
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
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
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
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
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
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
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
Olej
-
le_
- Писатель
- Сообщения: 24
- Зарегистрирован: 07 апр 2023, 17:26
-
Контактная информация:
Непрочитанное сообщение
le_ » 11 апр 2023, 22:59
Из репозиториев дистрибутива лучше не устанавливать, там, как правило, устаревшие версии.
А с учетом того, что это альфа-версии (и более того, эксперимент), разработчики рекомендуют всегда использовать последние версии и это касается версии 0.4.3, там алгоритм выбора родителей в дереве отличается от 0.4.7. И из-за этих незначительных отличий может страдать вся сеть: происходит то, что называется
штормами.
Вместо установки из скачанных deb-пакетов удобнее прописать репозиторий разработчиков и устанавливать (и обновлять) оттуда.
le_
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 11 апр 2023, 23:11
Код: Выделить всё
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
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 11 апр 2023, 23:20
le_ писал(а): ↑11 апр 2023, 22:59
происходит то, что называется штормами.
Всё что касается "шторм" это я знаю, но здесь это не похоже...
le_ писал(а): ↑11 апр 2023, 22:59
Вместо установки из скачанных deb-пакетов удобнее прописать репозиторий разработчиков и устанавливать (и обновлять) оттуда.
И собирать из GIT из исходников?
Для меня это не представляет труда ... но что будут делать другие желающие Yggdrasil ?
И показанные deb-пакеты - это сайт разработчиков (ссылка их) и собрано ними
Olej
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя