Adresse ipv6 de dns :: ou ::1

Bonjour,
alors pas taper, ma question va traduire ma honteuse incompétence en ipv6.

Sur les zones de certains domaines que j’entretiens, j’utilise comme ipv6 d’un serveur dns que j’administre avec son adresse global se finissant en ::1
Aprés avoir relu un peu quelques trucs, j’ai réalisé que ce qu’on attribue comme adresse ipv6 de machine, c’est en fait une “classe” d’adresse, pas une adresse unique. J’ai bon ?
Du coup, j’ai vérifié sur quoi écoutait mon bind, et en voyant qu’il écoutait sur :::53 (là ou mon smtp écoute sur ::1:25, ce qui est étonnant) je me demandais si l’ip se finissant en :: au lieu de ::1 pouvait être utilisée dans ma zone dns comme AAAA pour désigner mon serveur dns, et si ça ajoutait quelque chose genre répartition de charge quelconque au systéme.
Comme ça marche bien en ::1 et que c’est en prod, je n’ose pas trop tester, mais est ce que c’est judicieux/utile de changer cette adresse dans ma zone dns ?

Ne touche à rien.

Je ne vois pas de quoi tu parles.

Tu confonds les adresses :: et ::1 et les adresses $prefixe:: et $prefixe::1, où $prefixe est un préfixe global unicast quelconque.

  • :: est l’adresse indéfinie (équivalent IPv6 de 0.0.0.0)

  • ::1 est l’adresse de loopback (équivalent de 127.0.0.1)

  • Une adresse de la forme $prefixe:: est par convention une adresse anycast qui correspond à n’importe quel routeur qui est directement connecté au préfixe en question. Il ne faut surtout pas l’attribuer à un hôte car les paquets destinés à cette adresse peuvent être pris par tout routeur connecté au préfixe comme destinés à lui-même et non pas transmis à l’hôte.

  • Une adresse de la forme $prefixe::1 est une adresse sans signification particulière qui peut être utilisée par un serveur ou un hôte.

1 J'aime

Alors oui, j’avais oublié que ::1 sans préfixe avait un sens précis ipv6, mais je parlais bien des deux adresses $prefixe:: et $prefixe::1, ou j’omettais juste le préfixe par confidentialité.

Donc bien compris ce distingo entre adresse hote $pfx::1 et anycast $pfx::, et dans ma config, vu que cette dernière est une frange attribuée par mon isp pour mon usage sur le serveur, je pourrais peut être utiliser $pfx:: dans ma zone, si bind accepte ça, vu que je n’ai que ma machine $pfx::1 (c’est effectivement ce que m’indique ip addr comme inet6 scope global) comme routeur dans cette frange que j’administre, mais ce n’est pas la bonne chose à faire.
Compris merci.

Même quand tu parlais de BIND qui écoute sur [::]:53 et du MTA qui écoute sur [::1]:25 ?

BIND se moque bien qu’il s’agisse d’une adresse anycast et tu peux l’utiliser comme cible d’un enregistrement AAAA. Mais tu ne peux pas l’affecter à une interface en espérant que les paquets destinés à cette adresse seront livrés à cette interface.

Non, là tu as raison, bind écoute partout et mon exim4 n’écoute que sur le localhost parce que il est “send only”.

Vu. Si je mettais l’anycast dans bind et une machine sur $pfx::2, elle recevrait aussi ce qui vient, mais ça mettrait la zouille, car plusieurs serveurs pourraient répondre, donc ça n’a pas de sens.

Je ne te suis pas. Un serveur ayant l’adresse $prefixe::2 ne recevrait pas les paquets destinés à l’adresse anycast $prefixe:: qui ne sont destinés qu’aux routeurs du préfixe.

Quant à avoir plusieurs serveurs qui répondent à une même adresse anycast, ça peut avoir du sens pour faire de la répartition de charge (mais pas avec l’adresse anycast de préfixe, et aussi bien en IPv6 qu’en IPv4), par exemple entre des serveurs DNS accessibles via la même adresse IP.

Bon. Je pensais que tout était routeur.

OK, tu parles de keepalived et haproxy là ?

Non, la distinction hôte / routeur existe autant en IPv6 qu’en IPv4.

Non, je parle de ça.

Intéressant, VU.