Ubuntu serveur : Pb de perte d'IPv6 après un reboot
Édit cause : Ubuntu serveur utilise l'IPv6 HS du RA (Router Advertisement), à la place de celle indiquée dans /etc/network/interfacesJ'ai un problème vraiment étranges sur tous mes serveurs avec plusieurs plages IPv4 / IPv6 : Après un reboot j'ai environ 10% de chance de ne pas avoir d'IPv6, car la gateway IPv6 se change en fe80::2a52:61ff:fed7:84c2
En PIv6, fe80 c'est une adresse locale, un peu comme 192.168.0.0/24 en IPv4.
J'ai pourtant mis en place un fichier pour éviter ça:
nano /etc/sysctl.d/19-patch-ipv6.conf
# Ignorer les paquets Router Advertisement si IPv6 configuré manuellement
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.accept_dad = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.default.accept_ra = 0
net.ipv6.conf.default.accept_dad = 0
Les serveurs ont tous une configuration assez simple avec une seule interface 10 Gb/s (carte réseau Intel X710 for 10GbE SFP+) qui porte les différentes IPv4 et IPv6.
Voici
/etc/network/interfaces d'un serveur SpeedTest (le dossier /etc/network/interfaces.d/ est vide). Il y a :
- une plage IPv4 (89.84.1
.200/29) qui est utilisée pour une IPv4 unicast.
- une plage IPv6 (2001:860:DE
01:1102::/64) qui est utilisée pour deux IPv6 unicast.
- une seconde plage IPv4 (89.84.1
.228/30) qui est utilisée par une IPv4 anycast.
- une seconde plage IPv6 (2001:860:DE
FF:1002::/64) qui est utilisée pour une IPv6 anycast.
Les IP anycast sont utilisées par d'autres serveurs situées dans d'autres villes: C'est le réseau qui route vers le serveur le plus proche.[/size]
# cat
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# Interface 10Gb/s
auto enp1s0f0
# IPv4v6 unicast N°1 :
iface enp1s0f0 inet static
address 89.84.1.202
netmask 255.255.255.248
gateway 89.84.1.201
iface enp1s0f0 inet6 static
address 2001:860:de01:1102::2
netmask 64
gateway 2001:860:de01:1102::1
dns-nameservers 2001:860:b0ff:1::1 2001:860:b0ff:1::2
# IPv6 unicast N°2 :
pre-up ip -6 addr add 2001:860:de01:1102::3/64 dev $IFACE preferred_lft 0
down ip -6 addr del 2001:860:de01:1102::3/64 dev $IFACE preferred_lft 0
# IPv4v6 Anycast :
pre-up ip addr add 89.84.1.230/30 dev $IFACE label $IFACE:0
down ip addr del 89.84.1.230/30 dev $IFACE label $IFACE:0
pre-up ip -6 addr add 2001:860:deff:1002::2/64 dev $IFACE preferred_lft 0
down ip -6 addr del 2001:860:deff:1002::2/64 dev $IFACE preferred_lft 0
Cas où IPv6 est fonctionne après un reboot :Voici ce que l'on a quand l'IPv6 est fonctionnel après un reboot (c'est le cas dans 90% des reboot) : On note le Next Hop 2001:860:de01:1102::1 qui correspond à ma configuration.$ route -6
Table de routage IPv6 du noyau
Destination Next Hop Flag Met Ref Use If
2001:860:de01:1102::/64 :: U 256 2 1 enp1s0f0
2001:860:deff:1002::/64 :: U 256 1 0 enp1s0f0
fe80::/64 :: U 256 1 0 enp1s0f0
::/0 2001:860:de01:1102::1 UG 1024 8 485 enp1s0f0
::/0 :: !n -1 1 488 lo
::1/128 :: Un 0 9 56 lo
2001:860:de01:1102::2/128 :: Un 0 10 121 lo
2001:860:de01:1102::3/128 :: Un 0 2 0 lo
2001:860:deff:1002::2/128 :: Un 0 9 145 lo
fe80::3efd:feff:fe1d:8f00/128 :: Un 0 4 5 lo
ff00::/8 :: U 256 3 7 enp1s0f0
::/0 :: !n -1 1 488 lo
$ ip -6 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp1s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 2001:860:de01:1102::2/64 scope global
valid_lft forever preferred_lft forever
inet6 2001:860:deff:1002::2/64 scope global deprecated
valid_lft forever preferred_lft 0sec
inet6 2001:860:de01:1102::3/64 scope global deprecated
valid_lft forever preferred_lft 0sec
inet6 fe80::3efd:feff:fe1d:8f00/64 scope link
valid_lft forever preferred_lft foreverCas où IPv6 est HS après un reboot :Voici ce que l'on a quand l'IPv6 est HS après un reboot (c'est le cas dans 10% des reboot) : On note le Next Hop fe80::2a52:61ff:fed7:84c2 qui explique pourquoi nous n'avons pas de connectivité IPv6.
On note la présence d'une IPv6 dynamique alors que ce n'est nullement demandé dans ma configuration.$ route -6
Table de routage IPv6 du noyau
Destination Next Hop Flag Met Ref Use If
2001:860:de01:1102::/64 :: UA 256 2 1 enp1s0f0
2001:860:deff:1002::/64 :: U 256 1 0 enp1s0f0
fe80::/64 :: U 256 1 0 enp1s0f0
::/0 fe80::2a52:61ff:fed7:84c2 UGDAe 1024 8 557 enp1s0f0
::/0 :: !n -1 1 557 lo
::1/128 :: Un 0 9 62 lo
2001:860:de01:1102::2/128 :: Un 0 9 108 lo
2001:860:de01:1102:3efd:feff:fe1d:8f00/128 :: Un 0 2 0 lo
2001:860:de01:1102::3/128 :: Un 0 2 0 lo
2001:860:deff:1002::2/128 :: Un 0 9 139 lo
fe80::3efd:feff:fe1d:8f00/128 :: Un 0 4 8 lo
ff00::/8 :: U 256 3 8 enp1s0f0
::/0 :: !n -1 1 557 lo
$ ip -6 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
4: enp1s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 2001:860:de01:1102::2/64 scope global
valid_lft forever preferred_lft forever
inet6 2001:860:deff:1002::2/64 scope global deprecated
valid_lft forever preferred_lft 0sec
inet6 2001:860:de01:1102::3/64 scope global deprecated
valid_lft forever preferred_lft 0sec
inet6 2001:860:de01:1102:3efd:feff:fe1d:8f00/64 scope global mngtmpaddr dynamic
valid_lft 2591700sec preferred_lft 604500sec
inet6 fe80::3efd:feff:fe1d:8f00/64 scope link
valid_lft forever preferred_lft foreverC'est donc toutes les IPv6 qui sont HS après le reboot vu que je n'ai spécifié qu'une seule Gateway.
Je ne sais pas depuis quand ce problème est présent, mais je m'en aperçois clairement maintenant à cause des reboot réguliers nécessaires pour le bug Fuite mémoire avec le kernel 4.13 sous Ubuntu 16.04 LTS.
Si vous avez une piste de solution, je suis preneur.IPv4 :Voici les infos en IPv4 si cela peut aider : IPv4 fonctionne toujours :$ route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
default 89.84.1.201 0.0.0.0 UG 0 0 0 enp1s0f0
89.84.1.200 * 255.255.255.248 U 0 0 0 enp1s0f0
89.84.1.228 * 255.255.255.252 U 0 0 0 enp1s0f0
$ ip -4 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
4: enp1s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq portid 3cfdfe1d8f00 state UP group default qlen 1000
inet 89.84.1.202/29 brd 89.84.1.207 scope global enp1s0f0
valid_lft forever preferred_lft forever
inet 89.84.1.230/30 scope global enp1s0f0:0
valid_lft forever preferred_lft forever