Jak zatrzymać wysyłanie poczty przez Sendmail z IPv6 zamiast IPv4

11

Dzisiaj zauważyłem, że Gmail wysyła wszystkie wiadomości otrzymane z mojego serwera do folderu Spam. Sprawdziłem nagłówek wiadomości i znalazłem:

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]

Wygląda więc na to, że Sendmail wysyła pocztę z adresu IP6 w IPv4 i nie ma żadnych rekordów SPF i PTR dla IPv6. Jak zmusić Sendmail do wysyłania poczty z IPv4?

Dzięki.

tfe
źródło
4
Ponieważ masz połączenie z wersją v6, lepiej byłoby dodać wyszukiwanie wsteczne i rekord MX dla programu pocztowego zgodnego z wersją v6. Ale nie o to pytasz.
sysadmin1138

Odpowiedzi:

10

Nie wyłączaj IPv6. Nie jest to już opcjonalne i bez niego nie będziesz w stanie komunikować się z niektórymi ludźmi.

Zamiast tego napraw rekord SPF, tak aby przekazywał pocztę pochodzącą z adresu IPv6.

Michael Hampton
źródło
Co jeśli dostawca VPS nie chce ustawić rekordu SPF dla IPv6. :(
brodul
2
@brodul Co twój dostawca VPS ma wspólnego z twoimi rekordami DNS?
Michael Hampton
Naprawienie mojego rekordu SPF nie rozwiązuje problemu - ponieważ przesyłam pocztę do Gmaila, więc mój serwer przekazujący nigdy nie przejdzie testu SPF.
James Roper
3
Gmail wymaga teraz również działającego wstecz dla nadawców IPv6. Posiadanie działającego adresu zwrotnego zdecydowanie nie jest w twoich rękach i zależy od Twojego serwera / operatora sieci.
Vladimir Panteleev
Jesteś pewny? Jeśli się nie mylę, Gmail wymaga obecnie tylko ważnego rekordu SPF (i musisz trenować jego AI, klikając kilka razy „Nie spam”)
autra
11

W swoim sendmail.mc dodaj:

CLIENT_OPTIONS (`Family = inet ') dnl

Następnie odbuduj sendmail.cf i uruchom ponownie sendmail. W Debianie robisz to, uruchamiając> sendmailconfig. W CentOS uruchamiasz / etc / mail / make, po czym następuje restart usługi sendmail. Inne> systemy mają na to inne sposoby.

Dzięki, że to opublikowałeś, i zdecydowanie podniosło mnie to na właściwy tor. Jednak próbowałem tego, ale nadal nie działało to dla mnie. Na marginesie otrzymywaliśmy odrzucenia z serwerów poczty Google, ponieważ nie mieliśmy odwrotnego wpisu DNS dla IPv6. Jest to zdecydowanie związane z konfiguracją naszego VPS, a nie z naszą konfiguracją DNS, ponieważ numeryczny odwrotny wpis DNS musi być skierowany do każdego, kto jest właścicielem bloku adresów IP, a to jest mój VPS.

W każdym razie, o ile widzę, nie ma sposobu, aby specjalnie wyłączyć sendmaila za pomocą IPv6 jako klienta. Nieco trudna rozdzielczość, do jakiej doszedłem, polegała na określeniu opcji IPv6 w celu użycia formatu zgodności IPv6 adresu IPv4.

np. jeśli twój adres IPv4 to 1.2.3.4, określ:

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

Wywołało to dla mnie urok i, o ile widzę, nie zostało to nigdzie udokumentowane.

David
źródło
Wielkie dzięki za odpowiedź! To zrobiło dla mnie lewitację na serwerze, na którym nie miałem dostępu do PTR IPv6, a sendmail był uparty, aby używać go do Gmaila.
Luxian
4

W swoim sendmail.mcdodaniu:

CLIENT_OPTIONS(`Family=inet')dnl

Następnie odbuduj sendmail.cfi uruchom ponownie sendmaila. W Debianie robisz to, uruchamiając sendmailconfig. W CentOS biegniesz, /etc/mail/makea następnie service sendmail restart. Inne systemy mają na to inne sposoby.

adamo
źródło
0

Chciałem tylko udostępnić to dla mnie (teraz w 2018 r.), Zadziałało określenie filter-aaaa-on-v4 tak; w nazwie mojego lokalnego binda o nazwie.conf, zgodnie z https://kb.isc.org/docs/aa-00576 (z wyjątkiem wspomnianej dyrektywy o filtrie aaaa-on-v6, która nie istnieje w mojej głowie). Prawdopodobnie nazwa -4 też by działała. To z sendmail i bind na centos7 [.5.1804].

Przy wszystkich innych próbach, łącznie z odpowiedzią tutaj, Gmail odesłał moją wiadomość z przerażeniem: „ta wiadomość nie spełnia wytycznych wysyłania IPv6”, ponieważ w rzeczywistości nie mam odwrotności adresu IPv6 (isp jest trudne).

Inne rzeczy, które nie działały: zdefiniuj ( confBIND_OPTS',-use_inet6 ') (alias ResolverOptions) w subm.m.m i sendmail.mc, https://lists.debian.org/debian-user/2004/09/msg01410.html . Nie wiem czemu nie.

Zmiana /etc/gai.conf (na https://centosfaq.org/centos/etcgaiconf-fails-to-prefer-ipv4-over-ipv6-for-nfs/ ), prawdopodobnie dlatego, że sendmail używa gethostbyname / addr, a nie getaddrinfo, i gai.conf wpływa tylko na to drugie.

Och, miałem jeszcze jedno rozwiązanie: skompiluj sendmail ze źródła i wyłącz v6 na tym poziomie. Niestety wydaje się, że nie ma równoważnej dyrektywy wykonawczej.

karlb
źródło