Auteur Sujet: Ubuntu serveur utilise l'IPv6 HS du RA à la place de /etc/network/interfaces  (Lu 18635 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 48 042
    • Twitter LaFibre.info
Ubuntu serveur : Pb de perte d'IPv6 après un reboot
« Réponse #12 le: 11 mars 2018 à 18:43:30 »
C'est probablement l'équipement sur lequel il est connecté, un Cisco Nexus, qui est mal configuré.

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 677
  • Lyon 3 (69) / St-Bernard (01)
    • Twitter
Ubuntu serveur : Pb de perte d'IPv6 après un reboot
« Réponse #13 le: 11 mars 2018 à 18:56:01 »
Les cisco envoient automatiquement des RA. Il faut les désactiver explicitement...

vivien

  • Administrateur
  • *
  • Messages: 48 042
    • Twitter LaFibre.info
Ubuntu serveur : Pb de perte d'IPv6 après un reboot
« Réponse #14 le: 14 mars 2018 à 21:11:35 »
La doc dit :
- all => the variable for all interfaces and default will be changed as well
- default => all future interfaces will have the value you specify. This should only affect machines that can add interfaces at run time, such as laptops with PCMCIA cards, or machines that create new interfaces via VPNs or PPP, for example.


Je vais tenter quelques semaines avec :
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
C'est mis en place sur 8 serveurs.

Je vous ferais un retour si cela suffit. (mettre le nom de chaque interface complique la conf d'un serveur)

Ce soir reboot, mais pas d'IPv6...

J'ai pourtant l'interface qui as net.ipv6.conf.enp1s0f0.autoconf = 0

Voici ce que j'ai relevé alors que la machine avait une route d'IPv6 bidon :


# sysctl -a |grep autoconf
sysctl: lecture de la clé « net.ipv6.conf.all.stable_secret »
net.ipv6.conf.all.autoconf = 0
sysctl: lecture de la clé « net.ipv6.conf.default.stable_secret »
net.ipv6.conf.default.autoconf = 0
sysctl: lecture de la clé « net.ipv6.conf.eno1.stable_secret »
net.ipv6.conf.eno1.autoconf = 1
sysctl: lecture de la clé « net.ipv6.conf.eno2.stable_secret »
net.ipv6.conf.eno2.autoconf = 1
sysctl: lecture de la clé « net.ipv6.conf.enp1s0f0.stable_secret »
net.ipv6.conf.enp1s0f0.autoconf = 0
sysctl: lecture de la clé « net.ipv6.conf.enp1s0f1.stable_secret »
net.ipv6.conf.enp1s0f1.autoconf = 1
sysctl: lecture de la clé « net.ipv6.conf.lo.stable_secret »
net.ipv6.conf.lo.autoconf = 1

# sysctl -a |grep "accept_ra "
sysctl: lecture de la clé « net.ipv6.conf.all.stable_secret »
net.ipv6.conf.all.accept_ra = 0
sysctl: lecture de la clé « net.ipv6.conf.default.stable_secret »
net.ipv6.conf.default.accept_ra = 0
sysctl: lecture de la clé « net.ipv6.conf.eno1.stable_secret »
net.ipv6.conf.eno1.accept_ra = 1
sysctl: lecture de la clé « net.ipv6.conf.eno2.stable_secret »
net.ipv6.conf.eno2.accept_ra = 1
sysctl: lecture de la clé « net.ipv6.conf.enp1s0f0.stable_secret »
net.ipv6.conf.enp1s0f0.accept_ra = 0
sysctl: lecture de la clé « net.ipv6.conf.enp1s0f1.stable_secret »
net.ipv6.conf.enp1s0f1.accept_ra = 1
sysctl: lecture de la clé « net.ipv6.conf.lo.stable_secret »
net.ipv6.conf.lo.accept_ra = 1

# sysctl -a |grep accept_dad
sysctl: lecture de la clé « net.ipv6.conf.all.stable_secret »
net.ipv6.conf.all.accept_dad = 0
sysctl: lecture de la clé « net.ipv6.conf.default.stable_secret »
net.ipv6.conf.default.accept_dad = 0
sysctl: lecture de la clé « net.ipv6.conf.eno1.stable_secret »
net.ipv6.conf.eno1.accept_dad = 1
sysctl: lecture de la clé « net.ipv6.conf.eno2.stable_secret »
net.ipv6.conf.eno2.accept_dad = 1
sysctl: lecture de la clé « net.ipv6.conf.enp1s0f0.stable_secret »
net.ipv6.conf.enp1s0f0.accept_dad = 1
sysctl: lecture de la clé « net.ipv6.conf.enp1s0f1.stable_secret »
net.ipv6.conf.enp1s0f1.accept_dad = 1
sysctl: lecture de la clé « net.ipv6.conf.lo.stable_secret »
net.ipv6.conf.lo.accept_dad = -1


SI vous avez une idée...

kgersen

  • Modérateur
  • Abonné Orange Fibre
  • *
  • Messages: 9 230
  • Paris (75)
Ubuntu serveur : Pb de perte d'IPv6 après un reboot
« Réponse #15 le: 14 mars 2018 à 22:14:30 »
t'as toujours la route par défaut dynamique comme indiqué sur ton 1er poste ? (ie flags "UGDA" dans route -6 pour ::0)

cherche "ADDRCONF" dans les logs aussi pour voir.

vivien

  • Administrateur
  • *
  • Messages: 48 042
    • Twitter LaFibre.info
Ubuntu serveur : Pb de perte d'IPv6 après un reboot
« Réponse #16 le: 15 mars 2018 à 07:19:56 »
Oui, on est bien dans le cas du 1er post.

Je ne trouve rien ADDRCONF dans kern.log ou syslog

kgersen

  • Modérateur
  • Abonné Orange Fibre
  • *
  • Messages: 9 230
  • Paris (75)
Ubuntu serveur : Pb de perte d'IPv6 après un reboot
« Réponse #17 le: 15 mars 2018 à 08:47:26 »
pour le flag A indique que la route a été installée par ADDRCONF.

apres y'a peut-être des spécificités d'ubuntu concernant la séquence de boot  et sysctl (ton "/etc/init.d/procps" est standard ?)

vivien

  • Administrateur
  • *
  • Messages: 48 042
    • Twitter LaFibre.info
Ubuntu serveur : Pb de perte d'IPv6 après un reboot
« Réponse #18 le: 15 mars 2018 à 21:12:56 »
Oui, c'est un /etc/init.d/procps standard.

Sur mes PC avec Ubuntu + interface graphique, j'ai bien des lignes ADDRCONF (à 1029 secondes, c'est l'activation du WiFi).

cat /var/log/syslog | grep ADDRCONF
Mar 15 19:00:31 vivien5 kernel: [    3.925993] IPv6: ADDRCONF(NETDEV_UP): enp3s0: link is not ready
Mar 15 19:00:31 vivien5 kernel: [    3.974652] IPv6: ADDRCONF(NETDEV_UP): enp3s0: link is not ready
Mar 15 19:00:31 vivien5 kernel: [    3.979524] IPv6: ADDRCONF(NETDEV_UP): wlp4s0: link is not ready
Mar 15 19:00:31 vivien5 kernel: [    3.993234] IPv6: ADDRCONF(NETDEV_UP): wlp4s0: link is not ready
Mar 15 19:00:31 vivien5 kernel: [    4.072738] IPv6: ADDRCONF(NETDEV_UP): wlp4s0: link is not ready
Mar 15 19:00:34 vivien5 kernel: [    6.913973] IPv6: ADDRCONF(NETDEV_CHANGE): enp3s0: link becomes ready
Mar 15 19:17:36 vivien5 kernel: [ 1029.254593] IPv6: ADDRCONF(NETDEV_CHANGE): wlp4s0: link becomes ready

J'ai revérifié sur mes serveurs : pas de lignes ADDRCONF

J'ai trouvé ce bug 1633479 made a change to isc-dhcp to wait for an interface's link-local ipv6 address to switch from 'tentative' to normal, because all link-local addresses briefly go through a 'tentative' state while the kernel is performing ipv6 link-local 'duplicate address detection' (DAD). While in the 'tentative' state, dhclient can't take over the interface and send out dhcpv6 requests; it must wait until DAD completes.

mais cela ne semble concerner que DHCPv6

vivien

  • Administrateur
  • *
  • Messages: 48 042
    • Twitter LaFibre.info
Ubuntu serveur : Pb de perte d'IPv6 après un reboot
« Réponse #19 le: 28 mars 2018 à 22:19:47 »
J'ai toujours le même problème de perte d'IPv6  au reboot (présent dans uniquement dans 10% des reboot).

route -6 affiche alors ::/0 avec le flag UGDAe et un next hop fe80::2a52:61ff:fed7:84c2

Voici le DMESG complet : 201803_dmesg_serveur_ubuntu1604.txt si vous trouvez qq chose pour m'aider.

Pour le retour de sysctl -a |grep autoconf / sysctl -a |grep "accept_ra " / sysctl -a |grep accept_dad c'est exactement le retour publié dans le message précédent : https://lafibre.info/serveur-linux/perte-ipv6/msg528490/#msg528490

Si vous avez une piste.

La configuration est toujours celle du premier message de ce sujet.

vectronx

  • Professionnel des télécoms
  • Abonné MilkyWan
  • *
  • Messages: 88
  • Villefranche-sur-Saône 69
Ubuntu serveur : Pb de perte d'IPv6 après un reboot
« Réponse #20 le: 31 mars 2018 à 10:35:14 »
Je ne sais pas si ça peut t'aider mais perso dans le fichier interfaces je mets accept_ra

Si je veux mettre une gateway fixe je mets accept_ra 0 :

iface eth0 inet6 static
    address 2001:bc8:1111:111::1/64
    gateway ...
    accept_ra 0

À l'inverse si je veux utiliser les ra :

iface eth0 inet6 static
    address 2001:bc8:1111:111::1/64
    accept_ra 1

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 677
  • Lyon 3 (69) / St-Bernard (01)
    • Twitter
Ubuntu serveur : Pb de perte d'IPv6 après un reboot
« Réponse #21 le: 31 mars 2018 à 11:05:55 »
Bientôt plus supporté sous Netplan ça... :/

vivien

  • Administrateur
  • *
  • Messages: 48 042
    • Twitter LaFibre.info
Ubuntu serveur : Pb de perte d'IPv6 après un reboot
« Réponse #22 le: 31 mars 2018 à 11:34:36 »
Comme je vois que j'ai net.ipv6.conf.enp1s0f0.accept_ra = 0 même quand le problème est présent, je me demande si c'est la bonne piste.

kgersen

  • Modérateur
  • Abonné Orange Fibre
  • *
  • Messages: 9 230
  • Paris (75)
Ubuntu serveur : Pb de perte d'IPv6 après un reboot
« Réponse #23 le: 31 mars 2018 à 11:37:11 »
le flag UGDAe  indique que c'est un RA.

donc soit y'a un bug.
soit a un moment accept_ra est a 1 pendant l'init puis passe a 0 apres.
nb: le fait de mettre accept_ra a 0 une fois qu'on a deja configuré une route a cause d'un RA ne supprime pas cette route.