Pourquoi les adresses IPv6 sont-elles réinitialisées lorsque le lien est éteint?

Il y a une différence de comportement de l'adresse IPv4 et IPv6, attribué à l'interface réseau: lorsque le lien est mis au rebut, comme dans le cas dans le cas «ip link set down dev eth0», Adresses IPv4 Enregistrer, mais adresses IPv6 Réinitialiser. Si le lien sera installé à nouveau, adresses IPv4 peut être immédiatement utilisé pour transmettre le trafic, mais les adresses IPv6 doit être nommé.

Est-ce une erreur ou est-ce intentionnellement? Si cela est fait intentionnellement, où puis-je le trouver clairement documenté?

L'un des employés a fait valoir qu'il s'agit d'une erreur qui sera fixée dans le noyau suivant; une autre affirmait que c'était fait intentionnellement parce que IPv6 Assure une adressage dynamique. J'ai découvert un comportement identique dans plusieurs distributions différentes Linux et différentes versions du noyau, donc je suis presque sûr que cela soit intentionnellement fait, mais je veux trouver la documentation, comme dans une citation de RFC, Pour résoudre cette question.

S'il y a une solution de contournement, ce qui vous fait enregistrer des adresses IPv6 attribuées manuellement, il serait utile de savoir à ce sujet.
Invité:

Catherine

Confirmation de:

Il semble que le cadre que vous recherchez,

keep_addr_on_down

qui a été présenté dans Linux 4.6. Citation
https://git.kernel.org/pub/scm ... .10.9
:

keep_addr_on_down - INTEGER
Keep all IPv6 addresses on an interface down event. If set static
global addresses with no expiration time are not flushed.
>0 : enabled
0 : system default
<0 : disabled

Default: 0 (addresses are removed)

Si vous utilisez la version plus ancienne Linux, que 4.6, La meilleure solution de contournement que je peux offrir - Assigner l'adresse

dummy

L'interface que vous supportez, même si l'interface physique échoue:

modprobe dummy
ip -6 addr add dev dummy0 2001:db8::42/128

Pour répondre aux questions, connectez-vous ou registre