Quand Postfix utilise-t-il IPv6 et quand IPv4?

10

J'ai configuré mon serveur de messagerie pour IPv6 et IPv4 mais dans la plupart des cas, il utilise IPv4 alors qu'IPv6 est disponible sur l'hôte distant. J'utilise Postfix dans la version 2.9. Donc, ma pensée était que postfix utilise IPv6 s'il est disponible et a un repli sur IPv4 ou je me trompe?

nazco
la source
Êtes-vous sûr d'avoir IPv6? Publiez une copie de votre /etc/gai.conf, la sortie de ip addret ping6 -c 5 www.google.com.
Michael Hampton
Eh bien, je sais que cela fonctionne car je peux recevoir des e-mails via IPv6 et j'ai également testé ma configuration IPv6 avant de demander ici.
nazco
2
Étant donné que Google a envoyé tous mes e-mails IPv6 à SPAM, j'ai fini par utiliser "smtp_address_preference = ipv4". Je recommanderais fortement de ne pas préférer IPv6, car la plupart des principaux fournisseurs de messagerie (gmail, aol, yahoo, hotmail / outlook, etc.) n'accepteront pas, ne prendront pas en charge ou spammeront les bacs des expéditeurs ipv6. Je dis juste ... IPv6 est prêt pour le monde, mais le monde n'est pas prêt pour ça>. <: (...
2
@BOB Vous avez principalement besoin d'un DNS inversé sur vos adresses IPv6 pour passer devant Gmail.
Michael Hampton

Réponses:

11

Avez - vous défini l' smtp_address_preference option pour expliclity préfèrent IPv6?

Depuis postconf (5):

smtp_address_preference (default: any)
       The address type ("ipv6", "ipv4" or "any") that the Postfix SMTP client will try first, when a destination has IPv6 and IPv4 addresses with equal MX preference. This feature has no effect unless  the
       inet_protocols setting enables both IPv4 and IPv6.  With Postfix 2.8 the default is "ipv6".

       Notes for mail delivery between sites that have both IPv4 and IPv6 connectivity:

       ·      The setting "smtp_address_preference = ipv6" is unsafe.  It can fail to deliver mail when there is an outage that affects IPv6, while the destination is still reachable over IPv4.

       ·      The setting "smtp_address_preference = any" is safe. With this, mail will eventually be delivered even if there is an outage that affects IPv6 or IPv4, as long as it does not affect both.

       This feature is available in Postfix 2.8 and later.
andol
la source
2
Je ne sais pas vraiment dans quelles conditions ce genre d'échec se produirait. Je me suis fixé "smtp_address_preference = ipv6" et j'ai vérifié les cas de retour à l'enregistrement A après une défaillance de connexion par rapport à l'enregistrement AAAA.
andol
4
Cela peut être utile dans les cas où vous pouvez vous connecter via IPv6, mais il existe un autre problème. Ne pas avoir de DNS inversé configuré pour votre adresse IPv6 source est un problème courant. La destination (c'est-à-dire Google Mail) accepte la connexion IPv6 mais rejette ensuite votre courrier car la vérification DNS inversée échoue. Lorsque vous préférez IPv6, vous obtiendrez toujours le rejet. Lorsque vous randomisez le protocole, le message peut être un peu retardé, mais lors d'une prochaine tentative, il passera.
Sander Steffann
1
@sander: Hmm, non, juste testé. Même avec "smtp_address_preference = ipv6", un rejet 4xx sur l'AAAA déclenchera toujours un renvoi sur l'adresse A.
andol
1
@sander: Pour mon test rapide, je suis allé sans MX et livraison directement à hostname. Mais non, pas de deuxième record MX. paste.ubuntu.com/6696807
andol
1
@sander: Pourtant, exactement le même résultat avec un bon enregistrement MX en place - paste.ubuntu.com/6696854
andol
2

Étant donné que Postfix est correctement configuré avec IPv6, il lui est demandé d'utiliser les deux protocoles et l'hôte MX auquel il se connecte a à la fois un enregistrement A et AAAA, Postfix fait un choix aléatoire à chaque fois, comme Wietse Wenema l'a expliqué :

Les clients SMTP récents de Postfix choisissent au hasard entre IPv4 et IPv6 afin que le courrier ne reste pas bloqué lorsque l'un des deux est en panne.

lrosa
la source
Ok, donc cela signifie qu'il n'y a plus de "J'essaye IPv6 et s'il échoue IPv4" comme dans les anciennes versions de postfix?
nazco