Yggdrasil через LAN без сервиса Yggdrasil

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

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

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

Yggdrasil через LAN без сервиса Yggdrasil

Непрочитанное сообщение Olej » 09 июл 2023, 19:47

Olej писал(а):
09 июл 2023, 19:38
который хотел бы быть клиентом Yggdrasil
2). добавить для всех IPv6 Yggdrasil запись в таблицу роутинга этого хоста на хост в LAN Yggdrasil ... который по задумке и должен форвардить всё внаружу:

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

root@nvidia:~# ip -6 route add 0200::/7 via 31c:4cbf:9e0b:2904::1

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

root@nvidia:~# route -6
Таблица маршрутизация ядра IPv6
Destination                    Next Hop                   Flag Met Ref Use If
ip6-localhost/128              [::]                       U    256 2     0 lo
31c:4cbf:9e0b:2904::/64        [::]                       U    256 1     0 eno1
200::/7                        31c:4cbf:9e0b:2904::1      UG   1024 1     0 eno1
fe80::/64                      [::]                       U    1024 1     0 eno1
fe80::/64                      [::]                       U    1024 1     0 wlx008736005357
[::]/0                         [::]                       !n   -1  1     0 lo
ip6-localhost/128              [::]                       Un   0   7     0 lo
nvidia/128                     [::]                       Un   0   3     0 eno1
nvidia/128                     [::]                       Un   0   4     0 eno1
nvidia/128                     [::]                       Un   0   3     0 wlx008736005357
ip6-mcastprefix/8              [::]                       U    256 6     0 eno1
ip6-mcastprefix/8              [::]                       U    256 5     0 wlx008736005357
[::]/0                         [::]                       !n   -1  1     0 lo

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

Yggdrasil через LAN без сервиса Yggdrasil

Непрочитанное сообщение Olej » 09 июл 2023, 19:57

Olej писал(а):
09 июл 2023, 15:26
перенаправить трафик транзитом только за счёт роутинга/форвардинга...
Проверяю трафик с этого настравиваемого хоста LAN (без Yggdrasil) на внутренний интерфейс хоста Yggdrasil, смотрящий в LAN:

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

olej@nvidia:~$ ping -c3 31c:4cbf:9e0b:2904::1
PING 31c:4cbf:9e0b:2904::1(31c:4cbf:9e0b:2904::1) 56 data bytes
64 bytes from 31c:4cbf:9e0b:2904::1: icmp_seq=1 ttl=64 time=0.332 ms
64 bytes from 31c:4cbf:9e0b:2904::1: icmp_seq=2 ttl=64 time=0.272 ms
64 bytes from 31c:4cbf:9e0b:2904::1: icmp_seq=3 ttl=64 time=0.320 ms

--- 31c:4cbf:9e0b:2904::1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2046ms
rtt min/avg/max/mdev = 0.272/0.308/0.332/0.025 ms
Проверяю трафик (роутинг) на внешний интерфейс хоста Yggdrasil, смотрящий в IPv6:

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

olej@nvidia:~$ ping -c3 21c:4cbf:9e0b:2904:301c:1c7a:9715:62c0
PING 21c:4cbf:9e0b:2904:301c:1c7a:9715:62c0(21c:4cbf:9e0b:2904:301c:1c7a:9715:62c0) 56 data bytes
64 bytes from 21c:4cbf:9e0b:2904:301c:1c7a:9715:62c0: icmp_seq=1 ttl=64 time=0.305 ms
64 bytes from 21c:4cbf:9e0b:2904:301c:1c7a:9715:62c0: icmp_seq=2 ttl=64 time=0.387 ms
64 bytes from 21c:4cbf:9e0b:2904:301c:1c7a:9715:62c0: icmp_seq=3 ttl=64 time=0.282 ms

--- 21c:4cbf:9e0b:2904:301c:1c7a:9715:62c0 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2040ms
rtt min/avg/max/mdev = 0.282/0.324/0.387/0.045 ms
Тут всё ОК ... но трафика внаружу в сеть Yggdrasil нет - то что получалось с 1-го захода на Raspberry Pi, теперь не проходит в LMDE5 :-( ...
И главное, после таких глубоких манипуляций с сетевым стеком он перестаёт нормально воспринимать команды ip:

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

root@nvme:/etc# sudo ip address add 31c:4cbf:9e0b:2904::1/64 dev enp3s0
RTNETLINK answers: Permission denied
:evil: :roll:
Перезагружаться + Разбираться...

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

Yggdrasil через LAN без сервиса Yggdrasil

Непрочитанное сообщение Olej » 09 июл 2023, 20:37

Olej писал(а):
09 июл 2023, 19:57
Разбираться...
Удивляет то, что на интерфейсе в LAN хоста Yggdrasil вместо 31c:4cbf:9e0b:2904::1 (которое я устанавливал) торчит 31c:4cbf:9e0b:2904::2

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

root@nvme:/etc# ip a s dev tun0 
6: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 53049 qdisc pfifo_fast state UNKNOWN group default qlen 500
    link/none 
    inet6 31c:4cbf:9e0b:2904::2/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 21c:4cbf:9e0b:2904:301c:1c7a:9715:62c0/7 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::95dc:675b:b487:3729/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

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

root@nvme:/etc# ping -c3 31c:4cbf:9e0b:2904::2
PING 31c:4cbf:9e0b:2904::2(31c:4cbf:9e0b:2904::2) 56 data bytes
64 bytes from 31c:4cbf:9e0b:2904::2: icmp_seq=1 ttl=64 time=0.049 ms
64 bytes from 31c:4cbf:9e0b:2904::2: icmp_seq=2 ttl=64 time=0.059 ms
64 bytes from 31c:4cbf:9e0b:2904::2: icmp_seq=3 ttl=64 time=0.058 ms

--- 31c:4cbf:9e0b:2904::2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2051ms
rtt min/avg/max/mdev = 0.049/0.055/0.059/0.004 ms

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

root@nvme:/etc# ping -c3 31c:4cbf:9e0b:2904::1
PING 31c:4cbf:9e0b:2904::1(31c:4cbf:9e0b:2904::1) 56 data bytes
From 31c:4cbf:9e0b:2904::2 icmp_seq=1 Time exceeded: Hop limit
From 31c:4cbf:9e0b:2904::2 icmp_seq=2 Time exceeded: Hop limit
From 31c:4cbf:9e0b:2904::2 icmp_seq=3 Time exceeded: Hop limit

--- 31c:4cbf:9e0b:2904::1 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2003ms
Это я начудил, или с интерфейсом что-то :?:

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

Yggdrasil через LAN без сервиса Yggdrasil

Непрочитанное сообщение Olej » 10 июл 2023, 13:16

Olej писал(а):
09 июл 2023, 20:37
Это я начудил,
Это таки я начудил ...
И ларчик открывается просто ... но я так и не понял до конца почему так :?: :oops:
У меня для тунельного интерфейса tun0 (Yggdrasil) когда-то раньше было прописано присвоение короткого адреса 300::/64

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

olej@nvme:~$ ip a s dev tun0
5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 53049 qdisc pfifo_fast state UNKNOWN group default qlen 500
    link/none
    inet6 31c:4cbf:9e0b:2904::2/64 scope global
       valid_lft forever preferred_lft forever
    inet6 21c:4cbf:9e0b:2904:301c:1c7a:9715:62c0/7 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::199d:a2e1:9a7b:4bd6/64 scope link stable-privacy
       valid_lft forever preferred_lft forever
Как я только убрал это присвоение в запуске сервиса /etc/systemd/system/yggdrasil.service:

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

root@nvme:/etc/systemd/system# grep \# /etc/systemd/system/yggdrasil.service
#ExecStartPost=/usr/bin/sleep 2s
#ExecStartPost=/usr/bin/ip address add 31c:4cbf:9e0b:2904::2/64 dev tun0
И перезапустил (restart не помог :-o - естественно, рестарт отрабатывает изменения /etc/yggdrasil.conf, а здесь мы меняем скрипт запуска systemd сервиса /etc/systemd/system/yggdrasil.service):

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

root@nvme:/etc/systemd/system# systemctl daemon-reload

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

root@nvme:/etc/systemd/system# systemctl stop yggdrasil

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

root@nvme:/etc/systemd/system# systemctl start yggdrasil

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

olej@nvme:~$ ip a s dev tun0
6: 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::110c:477:1d83:f579/64 scope link stable-privacy
       valid_lft forever preferred_lft forever
И ping транзитом через этот хост, с хоста LAN без Yggdrasil - поехал... :-o
Вот это ping к другому Yggdrasil хосту, независимому, в LAN:

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

root@nvidia:~# ping -c3 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f
PING 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f(21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f) 56 data bytes
64 bytes from 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f: icmp_seq=1 ttl=63 time=228 ms
64 bytes from 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f: icmp_seq=2 ttl=63 time=79.9 ms
64 bytes from 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f: icmp_seq=3 ttl=63 time=80.4 ms

--- 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 79.873/129.292/227.633/69.537 ms
А вот это ping к удалённому на 4000 км. Yggdrasil серверу вот этого форума:

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

root@nvidia:~# 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=63 time=771 ms
64 bytes from 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771: icmp_seq=2 ttl=63 time=131 ms
64 bytes from 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771: icmp_seq=3 ttl=63 time=131 ms

--- 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 130.755/344.479/771.393/301.873 ms

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

Yggdrasil через LAN без сервиса Yggdrasil

Непрочитанное сообщение Olej » 10 июл 2023, 13:23

Olej писал(а):
10 июл 2023, 13:16
И ping транзитом через этот хост,
Есстественно, тщательно перепроверив разрешённый форвардинг для IPv6 на этом хосте:

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

olej@nvme:~$ ls /proc/sys/net/ipv6/conf/
all  default  enp3s0  lo  tun0

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

olej@nvme:~$ ls /proc/sys/net/ipv6/conf/*/forwarding
/proc/sys/net/ipv6/conf/all/forwarding      /proc/sys/net/ipv6/conf/enp3s0/forwarding  /proc/sys/net/ipv6/conf/tun0/forwarding
/proc/sys/net/ipv6/conf/default/forwarding  /proc/sys/net/ipv6/conf/lo/forwarding

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

olej@nvme:~$ cat /proc/sys/net/ipv6/conf/*/forwarding
1
1
1
1
1
Для устойчивости при перезагрузке:

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

olej@nvme:~$ grep -v ^\# /etc/sysctl.conf | grep -v ^$
net.ipv6.conf.all.forwarding=1

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

Yggdrasil через LAN без сервиса Yggdrasil

Непрочитанное сообщение Olej » 10 июл 2023, 13:29

Olej писал(а):
10 июл 2023, 13:16
Как я только убрал это присвоение в запуске сервиса /etc/systemd/system/yggdrasil.service:
Чтобы убедиться как безболезненно присвоить короткий адрес 300::/64 сделал, пока вручную, так:

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

root@nvme:/etc/systemd/system# ip address add 31c:4cbf:9e0b:2904::2/64 dev lo

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

olej@nvme:~$ ip a s dev lo
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 31c:4cbf:9e0b:2904::2/64 scope global
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
И из очень удалённого хоста в Казахстане (сервер этого форума) тут же проверка по короткому IPv6:

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

olej@277938:~$ ping -c3 31c:4cbf:9e0b:2904::2
PING 31c:4cbf:9e0b:2904::2(31c:4cbf:9e0b:2904::2) 56 data bytes
64 bytes from 31c:4cbf:9e0b:2904::2: icmp_seq=2 ttl=64 time=137 ms
64 bytes from 31c:4cbf:9e0b:2904::2: icmp_seq=3 ttl=64 time=134 ms

--- 31c:4cbf:9e0b:2904::2 ping statistics ---
3 packets transmitted, 2 received, 33.3333% packet loss, time 22ms
rtt min/avg/max/mdev = 134.485/135.725/136.965/1.240 ms
И обратная проверка работоспособности транзита с хоста LAN без Yggdrasil:

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

root@nvidia:~# 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=63 time=771 ms
64 bytes from 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771: icmp_seq=2 ttl=63 time=131 ms
64 bytes from 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771: icmp_seq=3 ttl=63 time=131 ms

--- 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 130.755/344.479/771.393/301.873 ms

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

Yggdrasil через LAN без сервиса Yggdrasil

Непрочитанное сообщение Olej » 10 июл 2023, 13:39

Olej писал(а):
10 июл 2023, 13:29
проверка работоспособности
Всё живое!
Всё работает!
Это транзитный хост Yggdrasil:
- с IPv6 21c:4cbf:9e0b:2904:301c:1c7a:9715:62c0/7
- с коротким IPv6 31c:4cbf:9e0b:2904::2/64
- с интерфейсом в LAN для подключения транзита 31c:4cbf:9e0b:2904::5/64

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

olej@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 31c:4cbf:9e0b:2904::2/64 scope global 
       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 112015sec preferred_lft 112015sec
    inet6 31c:4cbf:9e0b:2904::5/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::522d:d0bd:b221:a526/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
6: 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::110c:477:1d83:f579/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

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

olej@nvme:~$ route -6n 
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
::1/128                        ::                         U    256 2     0 lo
31c:4cbf:9e0b:2904::/64        ::                         U    256 5     0 enp3s0
31c:4cbf:9e0b:2904::/64        ::                         !n   256 1     0 lo
200::/7                        ::                         U    256 3     0 tun0
fe80::/64                      ::                         U    100 5     0 enp3s0
fe80::/64                      ::                         U    256 1     0 tun0
::/0                           ::                         !n   -1  1     0 lo
::1/128                        ::                         Un   0   5     0 lo
200::/128                      ::                         Un   0   3     0 tun0
21c:4cbf:9e0b:2904:301c:1c7a:9715:62c0/128 ::                         Un   0   3     0 tun0
31c:4cbf:9e0b:2904::/128       ::                         Un   0   6     0 enp3s0
31c:4cbf:9e0b:2904::/128       ::                         Un   0   3     0 lo
31c:4cbf:9e0b:2904::2/128      ::                         Un   0   4     0 lo
31c:4cbf:9e0b:2904::5/128      ::                         Un   0   4     0 enp3s0
fe80::/128                     ::                         Un   0   6     0 enp3s0
fe80::/128                     ::                         Un   0   3     0 tun0
fe80::110c:477:1d83:f579/128   ::                         Un   0   2     0 tun0
fe80::522d:d0bd:b221:a526/128  ::                         Un   0   3     0 enp3s0
ff00::/8                       ::                         U    256 5     0 enp3s0
ff00::/8                       ::                         U    256 2     0 tun0
::/0                           ::                         !n   -1  1     0 lo
А это хост LAN с IPv6 31c:4cbf:9e0b:2904::7/64 без Yggdrasil, но работающий в сети Yggdrasil:

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

olej@nvidia:~$ 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: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 70:71:bc:a3:c5:c0 brd ff:ff:ff:ff:ff:ff
    altname enp0s25
    inet 192.168.1.11/24 brd 192.168.1.255 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
    inet6 31c:4cbf:9e0b:2904::7/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::762:c6bf:9eaa:93a9/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: wlx008736005357: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:87:36:00:53:57 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.235/24 brd 192.168.1.255 scope global dynamic noprefixroute wlx008736005357
       valid_lft 111849sec preferred_lft 111849sec
    inet6 fe80::2079:262e:4120:b9ff/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

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

    
olej@nvidia:~$ route -6n
Таблица маршрутизация ядра IPv6
Destination                    Next Hop                   Flag Met Ref Use If
::1/128                        ::                         U    256 2     0 lo
31c:4cbf:9e0b:2904::/64        ::                         U    256 4     0 eno1
200::/7                        31c:4cbf:9e0b:2904::5      UG   1024 3     0 eno1
fe80::/64                      ::                         U    1024 2     0 eno1
fe80::/64                      ::                         U    1024 2     0 wlx008736005357
::/0                           ::                         !n   -1  1     0 lo
::1/128                        ::                         Un   0   7     0 lo
31c:4cbf:9e0b:2904::7/128      ::                         Un   0   5     0 eno1
fe80::762:c6bf:9eaa:93a9/128   ::                         Un   0   3     0 eno1
fe80::2079:262e:4120:b9ff/128  ::                         Un   0   4     0 wlx008736005357
ff00::/8                       ::                         U    256 6     0 eno1
ff00::/8                       ::                         U    256 5     0 wlx008736005357
::/0                           ::                         !n   -1  1     0 lo

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

Yggdrasil через LAN без сервиса Yggdrasil

Непрочитанное сообщение Olej » 10 июл 2023, 15:58

Olej писал(а):
10 июл 2023, 13:39
Всё живое!
Всё работает!
Теперь мне бы ещё чтобы это подымалось после reboot :!:
На клиенте ... (или тот который должен через транзит войти в Yggdrasil)...
Мне нужен эквивалент 2-х команд:

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

root@nvidia:~# ip address add 31c:4cbf:9e0b:2904::7/64 dev eno1
root@nvidia:~# ip -6 route add 0200::/7 via 31c:4cbf:9e0b:2904::5
(Конкретные IPv6 31c:4cbf:9e0b:2904::* в последнем хекстете поменялись по сравнению с экспериментами вчера, раньше по теме...)
Поскольку это довольно простые хосты LAN, и настраивались до этого дня через NetworkManager, то хорошо бы ещё и через него определить конфигурацию. Это сильно упростило бы конфигурирование нескольких (или многих) клиентов, с разными дистрибутивами, чтобы не лезть во внутренности их конфигураций...

Эквивалент 1-й команды (назначить UPv6 из 0300::/64) мне даёт:
Снимок экрана от 2023-07-10 15-49-58.png
Снимок экрана от 2023-07-10 15-49-58.png (91.82 КБ) 374 просмотра
- остаётся Метод: Автоматически - чтобы оставить link-local fe80::762:c6bf:9eaa:93a9/64 ...
- и добавить вручную 31c:4cbf:9e0b:2904::7/64
После этого становится:

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

olej@nvidia:~$ ip a s dev eno1
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 70:71:bc:a3:c5:c0 brd ff:ff:ff:ff:ff:ff
    altname enp0s25
    inet 192.168.1.11/24 brd 192.168.1.255 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
    inet6 31c:4cbf:9e0b:2904::7/64 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::762:c6bf:9eaa:93a9/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
Эквивалент 2-й команды (роутить на транзитёр Yggdrasil) мне даёт:
Снимок экрана от 2023-07-10 15-54-19.png
Снимок экрана от 2023-07-10 15-54-19.png (29.26 КБ) 374 просмотра
После этого становится:

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

olej@nvidia:~$ route -6n
Таблица маршрутизация ядра IPv6
Destination                    Next Hop                   Flag Met Ref Use If
::1/128                        ::                         U    256 2     0 lo
31c:4cbf:9e0b:2904::/64        ::                         U    100 1     0 eno1
200::/7                        31c:4cbf:9e0b:2904::5      UG   1024 1     0 eno1
fe80::/64                      ::                         U    1024 2     0 wlx008736005357
fe80::/64                      ::                         U    1024 1     0 eno1
::/0                           31c:4cbf:9e0b:2904::5      UG   100 5     0 eno1
::1/128                        ::                         Un   0   7     0 lo
31c:4cbf:9e0b:2904::7/128      ::                         Un   0   2     0 eno1
fe80::762:c6bf:9eaa:93a9/128   ::                         Un   0   2     0 eno1
fe80::2079:262e:4120:b9ff/128  ::                         Un   0   5     0 wlx008736005357
ff00::/8                       ::                         U    256 5     0 wlx008736005357
ff00::/8                       ::                         U    256 3     0 eno1
::/0                           ::                         !n   -1  1     0 lo

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

Yggdrasil через LAN без сервиса Yggdrasil

Непрочитанное сообщение Olej » 10 июл 2023, 16:05

Olej писал(а):
10 июл 2023, 15:58
После этого становится:

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

olej@nvidia:~$ 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=63 time=391 ms
64 bytes from 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771: icmp_seq=2 ttl=63 time=385 ms
64 bytes from 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771: icmp_seq=3 ttl=63 time=127 ms

--- 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 126.961/301.034/390.892/123.110 ms
Это ping транзитом через 31c:4cbf:9e0b:2904::5/64 - на далёкий хост в Казахстане...

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

Yggdrasil через LAN без сервиса Yggdrasil

Непрочитанное сообщение Olej » 10 июл 2023, 16:20

Olej писал(а):
10 июл 2023, 15:58
Теперь мне бы ещё чтобы это подымалось после reboot :!:
На клиенте ...
На транзитёре-сервере Yggdrasil...
Ну, тут даже проще, тут надо обеспечить (проверить):
1). включение форвардинга между IPv6 интерфейсами
2). присвоение дополнительно 31c:4cbf:9e0b:2904::5/64 Ethernet интерфейсу в LAN (enp3s0)
3). присвоение дополнительно 31c:4cbf:9e0b:2904::5/64 петлевому интерфейсу lo

1) решается за счёт раскомментирования (или дописать) строки:

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

olej@nvme:~$ grep -v ^\# /etc/sysctl.conf | grep -v ^$
net.ipv6.conf.all.forwarding=1
2) и 3) я решил за счёт дописывания в старт сервиса Yggdrasil в конец секции [Service]:

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

olej@nvme:~$ grep ExecStartPost /etc/systemd/system/yggdrasil.service
ExecStartPost=/usr/bin/sleep 2s
ExecStartPost=/usr/bin/ip address add 31c:4cbf:9e0b:2904::2/64 dev lo
ExecStartPost=/usr/bin/ip address add 31c:4cbf:9e0b:2904::5/64 dev enp3s0

Внимание! Пока я прописывал в sleep задержку после старта Yggdrasil меньше 2 сек. - старт сервиса завершался с ощибкой!
Ну а дальше:

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

root@nvme:/etc/systemd/system# systemctl start yggdrasil

root@nvme:/etc/systemd/system# systemctl daemon-reload

root@nvme:/etc/systemd/system# systemctl start yggdrasil
И всё работает:

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

olej@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 31c:4cbf:9e0b:2904::2/64 scope global 
       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 101977sec preferred_lft 101977sec
    inet6 31c:4cbf:9e0b:2904::5/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::522d:d0bd:b221:a526/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
27: teredo: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qdisc pfifo_fast state UNKNOWN group default qlen 500
    link/none 
    inet6 2001:0:d911:c0d9:1ca7:6d1d:3ee3:4e8a/32 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::ffff:ffff:ffff/64 scope link 
       valid_lft forever preferred_lft forever
    inet6 fe80::47fe:7e6d:983a:2dd2/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
1502: 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::4649:926:48f4:b10a/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

Ответить

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

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

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