Cómo detener el envío de correo de Sendmail desde IPv6 en lugar de IPv4

11

Hoy noté que Gmail envía todos los mensajes recibidos de mi servidor a la carpeta Spam. Verifiqué el encabezado del mensaje y encontré lo siguiente:

Authentication-Results: mx.google.com;
       spf=neutral (google.com: 2001:4ba0:cafe:........ is neither permitted nor denied by best guess record for domain of [email protected]) [email protected]

Entonces, parece que Sendmail está enviando correo desde la dirección IP6 en lugar de IPv4 y no hay registros SPF y PTR para IPv6. ¿Cómo forzo a Sendmail a enviar correos desde IPv4?

Gracias.

tfe
fuente
44
Como TIENES conectividad v6, sería mejor si pudieras agregar la búsqueda inversa y el registro MX para tu mailer compatible con v6. Pero, eso no es lo que estás preguntando.
sysadmin1138

Respuestas:

10

No deshabilite IPv6. Ya no es opcional y no podrá comunicarse con algunas personas sin él.

En su lugar, arregle su registro SPF para que pase el correo procedente de su dirección IPv6.

Michael Hampton
fuente
Y qué pasa si su proveedor de VPS no desea establecer el registro SPF para IPv6. :(
brodul
2
@brodul ¿Qué tiene que ver su proveedor de VPS con sus registros DNS?
Michael Hampton
Arreglar mi registro SPF no resuelve el problema, porque estoy reenviando correo a GMail, por lo que mi servidor de reenvío nunca pasará una verificación SPF.
James Roper el
3
Gmail ahora también requiere un funcionamiento inverso para los remitentes IPv6. Tener una dirección inversa que funcione definitivamente está fuera de tus manos y depende de tu servidor / proveedor de red.
Vladimir Panteleev
¿Estás seguro? Si no me equivoco, gmail solo requiere un registro SPF válido hoy en día (y debe entrenar su IA haciendo clic en "No es spam" un par de veces)
autra
11

En su sendmail.mc agregue:

CLIENT_OPTIONS (`Familia = inet ') dnl

Luego reconstruya sendmail.cf y reinicie sendmail. En Debian haces esto ejecutando> sendmailconfig. En CentOS, ejecuta / etc / mail / make seguido del reinicio del servicio sendmail. Otros> sistemas tienen otras formas de hacer esto.

Gracias por publicar esto, y definitivamente me puso en el camino correcto. Sin embargo, intenté esto, pero todavía no funcionaba para mí. Como nota al margen, recibimos rechazos de los servidores de correo de Google porque no teníamos una entrada DNS inversa para IPv6. Esto definitivamente está relacionado con la configuración de nuestro VPS, y no con nuestra configuración de DNS, porque la entrada numérica inversa de DNS debe ir a quien sea que posea el bloque de direcciones IP, y ese es mi VPS.

De todos modos, hasta donde puedo ver, no hay forma de desactivar específicamente sendmail usando IPv6 como cliente. La resolución ligeramente complicada a la que llegué fue especificar las opciones de IPv6 para usar un formato de compatibilidad IPv6 de una dirección IPv4.

por ejemplo, si su dirección IPv4 es 1.2.3.4, especifique:

CLIENT_OPTIONS (`Familia = inet6, Addr = :: ffff: 1.2.3.4 ') dnl

Funcionó un encanto para mí, y por lo que puedo ver, esto no se ha documentado en ninguna parte.

David
fuente
¡Muchas gracias por tu respuesta! Me sirvió en un servidor donde no tenía acceso a IPv6 PTR y sendmail era terco para usarlo en Gmail.
Luxian
4

En tu sendmail.mccomplemento:

CLIENT_OPTIONS(`Family=inet')dnl

Luego reconstruya sendmail.cfy reinicie sendmail. En Debian haces esto ejecutando sendmailconfig. En CentOS corres /etc/mail/makeseguido de service sendmail restart. Otros sistemas tienen otras formas de hacer esto.

adamo
fuente
0

Solo quería compartir eso para mí (ahora en 2018), lo que funcionó fue especificar filter-aaaa-on-v4 yes; en el nombre de mi enlace local.conf, según https://kb.isc.org/docs/aa-00576 (excepto la directiva filter-aaaa-on-v6 mencionada allí no existe en mi mente). Probablemente nombrado -4 hubiera funcionado también. Esto con sendmail y enlace en centos7 [.5.1804].

Con todo lo que probé, incluida la respuesta aquí, gmail rebotó mi correo con el temido "este mensaje no cumple con las pautas de envío de IPv6", porque, de hecho, no tengo un reverso para mi dirección ipv6 (isp es difícil).

Otras cosas que no funcionaron: defina ( confBIND_OPTS',-use_inet6 ') (también conocido como ResolverOptions) en submit.mc y sendmail.mc, según https://lists.debian.org/debian-user/2004/09/msg01410.html . No se porque no.

Cambiando /etc/gai.conf (por https://centosfaq.org/centos/etcgaiconf-fails-to-prefer-ipv4-over-ipv6-for-nfs/ ), presumiblemente porque sendmail usa gethostbyname / addr, no getaddrinfo, y gai.conf solo afecta a este último.

Oh, tenía otra solución: compilar sendmail desde la fuente y desactivar v6 en ese nivel. Desafortunadamente, no parece haber una directiva de tiempo de ejecución equivalente.

karlb
fuente