Я пытаюсь настроить статический IPv6 с помощью netplan на облачном сервере (публичное облако от OVH) под управлением Ubuntu 18.04.
Я создал /etc/netplan/66-ipv6.yaml
файл yaml в дополнение к существующему /etc/netplan/50-cloud-init.yaml
:
network:
version: 2
ethernets:
ens3:
match:
name: ens3
addresses:
- '2001:what:ever::1234/128'
gateway6: '2001:what:ever::1'
netplan generate; netplan apply
Интерфейс получает статический адрес IPv6 как вручную, так и при перезагрузке, но gateway6:
, похоже, это не оказывает никакого эффекта.
me@server:~$ ip -6 route
2001:what:ever::1234 dev ens3 proto kernel metric 256 pref medium
fe80::/64 dev ens3 proto kernel metric 256 pref medium
Очевидно, что на этом этапе сервер не может получить доступ ни к одному публичному адресу IPv6.
me@server:~$ ping6 google.com
connect: Network is unreachable
Добавление маршрута по умолчанию вручную работает нормально.
me@server:~$ sudo ip -6 route add 2001:what:ever::1 dev ens3
me@server:~$ sudo ip -6 route add default via 2001:what:ever::1 dev ens3
me@server:~$ ip -6 route
2001:what:ever::1 dev ens3 metric 1024 pref medium
2001:what:ever:1234 dev ens3 proto kernel metric 256 pref medium
fe80::/64 dev ens3 proto kernel metric 256 pref medium
default via 2001:what:ever::1 dev ens3 metric 1024 pref medium
me@server:~$ ping6 -c 1 google.com
PING google.com(par10s27-in-x0e.1e100.net (2a00:1450:4007:809::200e)) 56 data bytes
64 bytes from par10s27-in-x0e.1e100.net (2a00:1450:4007:809::200e): icmp_seq=1 ttl=53 time=7.54 ms
--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 7.544/7.544/7.544/0.000 ms
Я упускаю что-то очевидное?
решение1
Подсети (почти) всегда /64. Вы настроили свой интерфейс как /128, что является только одним адресом. Это означает, что шлюз находится в другой подсети и не может быть достигнут.
Вероятно, вы хотите настроить адрес как /64, и все должно работать. /64 — это просто маска подсети. Вы по-прежнему назначаете только один адрес.