Come fermare Sendmail che invia posta da IPv6 invece di IPv4


11

Oggi ho notato che Gmail invia tutti i messaggi ricevuti dal mio server alla cartella Spam. Ho controllato l'intestazione del messaggio e ho trovato quanto segue:

Authentication-Results: mx.google.com;
       spf=neutral (google.com: 2001:4ba0:cafe:........ is neither permitted nor denied by best guess record for domain of root@myserver.com) smtp.mail=root@myserver.com

Quindi, sembra che Sendmail stia inviando posta dall'indirizzo IP6 invece di IPv4 e non ci siano record SPF e PTR per IPv6. Come posso forzare Sendmail a inviare posta da IPv4?

Grazie.


4
Dal momento che HANNO la connettività v6, sarebbe meglio se potessi aggiungere la ricerca inversa e il record MX per il tuo mailer compatibile con v6. Ma non è quello che stai chiedendo.
sysadmin1138

Risposte:


10

Non disabilitare IPv6. Non è più opzionale e non sarai in grado di comunicare con alcune persone senza di essa.

Invece, correggi il tuo record SPF in modo che passi la posta proveniente dal tuo indirizzo IPv6.


E se il tuo provider VPS non volesse impostare il record SPF per IPv6. :(
brodul

2
@brodul Cosa c'entra il tuo provider VPS con i tuoi record DNS?
Michael Hampton,

La correzione del mio record SPF non risolve il problema, perché sto inoltrando la posta a GMail, quindi il mio server di inoltro non passerà mai un controllo SPF.
James Roper,

3
Gmail ora richiede anche un funzionamento inverso per i mittenti IPv6. Avere un indirizzo inverso funzionante è sicuramente a portata di mano e dipende dal tuo server / provider di rete.
Vladimir Panteleev,

Sei sicuro? Se non sbaglio, gmail richiede solo record SPF validi al giorno d'oggi (e devi addestrare la loro IA facendo clic su "Non spam" un paio di volte)
autra

11

Nel tuo sendmail.mc aggiungi:

CLIENT_OPTIONS ( `Famiglia = inet ') dnl

Quindi ricostruire sendmail.cf e riavviare sendmail. In Debian lo fai eseguendo> sendmailconfig. In CentOS si esegue / etc / mail / make seguito dal servizio sendmail restart. Altri sistemi> hanno altri modi per farlo.

Grazie per aver pubblicato questo, e sicuramente mi ha portato sulla strada giusta. Tuttavia, ho provato questo, ma non funzionava ancora per me. Come nota a margine, abbiamo ricevuto rifiuti dai server di posta di Google perché non avevamo una voce DNS inversa per IPv6. Ciò è sicuramente correlato alla configurazione del nostro VPS, e non alla nostra configurazione DNS, perché la voce DNS inversa numerica deve andare a chiunque possieda il blocco di indirizzi IP, e questo è il mio VPS.

Ad ogni modo, per quanto posso vedere, non c'è modo di disattivare specificamente sendmail usando IPv6 come client. La risoluzione leggermente difficile a cui sono arrivato è stata quella di specificare le opzioni IPv6 per utilizzare un formato di compatibilità IPv6 di un indirizzo IPv4.

ad es. se il tuo indirizzo IPv4 è 1.2.3.4, specifica:

CLIENT_OPTIONS ( `Famiglia = inet6, Ind = :: ffff: 1.2.3.4' ) dnl

Ha funzionato per me e, per quanto posso vedere, questo non è stato documentato da nessuna parte.


Grazie mille per la tua risposta! Ha fatto il trucco per me su un server in cui non avevo accesso al PTR IPv6 e sendmail era testardo nell'usarlo per Gmail.
Luxian,

4

Nel tuo sendmail.mcaggiungi:

CLIENT_OPTIONS(`Family=inet')dnl

Quindi ricostruire sendmail.cfe riavviare sendmail. In Debian lo fai eseguendo sendmailconfig. In CentOS corri /etc/mail/makeseguito da service sendmail restart. Altri sistemi hanno altri modi per farlo.


0

Volevo solo condividerlo per me (ora nel 2018), ciò che ha funzionato è stato specificare il filtro-aaaa-su-v4 sì; nel nome.conf del mio bind locale, per https://kb.isc.org/docs/aa-00576 (tranne la direttiva filter-aaaa-on-v6 menzionata non esiste nella mia mente). Probabilmente anche il nome -4 avrebbe funzionato. Questo con sendmail e bind su centos7 [.5.1804].

Con tutto il resto che ho provato, compresa la risposta qui, gmail ha rimbalzato la mia posta con il temuto "questo messaggio non soddisfa le linee guida per l'invio di IPv6", perché, in effetti, non ho un contrario per il mio indirizzo ipv6 (isp è difficile).

Altre cose che non hanno funzionato: define ( confBIND_OPTS',-use_inet6 ') (aka ResolverOptions) in submit.mc e sendmail.mc, per https://lists.debian.org/debian-user/2004/09/msg01410.html . Non so perché no.

Modifica /etc/gai.conf (per https://centosfaq.org/centos/etcgaiconf-fails-to-prefer-ipv4-over-ipv6-for-nfs/ ), presumibilmente perché sendmail utilizza gethostbyname / addr, non getaddrinfo, e gai.conf riguarda solo quest'ultimo.

Oh, avevo un'altra soluzione: compilare sendmail dal sorgente e disabilitare v6 a quel livello. Sfortunatamente non sembra esserci una direttiva di runtime equivalente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.