Я застрял с проблемой, связанной с Postfix MX.
Я только что перенес очень старый сервер Centos 5 на v7, поэтому использую postfix-2.10.1-7.el7.x86_64. Я обновил устаревшую конфигурацию постфикса (возможно, причина этого ада) и другие дополнительные вещи, которые, похоже, работают:
После многих невзгод, я думаю, что у меня работает большая часть системы, за исключением раздражающих проблем, связанных с MX, например (из / var / log / maillog):
Mar 28 14:26:48 tormento postfix/smtpd[1021]: warning: Unable to look up MX host for spmailtechn.com: Host not found, try again
Mar 28 14:26:51 tormento postfix/smtpd[1052]: warning: Unable to look up MX host for inlumine.ual.es: Host not found, try again
Mar 28 14:31:38 tormento postfix/smtpd[1442]: warning: Unable to look up MX host for aol.com: Host not found, try again
Mar 28 13:07:53 tormento postfix/smtpd[26556]: warning: Unable to look up MX host for hotmail.com: Host not found, try again
Mar 28 13:12:06 tormento postfix/smtpd[26650]: warning: Unable to look up MX host for facebookmail.com: Host not found, try again
Mar 28 13:12:31 tormento postfix/smtpd[26650]: warning: Unable to look up MX host for joker.com: Host not found, try again
Mar 28 13:13:02 tormento postfix/smtpd[26650]: warning: Unable to look up MX host for bounce.linkedin.com: Host not found, try again
и:
Mar 28 14:50:36 tormento postfix/smtp[1700]: 7B6C69C6A2: to=<ismael.olea@gmail.com>, orig_to=<ismael@olea.org>, relay=none, delay=1142, delays=1142/0.07/0/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=gmail.com type=MX: Host not found, try again)
Mar 28 14:32:05 tormento postfix/smtp[1383]: 721A19C688: to=<XXXXX@yahoo.com>, orig_to=<XXXX@olea.org>, relay=none, delay=4742, delays=4742/0/0/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=yahoo.com type=MX: Host not found, try again)
в качестве примеров.
Первым подозреваемым является разрешение DNS, но оно работает как с использованием DNS-серверов Hetztner (где компьютер является хостом), так и с 8.8.8.8 или 9.9.9.9.
$ cat /etc/resolv.conf
; generated by /usr/sbin/dhclient-script
nameserver 213.133.100.100
nameserver 213.133.98.98
nameserver 213.133.99.99
и / etc / hosts:
195.201.24.84 tormento tormento.olea.org
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost4.localdomain4 localhost4
# The following lines are desirable for IPv6 capable hosts
::1 tormento tormento.olea.org
::1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
Боюсь, мне не хватает чего-то действительно очевидного, но я уже два дня гуглил, проводя любое количество тестов, и теперь не знаю, что еще делать.
Поскольку Serverfault отклонил мой исходный вопрос как спам, я поместил данные журнала и конфигурации в свой личный блог: http://olea.org/diario/2019/03/28/Postfix_MX_not_found.html
Заранее спасибо.
Ну, это неудобно. Как я и предполагал, моя проблема была вызвана самой очевидной и тривиальной причиной: отсутствие доступа для чтения к /etc/resolv.conf для пользователя postfix o_0
Как вы, наверное, знаете, подпроцессы постфикса (smtp, smtpd, qmgr и т. Д.) Выполняются с пользователем постфикса. Все комментарии и предложения, которые я получил, были связаны с проблемами доступа к данным разрешения DNS, и обычными подозреваемыми были SELinux или chrooted postfix. Вы все были правы в последней причине. Последовав совету, попробовал:
# sudo -u postfix -H cat /etc/resolv.conf
cat: /etc/resolv.conf: Permission denied
Ну и что??
# ls -l /etc/resolv.conf
-rw-r-----. 1 root named 118 mar 28 20:34 /etc/resolv.conf
OMG! ... тогда после chmod o + r и перезапуска Postfix вся заблокированная электронная почта может быть обработана и отправлена, а новая почта будет обработана должным образом.
Я сомневаюсь, что изменил разрешения на чтение resolv.conf, но не могу быть уверен на 100%. Итак, наконец, проблема решена, и мне очень жаль, что я привлек внимание всех вас по этой нелепой причине. Спасибо вам всем.
шаг 1. Я проверяю gmail.com для доступа к записи mx на моем сервере. сначала я установил сервер привязки, используя yum install bind-utils
и проверьте gmail.com с помощью следующей команды:
root@host# host -t mx gmail.com
;; connection timed out; no servers could be reached
Итак, я меняю свой DNS-сервер на 8.8.8.8
используя команду nmtui и перезагрузите мой сервер ...
после перезагрузки я выполняю host -t mx gmail.com, и мой тайм-аут был исправлен thsi houtput:
root#host# host -t mx gmail.com
gmail.com mail is handled by 10 alt1.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 30 alt3.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 20 alt2.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 40 alt4.gmail-smtp-in.l.google.com.
gmail.com mail is handled by 5 gmail-smtp-in.l.google.com.
Но основная проблема для меня еще не решена ... итак, я сделал шаг 2 ...
шаг 2. Ом мой сервер не существует и т. Д. Папка на /var/spool/postfix/
Итак, я создал папку etc вручную ... Затем скопируйте в нее три файла. /etc/host.conf
, /etc/resolv.conf and /etc/servoces
root@host# mkdir /var/spool/postfix/etc
root@host# cp /etc/host.conf /var/spool/postfix/etc/
root@host# cp /etc/resolv.conf /var/spool/postfix/etc/
root@host# cp /etc/services /var/spool/postfix/etc/
Основная проблема MX еще не решена ...
шаг 3. Я меняю режим /etc/resolv.conf
и /var/pool/postfix/etc/*
к 1777
и исправил мою проблему
root@host# chmod 1777 /etc/resolve.conf
root@host# chmod 1777 -R /var/spool/postfix/etc
наконец, я перезапускаю службу postfix, используя systemctl restart postfix.service
и мой smtp работал нормально!