@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 не знаю как быть
  • Вопрос задан
  • 136 просмотров
Пригласить эксперта
Ответы на вопрос 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."
проблема решена
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы