Но самый интересный, мне так кажется, вариант, это когда ретранслятор IPv6->Интернет будет не выделенный сервер с "белым" IP (VPS), а локальный хост, в заурядной LAN, с частным IP, типа 192.168.1.100 + имеющиё сам выход в Интернет через аппаратный роутер и провайдера, со своим NAT...
1. Возможность проброса Yggdrasil/IPv6 туннеля выше я уже проверил...
2. Для исключения влияния роутинга у клиента на работу Yggdrasil, можно просто переконфигурировать клиента так, чтобы он вообще не использовал внешние пиры, а работал через соседей в LAN за счёт IPv6 Multicast ... вот с таким конфигом:
Код: Выделить всё
[root@xenix etc]# grep -v ^# /etc/yggdrasil.conf | grep " Peers:" -A1
Peers: [
]
Код: Выделить всё
[root@xenix etc]# grep -v ^# /etc/yggdrasil.conf | grep "MulticastInterfaces:" -A9
MulticastInterfaces:
[
{
Regex: .*
Beacon: true
Listen: true
Port: 0
Priority: 0
}
]
Тогда:
Код: Выделить всё
[root@xenix etc]# systemctl restart yggdrasil
Код: Выделить всё
[root@xenix etc]# systemctl status --no-pager --full yggdrasil
● yggdrasil.service - yggdrasil
Loaded: loaded (/etc/systemd/system/yggdrasil.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf
Active: active (running) since Fri 2023-10-27 18:32:08 EEST; 2s ago
Process: 12456 ExecStartPre=/sbin/modprobe tun (code=exited, status=0/SUCCESS)
Main PID: 12457 (yggdrasil)
Tasks: 10 (limit: 9337)
Memory: 3.9M
CGroup: /system.slice/yggdrasil.service
└─12457 /usr/local/sbin/yggdrasil -useconffile /etc/yggdrasil.conf
окт 27 18:32:08 xenix.localdomain yggdrasil[12457]: 2023/10/27 18:32:08 UNIX admin socket listening on /var/run/yggdrasil.sock
окт 27 18:32:08 xenix.localdomain yggdrasil[12457]: 2023/10/27 18:32:08 TLS listener started on [fe80::bdc9:d183:f9c0:ff56%enp2s0]:38625
окт 27 18:32:08 xenix.localdomain yggdrasil[12457]: 2023/10/27 18:32:08 Interface name: tun0
окт 27 18:32:08 xenix.localdomain yggdrasil[12457]: 2023/10/27 18:32:08 Interface IPv6: 201:1171:48a7:6391:3920:2499:1ebd:757f/7
окт 27 18:32:08 xenix.localdomain yggdrasil[12457]: 2023/10/27 18:32:08 Interface MTU: 53049
окт 27 18:32:08 xenix.localdomain yggdrasil[12457]: 2023/10/27 18:32:08 Your public key is 7ba3add6271bb1b7f6d9b850a2a00b57db7179a82d162afc0e15889f62aa0773
окт 27 18:32:08 xenix.localdomain yggdrasil[12457]: 2023/10/27 18:32:08 Your IPv6 address is 201:1171:48a7:6391:3920:2499:1ebd:757f
окт 27 18:32:08 xenix.localdomain yggdrasil[12457]: 2023/10/27 18:32:08 Your IPv6 subnet is 301:1171:48a7:6391::/64
окт 27 18:32:08 xenix.localdomain yggdrasil[12457]: 2023/10/27 18:32:08 Connected inbound TLS: 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f@fe80::9bac:3791:1b79:7237, source [fe80::bdc9:d183:f9c0:ff56%enp2s0]:38625
окт 27 18:32:08 xenix.localdomain yggdrasil[12457]: 2023/10/27 18:32:08 Connected inbound TLS: 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f@fe80::13f5:9fe2:6393:bf4a, source [fe80::bdc9:d183:f9c0:ff56%enp2s0]:38625
...
Код: Выделить всё
[root@xenix etc]# yggdrasilctl getpeers
Port Public Key IP Address Uptime RX TX Pr URI
1 00000005d60d541432e5fbabad558d6cca02aaddbb3363fcd3a8421934e4d575 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f 17s 1kb 2kb 0 tls://[fe80::9bac:3791:1b79:7237%enp2s0]:52537
2 00000005d60d541432e5fbabad558d6cca02aaddbb3363fcd3a8421934e4d575 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f 17s 1kb 1kb 0 tls://[fe80::13f5:9fe2:6393:bf4a%enp2s0]:52315
И всё живое:
Код: Выделить всё
[root@xenix etc]# yggdrasilctl getself
Build name: yggdrasil
Build version: 0.4.7
IPv6 address: 201:1171:48a7:6391:3920:2499:1ebd:757f
IPv6 subnet: 301:1171:48a7:6391::/64
Coordinates: [1 246 25 227 5]
Public key: 7ba3add6271bb1b7f6d9b850a2a00b57db7179a82d162afc0e15889f62aa0773
И вот уже такой клиент пробрасывает "серый" IP сквозь Yggdrasil туннель:
Код: Выделить всё
[olej@xenix Tunnel.IPv6]$ ping 172.16.1.1 -c3
PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
64 bytes from 172.16.1.1: icmp_seq=1 ttl=64 time=476 ms
64 bytes from 172.16.1.1: icmp_seq=2 ttl=64 time=84.9 ms
64 bytes from 172.16.1.1: icmp_seq=3 ttl=64 time=78.1 ms
--- 172.16.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 78.111/212.955/475.867/185.927 ms
3. И на удалённом ретрансляторе (в даннном случае 172.16.1.1) уже не нужен никакой NAT и маскарадинг, а нужно только настроить роутинг на проброс трафика на его дефаултный интерфейс в Интернет (на его аппаратный роутер)...