web-dev-qa-db-fra.com

netplan gateway6 semble n'avoir aucun effet

J'essaie de configurer IPv6 statique avec netplan sur un serveur cloud (cloud public d'OVH) exécutant Ubuntu 18.04.

J'ai créé un fichier /etc/netplan/66-ipv6.yaml yaml en plus du /etc/netplan/50-cloud-init.yaml existant:

network:
    version: 2
    ethernets:
        ens3:
            match:
              name: ens3
            addresses: 
              - '2001:what:ever::1234/128'
            gateway6: '2001:what:ever::1'

Que ce soit manuellement avec netplan generate; netplan apply ou au redémarrage, l'interface obtient son adresse IPv6 statique, mais gateway6: semble n'avoir aucun effet.

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

Il est évident que le serveur ne peut atteindre aucune adresse IPv6 publique à ce stade.

me@server:~$ ping6 google.com
connect: Network is unreachable

Ajouter manuellement la route par défaut fonctionne bien.

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

Est-ce que je manque quelque chose de très évident?

5
duch

Les sous-réseaux sont (presque) toujours a/64. Vous avez configuré votre interface en tant que/128, qui n'est qu'une adresse unique. Cela signifie que la passerelle se trouve sur un sous-réseau différent et est inaccessible.

Ce que vous voulez probablement, c'est configurer l'adresse en tant que/64, et tout devrait fonctionner. Le/64 est juste un masque de sous-réseau. Vous n'attribuez toujours qu'une seule adresse.

8
Sander Steffann