Як зупинити Sendmail надсилати пошту з IPv6 замість IPv4


11

Сьогодні я помітив, що Gmail надсилає всі повідомлення, отримані з мого сервера, у папку "Спам". Я перевірив заголовок повідомлення і виявив таке:

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

Отже, схоже, що Sendmail відправляє пошту з адреси IP6 замість IPv4, а для IPv6 немає записів SPF та PTR. Як змусити Sendmail надсилати пошту з IPv4?

Дякую.


4
Оскільки ви маєте підключення v6, то було б краще, якщо ви можете додати зворотний пошук та запис MX для своєї пошти, сумісної з v6. Але це не те, що ви просите.
sysadmin1138

Відповіді:


10

Не вимикайте IPv6. Це більше не є обов'язковим, і ви не зможете спілкуватися з деякими людьми без нього.

Натомість зафіксуйте свій запис SPF так, щоб він передавав пошту, що походить з вашої IPv6 адреси.


А що робити, якщо ви постачальник VPS не хочете встановлювати запис SPF для IPv6. :(
brodul

2
@brodul Що стосується вашого постачальника послуг VPS до ваших записів DNS?
Майкл Хемптон

Виправлення мого запису SPF не вирішує проблему - оскільки я пересилаю пошту до GMail, тому мій сервер переадресації ніколи не пройде перевірку SPF.
Джеймс Ропер

3
Тепер Gmail також потребує робочого зворотного зв'язку для відправників IPv6. Дія зворотної адреси, безумовно , від ваших рук і до вашого постачальника сервера / мережі.
Володимир Пантелеев

Ти впевнений? Якщо я не помиляюсь, для Gmail сьогодні потрібна лише дійсна запис SPF (і ви повинні тренувати їх AI пару раз, натиснувши "Не спам")
autra

11

У ваш sendmail.mc додайте:

CLIENT_OPTIONS (`Family = inet ') dnl

Потім відновіть sendmail.cf та перезавантажте sendmail. У Debian ви робите це за допомогою запуску> sendmailconfig. У CentOS запускаєте / etc / mail / make з подальшим перезавантаженням служби sendmail. Інші> системи мають інші способи зробити це.

Дякую за повідомлення про це, і це, безумовно, привело мене в правильний шлях. Однак я спробував це, але це все одно не працювало для мене. В якості додаткової примітки ми отримували відхилення від поштових серверів Google, оскільки у нас не було зворотного запису DNS для IPv6. Це, безумовно, стосується конфігурації нашої VPS, а не нашої конфігурації DNS, тому що числовий зворотний запис DNS повинен переходити до того, хто є власником блоку IP-адрес, і це мій VPS.

У будь-якому разі, наскільки я бачу, немає способу спеціально вимкнути sendmail, використовуючи IPv6 в якості клієнта. Трохи хитра резолюція, до якої я прийшов, полягала в тому, щоб вказати параметри IPv6 для використання формату сумісності IPv6 адреси IPv4.

наприклад, якщо ваша IPv4 адреса 1.2.3.4, вкажіть:

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

Для мене це принадність, і, наскільки я бачу, це ніде не було зафіксовано.


Дякую за вашу відповідь! Це зробило трюк для мене на сервері, де я не мав доступу до PTR IPv6, а sendmail вперто використовував його для Gmail.
Луксьян

4

У вашому sendmail.mcоних:

CLIENT_OPTIONS(`Family=inet')dnl

Потім відновіть sendmail.cfі перезавантажте sendmail. У Debian ви робите це за допомогою запуску sendmailconfig. У CentOS ви запускаєте, /etc/mail/makeпісля чого service sendmail restart. Інші системи мають інші способи зробити це.


0

Просто хотів поділитися тим, що для мене (зараз у 2018 році) те, що працювало, було вказати filter-aaaa-on-v4 так; в моєму локальному bind's.conf, за https://kb.isc.org/docs/aa-00576 (окрім згаданої директиви filter-aaaa-on-v6, на мою думку не існує). Ймовірно, названий -4 також би працював. Це за допомогою sendmail і пов'язують на centos7 [.5.1804].

З усього іншого, що я спробував, включаючи відповідь тут, gmail відмовився від моєї пошти з жахливим "цим повідомленням не відповідає вказівкам щодо відправлення IPv6", оскільки, дійсно, у мене немає зворотнього зв’язку для моєї ipv6 адреси (ісп важко).

Інші речі, які не спрацювали: визначте ( confBIND_OPTS',-use_inet6 ') (він же ResolverOptions) у submit.mc та sendmail.mc, за https://lists.debian.org/debian-user/2004/09/msg01410.html . Я не знаю, чому ні.

Зміна /etc/gai.conf (за https://centosfaq.org/centos/etcgaiconf-fails-to-prefer-ipv4-over-ipv6-for-nfs/ ), імовірно, тому що sendmail використовує gethostbyname / addr, а не getaddrinfo, і gai.conf впливає лише на останнє.

О, у мене було ще одне рішення: компілювати sendmail з джерела та відключати v6 на цьому рівні. На жаль, не існує рівнозначної директиви щодо виконання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.