@quadro_qa

Как настроить routable /56 ipv6 на разные интерфейсы?

От хостинг провайдера попросил дать сеть 56 что бы смог делать /64 для VPN клиентам
"For v6, you can assign the following demarcation addresses:
2a0f:9500:fa0:16::1/44, gateway is 2a0f:9500:fa0::254
I will route 2a0f:9500:fa0:100::/56 to it as requested."

Потом я настроил так
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:c3:49:69:76:3d brd ff:ff:ff:ff:ff:ff
    inet x/24 brd x scope global noprefixroute ens18
       valid_lft forever preferred_lft forever
    inet6 2a0f:9500:fa0:16::1/44 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::696e:8a9:ec5e:97ce/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
8: wg_ip6: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none 
    inet 10.5.100.1/24 scope global wg_ip6
       valid_lft forever preferred_lft forever
    inet6 2a0f:9500:fa0:102::1/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::dee5:2713:2944:1812/64 scope link flags 800 
       valid_lft forever preferred_lft forever


[root@localhost user]# ip -6 r | grep -v unr
2a0f:9500:fa0:102::/64 dev wg_ip6 proto kernel metric 256 pref medium
2a0f:9500:fa0::/44 dev ens18 proto kernel metric 100 pref medium
fe80::/64 dev ens18 proto kernel metric 100 pref medium
fe80::/64 dev wg_ip6 proto kernel metric 256 pref medium
default via 2a0f:9500:fa0::254 dev ens18 proto static metric 100 pref medium


[root@localhost user]# ip -6 nei
fe80::244b:88ff:fee6:7e86 dev ens18 lladdr 26:4b:88:e6:7e:86 router STALE
fe80::ba27:ebff:fe97:cb4e dev ens18 lladdr b8:27:eb:97:cb:4e router STALE
2a0f:9500:fa0::254 dev ens18 lladdr 26:4b:88:e6:7e:86 router STALE


то есть я добавил 2a0f:9500:fa0:16::1/44 и gateway 2a0f:9500:fa0::254 на ens18
и для wireguard добавил 2a0f:9500:fa0:102::1/64

проблема в том что с wireguard client 2a0f:9500:fa0:102::2/64 не отвечяет на neighbor solicitation от gateway 2a0f:9500:fa0::254

[root@localhost user]# tcpdump -i wg_ip6  -q -nnn ip6  
13:16:06.789627 IP6 2a0f:9500:fa0:102::2 > 2606:4700:4700::1001: ICMP6, echo request, seq 10, length 64
13:16:07.808882 IP6 2a0f:9500:fa0:102::2 > 2606:4700:4700::1001: ICMP6, echo request, seq 11, length 64
^C

[root@localhost user]# tcpdump -i ens18  -q -nnn ip6  
13:16:12.928877 IP6 2a0f:9500:fa0:102::2 > 2606:4700:4700::1001: ICMP6, echo request, seq 16, length 64
13:16:12.970394 IP6 fe80::244b:88ff:fee6:7e86 > ff02::1:ff00:2: ICMP6, neighbor solicitation, who has 2a0f:9500:fa0:102::2, length 32
13:16:13.963624 IP6 2a0f:9500:fa0:102::2 > 2606:4700:4700::1001: ICMP6, echo request, seq 17, length 64
13:16:13.987436 IP6 fe80::244b:88ff:fee6:7e86 > ff02::1:ff00:2: ICMP6, neighbor solicitation, who has 2a0f:9500:fa0:102::2, length 32
^C


данную проблему смог решить при добавление
ip -6 neigh add proxy 2a0f:9500:fa0:102::2 dev ens18
но для SLAAC не знаю как быть
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ответы на вопрос 2
@romancelover
программист C++ под Linux
ndppd можно использовать.
в /etc/ndppd.conf
proxy enp18 {
rule 2a0f:9500:fa0:102::/64
{
iface wg_ip6
}
}

варианты типа префикса: static - отвечать на все neighbor solicitation (не рекомендуется для больших префиксов, чтобы не забивалась таблица соседей несуществующими адресами),
iface - перенаправлять на интерфейс, auto - тоже перенаправлять на интерфейс, но определять его автоматически.
У меня конфигурация похожая, стоит ndppd и Wireguard, но там за Wireguard нет своей подсети со SLAAC, и префикс мелкий (/112), в опции стоит просто static.
Так как wireguard это p2p интерфейс, то (как я себе это представляю), на той стороне wireguard'a ndppd должен аналогично перебрасывать nd запросы с wireguard уже в сеть на той стороне. Само собой там должен быть запущен radvd, анонсирующий указанный префикс в сеть.
Ответ написан
@quadro_qa Автор вопроса
другой вопрос
на ens18 поставил 2a0f:9500:fa0:16::1/44
и рядом на других интерфейсах будет 2a0f:9500:fa0:102::/64, 2a0f:9500:fa0:103::/64 и все они входят в /44
на пример на одном сервере, будет ли это работать правильно
eth0 - 185.10.0.0/16 gateway 185.10.0.1
eth1 - 185.10.1.0/24
eth2 - 185.10.2.0/24


UPDATE:
"Apologies, there was a syntax error on our router so the static route was not being pointed correctly."
проблема решена
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы