Страница 3 из 5
Yggdrasil версия 0.5
Добавлено: 04 ноя 2023, 15:10
Olej
Olej писал(а): ↑04 ноя 2023, 15:03
Это тот же исходный IPv6.
ping на тот хост LMDE6, который я устанавливал 2-мя часами раньше (выше):
Код: Выделить всё
olej@esprimop420:~/2023/Yggdrasil$ ping -c3 227:7aa8:be12:eec3:4c51:357c:1d6f:f889
PING 227:7aa8:be12:eec3:4c51:357c:1d6f:f889(227:7aa8:be12:eec3:4c51:357c:1d6f:f889) 56 data bytes
64 bytes from 227:7aa8:be12:eec3:4c51:357c:1d6f:f889: icmp_seq=1 ttl=64 time=120 ms
64 bytes from 227:7aa8:be12:eec3:4c51:357c:1d6f:f889: icmp_seq=2 ttl=64 time=28.4 ms
64 bytes from 227:7aa8:be12:eec3:4c51:357c:1d6f:f889: icmp_seq=3 ttl=64 time=28.7 ms
--- 227:7aa8:be12:eec3:4c51:357c:1d6f:f889 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 28.425/58.984/119.800/43.003 ms
Всё
Yggdrasil версия 0.5
Добавлено: 04 ноя 2023, 16:52
Olej
Olej писал(а): ↑04 ноя 2023, 07:55
Со сборкой из исходников трабл:
Со сборкой Yggdrasil трабл по той причине, что у меня из репозитория GoLang установлена
девелоперская версия Go:
Olej писал(а): ↑04 ноя 2023, 07:55
olej@esprimop420:~/2023/Yggdrasil/yggdrasil-go$ go version
go version devel go1.21-b37c0602cd Tue Mar 14 10:02:09 2023 +0000 linux/amd64
А нужна
последняя стабильная
Про сборку стабильной версии теперь см. здесь:
Go: инструментарий (продолжение).
Yggdrasil версия 0.5
Добавлено: 04 ноя 2023, 16:54
Olej
Olej писал(а): ↑04 ноя 2023, 16:52
Про сборку стабильной версии теперь см. здесь:
А дальше уже просто:
Код: Выделить всё
olej@esprimop420:~/2023/Yggdrasil/yggdrasil-go$ pwd
/home/olej/2023/Yggdrasil/yggdrasil-go
Код: Выделить всё
olej@esprimop420:~/2023/Yggdrasil/yggdrasil-go$ ./build
Building: yggdrasil
github.com/kardianos/minwinsvc
golang.org/x/crypto/internal/alias
golang.org/x/exp/constraints
golang.org/x/crypto/salsa20/salsa
github.com/quic-go/quic-go/internal/utils/ringbuffer
golang.org/x/net/internal/iana
github.com/yggdrasil-network/yggdrasil-go/src/version
golang.org/x/text/encoding/internal/identifier
golang.org/x/text/internal/utf8internal
github.com/Arceliar/phony
github.com/gologme/log
github.com/bits-and-blooms/bitset
github.com/hjson/hjson-go/v4
github.com/yggdrasil-network/yggdrasil-go/src/address
github.com/hashicorp/go-syslog
github.com/Arceliar/ironwood/types
golang.org/x/crypto/curve25519
golang.org/x/crypto/internal/poly1305
golang.org/x/sys/cpu
github.com/quic-go/quic-go/internal/protocol
github.com/Arceliar/ironwood/encrypted/internal/e2c
github.com/quic-go/quic-go/internal/utils/linkedlist
golang.org/x/crypto/chacha20
golang.org/x/crypto/hkdf
golang.org/x/exp/rand
github.com/bits-and-blooms/bloom/v3
golang.org/x/net/bpf
github.com/quic-go/quic-go/internal/utils
github.com/Arceliar/ironwood/network
golang.org/x/crypto/nacl/secretbox
github.com/quic-go/quic-go/internal/qtls
github.com/quic-go/quic-go/quicvarint
golang.org/x/crypto/blake2b
golang.org/x/crypto/chacha20poly1305
golang.org/x/sys/unix
golang.org/x/net/internal/socks
github.com/quic-go/quic-go/internal/qerr
golang.org/x/text/transform
golang.org/x/net/proxy
github.com/quic-go/quic-go/internal/flowcontrol
github.com/quic-go/quic-go/internal/wire
golang.org/x/crypto/nacl/box
golang.org/x/text/encoding
golang.org/x/text/runes
golang.org/x/text/encoding/internal
golang.org/x/text/encoding/unicode
github.com/yggdrasil-network/yggdrasil-go/src/config
github.com/Arceliar/ironwood/encrypted
github.com/quic-go/quic-go/logging
github.com/quic-go/quic-go/internal/logutils
github.com/quic-go/quic-go/internal/handshake
github.com/quic-go/quic-go/internal/congestion
github.com/quic-go/quic-go/internal/ackhandler
golang.zx2c4.com/wireguard/rwcancel
github.com/vishvananda/netns
golang.org/x/net/internal/socket
github.com/vishvananda/netlink/nl
golang.org/x/net/ipv4
golang.org/x/net/ipv6
github.com/vishvananda/netlink
golang.zx2c4.com/wireguard/tun
golang.org/x/net/icmp
github.com/quic-go/quic-go
github.com/yggdrasil-network/yggdrasil-go/src/core
github.com/yggdrasil-network/yggdrasil-go/src/ipv6rwc
github.com/yggdrasil-network/yggdrasil-go/src/admin
github.com/yggdrasil-network/yggdrasil-go/src/tun
github.com/yggdrasil-network/yggdrasil-go/src/multicast
github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasil
Building: yggdrasilctl
go: downloading github.com/mattn/go-runewidth v0.0.14
github.com/rivo/uniseg
github.com/mattn/go-runewidth
github.com/olekukonko/tablewriter
github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl
Код: Выделить всё
olej@esprimop420:~/2023/Yggdrasil/yggdrasil-go$ ls -l yggdrasil*
-rwxr-xr-x 1 olej olej 8347648 ноя 4 15:26 yggdrasil
-rwxr-xr-x 1 olej olej 5988352 ноя 4 15:26 yggdrasilctl
Код: Выделить всё
olej@esprimop420:~/2023/Yggdrasil/yggdrasil-go$ yggdrasil --version
Build name: yggdrasil
Build version: 0.5.1
Yggdrasil версия 0.5
Добавлено: 04 ноя 2023, 21:18
Olej
Но для RPM дистрибутивов можно собрать
только самостоятельно из исходных кодов...
Но поскольку RPM - это несколько особая песня, то это будет в соответствующей теме:
Yggdrasil в RPM.
Yggdrasil версия 0.5
Добавлено: 05 ноя 2023, 12:34
Olej
Olej писал(а): ↑04 ноя 2023, 14:27
Другой дистрибутив:
И, наконец - самый сложный и опасный вариант: обновить на хосте (сервер вот этого форума), 1). находящемся за 4000 км. (не наездишься), 2). к которому нет доступа по Интернету IPv6 (клирнету) ... грёбанные украинские провайдеры перекрыли IP-трафик потому что "сервер хостится от российского провайдера"
(хотя территориально находится хрен знает где).
Проблема (прогноз) может возникнуть в том, что:
- доступ к серверу для администрирования - по SSH через Yggdrasil IPv6...
- после обновления версии 0.4.7 в 0.5.1 (будь оно успешное) трафик тут же оборвётся ...
- а если не успешное - то потеряется доступ...
- и как его потом восстановить для исправления?
Yggdrasil версия 0.5
Добавлено: 05 ноя 2023, 12:39
Olej
Olej писал(а): ↑05 ноя 2023, 12:34
- и как его потом восстановить для исправления?
Сразу спланировал варианты:
- через WEB-консоль управления хостинг-провайдера ... самый негодный, но крайний вариант;
- через
onion-ресурсы ... onion-доступ к серверу;
- через
сеть I2P ... но это "тугой" вариант...
Поехали...
Yggdrasil версия 0.5
Добавлено: 05 ноя 2023, 12:47
Olej
Olej писал(а): ↑05 ноя 2023, 12:39
Поехали...
SSH доступ через Yggdrasil v.0.4.7:
Прежде всего Обновляю набор внешних пиров для единственного
оставленного у меня хоста v.0.4.7 (это остаётся до обслуживания всех удалённых хостов, коллег, которые у меня на обслуживании). Это связано с исчерпанием внешних пиров v.0.4.7.
Пиры выбираю отсюда -
public peers (v0.4) (предварительно их проверяю ping и ранжирую по времени доступа ... работы дофига
):
Код: Выделить всё
olej@R420:~$ grep -v \# /etc/yggdrasil.conf | grep -v ^$ | grep " Peers:" -A11
Peers: [
tcp://158.101.229.219:17002
tcp://phrl42.ydns.eu:8842
tcp://94.130.203.208:5999
tcp://gutsche.tech:8888
tcp://185.165.169.234:8880
tcp://185.165.169.234:8880
tcp://gutsche.tech:8888
tls://gutsche.tech:8889
tcp://94.130.203.208:5999
tls://185.130.44.194:7040
]
Код: Выделить всё
oot@R420:/home/olej/2023/Yggdrasil# yggdrasil -useconffile /etc/yggdrasil.conf
2023/11/04 23:30:33 Build name: yggdrasil
2023/11/04 23:30:33 Build version: 0.4.7
2023/11/04 23:30:33 UNIX admin socket listening on /var/run/yggdrasil.sock
2023/11/04 23:30:33 TLS listener started on [fe80::13f5:9fe2:6393:bf4a%eno1]:43645
2023/11/04 23:30:33 TLS listener started on [fe80::9bac:3791:1b79:7237%eno2]:39125
2023/11/04 23:30:33 Interface name: tun0
2023/11/04 23:30:33 Interface IPv6: 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f/7
2023/11/04 23:30:33 Interface MTU: 53049
2023/11/04 23:30:33 Your public key is 00000005d60d541432e5fbabad558d6cca02aaddbb3363fcd3a8421934e4d575
2023/11/04 23:30:33 Your IPv6 address is 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f
2023/11/04 23:30:33 Your IPv6 subnet is 31d:8a7c:aafa:f346::/64
2023/11/04 23:30:33 Connected outbound TCP: 200:5955:a9bd:bcaf:4373:f69e:3db6:b6b2@94.130.203.208:5999, source 192.168.1.14:33464
2023/11/04 23:30:33 Connected outbound TCP: 200:ad1e:2e16:553f:62bf:7447:2807:446@185.165.169.234:8880, source 192.168.1.14:46608
2023/11/04 23:30:33 Connected outbound TLS: 200:acbf:73b4:ce25:afd8:19bd:b011:491d@185.130.44.194:7040, source 192.168.1.14:46898
2023/11/04 23:30:33 Connected outbound TCP: 200:94b1:847c:27cf:c259:d10:7943:4dc0@116.203.146.143:8888, source 192.168.1.14:42438
2023/11/04 23:30:33 Connected outbound TCP: 201:ca29:d4c5:50c8:b6f3:aa9a:e5d7:616c@158.101.229.219:17002, source 192.168.1.14:34984
2023/11/04 23:30:33 Connected outbound TLS: 200:94b1:847c:27cf:c259:d10:7943:4dc0@116.203.146.143:8889, source 192.168.1.14:53012
2023/11/04 23:30:34 Connected outbound TCP: 201:f3dc:b8c4:c55c:1329:ee2b:3787:86a0@167.235.150.100:8842, source 192.168.1.14:59028
...
Код: Выделить всё
olej@R420:~$ sudo yggdrasilctl getpeers
Port Public Key IP Address Uptime RX TX Pr URI
1 d3552b2121a85e4604b0e124a4a6c2e3aebc9690a0605dc525f01c89cc23515e 200:5955:a9bd:bcaf:4373:f69e:3db6:b6b2 2m48s 40kb 115kb 0 tcp://94.130.203.208:5999
2 a970e8f4d5604ea045dc6bfc7ddcd37457d91e6d7f4b4cbff105636609f4c805 200:ad1e:2e16:553f:62bf:7447:2807:446 2m48s 18kb 2kb 0 tcp://185.165.169.234:8880
3 a9a0462598ed2813f32127f75b7146cf79ce9bd0fac820fcca2a5be2e3d73d69 200:acbf:73b4:ce25:afd8:19bd:b011:491d 2m48s 27kb 15kb 0 tls://185.130.44.194:7040
4 b5a73dc1ec181ed37977c35e591fe8860a87ad2c72a808e8a4ecbf77bdab352d 200:94b1:847c:27cf:c259:d10:7943:4dc0 2m48s 35kb 2kb 0 tcp://gutsche.tech:8888
5 4d758aceabcdd2431559468a27a4cda8d46a3899e27a2d41c26ed599a0b902f0 201:ca29:d4c5:50c8:b6f3:aa9a:e5d7:616c 2m48s 17kb 22kb 0 tcp://158.101.229.219:17002
6 b5a73dc1ec181ed37977c35e591fe8860a87ad2c72a808e8a4ecbf77bdab352d 200:94b1:847c:27cf:c259:d10:7943:4dc0 2m48s 20kb 2kb 0 tls://gutsche.tech:8889
7 4308d1cecea8fb358475321e1e57e6b92393abac23239f95fc81237ff8b7f033 201:f3dc:b8c4:c55c:1329:ee2b:3787:86a0 2m47s 1kb 1kb 0 tcp://phrl42.ydns.eu:8842
Код: Выделить всё
olej@R420:~$ sudo yggdrasilctl getSelf
Build name: yggdrasil
Build version: 0.4.7
IPv6 address: 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f
IPv6 subnet: 31d:8a7c:aafa:f346::/64
Coordinates: [1 106 1 115]
Public key: 00000005d60d541432e5fbabad558d6cca02aaddbb3363fcd3a8421934e4d575
Yggdrasil версия 0.5
Добавлено: 05 ноя 2023, 12:52
Olej
Olej писал(а): ↑05 ноя 2023, 12:47
Прежде всего
После чего - SSH консоль (во множестве экземпляров):
Код: Выделить всё
[olej@xenix ~]$ host ygg.linux-ru.lib
ygg.linux-ru.lib has IPv6 address 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771
Код: Выделить всё
olej@R420:~$ ping -c3 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771
PING 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771(221:58c9:9a6:99be:f3d:c1ac:2b5b:9771) 56 data bytes
64 bytes from 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771: icmp_seq=1 ttl=64 time=1048 ms
64 bytes from 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771: icmp_seq=2 ttl=64 time=285 ms
64 bytes from 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771: icmp_seq=3 ttl=64 time=282 ms
--- 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2015ms
rtt min/avg/max/mdev = 282.177/538.405/1047.636/360.082 ms, pipe 2
Код: Выделить всё
[olej@xenix ~]$ ssh -lolej 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771
...
Здесь, с этим всё готово:
Код: Выделить всё
olej@277938:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
Yggdrasil версия 0.5
Добавлено: 05 ноя 2023, 13:03
Olej
Olej писал(а): ↑05 ноя 2023, 12:39
- через onion-ресурсы ... onion-доступ к серверу;
В качестве страховки выбираю именно onion-доступ (см.
onion-ресурсы) ... и в созданной удалённой SSH-сессии проверяю всё ли готово для ... и уточняю параметры:
Код: Выделить всё
olej@277938:~/yggdrasil$ sudo netstat -tunlp | grep tor
tcp 0 0 127.0.0.1:9050 0.0.0.0:* LISTEN 529/tor
Код: Выделить всё
olej@277938:~/yggdrasil$ grep -v ^# /etc/tor/torrc | grep -v ^$
HiddenServiceDir /var/lib/tor/onion.service/
HiddenServicePort 80 127.0.0.1:80
HiddenServicePort 22 127.0.0.1:22
И вот оно - его .onion-URL :
Код: Выделить всё
olej@277938:~/yggdrasil$ sudo cat /var/lib/tor/onion.service/hostname
frbfmh2vomveiug62duetqtvpkwrfhyp4tkkf5jq6m3bbusjobhveiyd.onion
И SSH-сессия (несколько штук) через onion-доступ:
Код: Выделить всё
oot@R420:/etc# torsocks ssh olej@frbfmh2vomveiug62duetqtvpkwrfhyp4tkkf5jq6m3bbusjobhveiyd.onion
The authenticity of host 'frbfmh2vomveiug62duetqtvpkwrfhyp4tkkf5jq6m3bbusjobhveiyd.onion (127.42.42.0)' can't be established.
ED25519 key fingerprint is SHA256:tUEdyliSRcHZzp1T6ds7GmMI6L0EBXy95rAXPMoXEic.
This host key is known by the following other names/addresses:
~/.ssh/known_hosts:6: [hashed name]
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'frbfmh2vomveiug62duetqtvpkwrfhyp4tkkf5jq6m3bbusjobhveiyd.onion' (ED25519) to the list of known hosts.
olej@frbfmh2vomveiug62duetqtvpkwrfhyp4tkkf5jq6m3bbusjobhveiyd.onion's password:
Linux 277938.local 4.19.0-25-amd64 #1 SMP Debian 4.19.289-2 (2023-08-08) x86_64
...
Код: Выделить всё
olej@277938:~$ who
olej tty1 2023-10-13 21:41
olej pts/0 2023-11-05 00:36 (21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f)
olej pts/1 2023-11-05 00:43 (21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f)
olej pts/2 2023-11-05 00:43 (21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f)
olej pts/3 2023-11-05 00:43 (21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f)
olej pts/6 2023-11-05 01:37 (127.0.0.1)
olej pts/7 2023-11-05 01:39 (127.0.0.1)
Тут 4 сессии через Yggdrasil + 2 сессии через onion-доступ.
Всё готово...
Yggdrasil версия 0.5
Добавлено: 05 ноя 2023, 13:15
Olej
Olej писал(а): ↑05 ноя 2023, 13:03
Всё готово...
Закачал DEB-пакет:
Код: Выделить всё
olej@277938:~/yggdrasil$ wget https://github.com/yggdrasil-network/yggdrasil-go/releases/download/v0.5.1/yggdrasil-0.5.1-amd64.deb
--2023-11-05 01:11:19-- https://github.com/yggdrasil-network/yggdrasil-go/releases/download/v0.5.1/yggdrasil-0.5.1-amd64.deb
Распознаётся github.com (github.com)… 140.82.121.4
Подключение к github.com (github.com)|140.82.121.4|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 302 Found
...
Код: Выделить всё
olej@277938:~/yggdrasil$ ls -l yggdrasil-*
-rw-r--r-- 1 olej olej 3703666 ноя 21 2022 yggdrasil-0.4.7-amd64.deb
-rw-r--r-- 1 olej olej 6155728 окт 28 18:37 yggdrasil-0.5.1-amd64.deb
Подготовил заранее конф-файл /etc/yggdrasil.conf Yggdrasil 0.4.7 под будущую 0.5.1 версию:
Код: Выделить всё
oot@277938:~# grep " Peers:" /etc/yggdrasil.conf -A10
Peers: [
tcp://45.95.202.91:65533
tcp://45.95.202.21:12403
tcp://178.20.41.3:65533
tls://65.21.57.122:61995
tls://94.140.114.241:4708
tcp://195.123.245.146:7743
tls://77.244.252.40:65534
tcp://193.107.20.230:7743
tcp://178.132.161.124:65533
]
Код: Выделить всё
root@277938:~# grep "AdminListen: " /etc/yggdrasil.conf | grep -v \#
AdminListen: unix:///var/run/yggdrasil/yggdrasil.sock
Код: Выделить всё
root@277938:~# mkdir /var/run/yggdrasil
root@277938:~# ls -l /var/run/yggdrasil
итого 0
Запуск обновления (нового и проблемного здесь, по сравнению с предыдущими - что обновление нужно сделать
при работающем сервисе systamd, без его остановки - остановка мне сразу прервёт IPv6 коннект):
Код: Выделить всё
olej@277938:~/yggdrasil$ dpkg -l yggdrasil
Желаемый=неизвестно[u]/установить[i]/удалить[r]/вычистить[p]/зафиксировать[h]
| Состояние=не[n]/установлен[i]/настроен[c]/распакован[U]/частично настроен[F]/
частично установлен[H]/trig-aWait/Trig-pend
|/ Ошибка?=(нет)/требуется переустановка[R] (верхний регистр
в полях состояния и ошибки указывает на ненормальную ситуацию)
||/ Имя Версия Архитектура Описание
+++-==============-============-============-=================================
ii yggdrasil 0.4.7 amd64 Yggdrasil Network
Код: Выделить всё
olej@277938:~/yggdrasil$ sudo dpkg -i yggdrasil-0.5.1-amd64.deb
(Чтение базы данных … на данный момент установлено 48993 файла и каталога.)
Подготовка к распаковке yggdrasil-0.5.1-amd64.deb …
...
И вот на этом месте и в таком виде
сессии IPv6 разорвались (без обычных сообщений yggdrasil-0.5.1-amd64.deb - эти сообщения ушли "в молоко"). И для выяснения и продолжения у меня и остались 2 "спасительные" SSH сессии через onion-доступ