OpenDKIM не подписывает почту, отправленную на ретранслятор с Ubuntu 18.04

Я недавно перенес сервер с Ubuntu 14.04 на сервер с 18.04, но с той же настройкой почты. Я просто скопировал файл main.cf в Postfix и содержимое файла / etc / mail / opendkim.

Сервер отправляет почту на удаленный почтовый хост по локальной сети без проблем. Тем не менее, opendkim отказывается подписывать письма, как это было раньше.

Мой файл postfix.cf:

myhostname = host.domain.com
myorigin = $mydomain
relayhost = 10.10.10.105
inet_interfaces = loopback-only
mydestination =
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8892
non_smtpd_milters = inet:localhost:8892
compatibility_level = 2 

/etc/opendkim.conf

Syslog                  yes
UMask                   007
Socket                  inet:8892@localhost
PidFile                 /var/run/opendkim/opendkim.pid
OversignHeaders         From
UserID                  opendkim
Canonicalization        relaxed/simple
KeyTable                /etc/mail/opendkim/KeyTable
SigningTable            /etc/mail/opendkim/SigningTable
ExternalIgnoreList      /etc/mail/opendkim/TrustedHosts
InternalHosts           /etc/mail/opendkim/TrustedHosts

Файл TrustedHosts содержит как IP-адрес, так и имя хоста отправляющего компьютера (и имя хоста -f является правильным). Обе машины находятся в одном домене.

Я не вижу ошибок ни в журналах отправителя, ни в журнале удаленного почтового хоста. Если я отключаю демон opendkim на отправителе, я вижу, что postfix жалуется, что он не может подключиться к сокету opendkim.

Я попытался установить milter_protocol в 2 (это было изначально 6), но это не имеет никакого эффекта.

Что касается заголовков на почте, полученной с зараженного хоста, то здесь нет упоминаний о dkim.

1 ответ

Добавление LogWhy yes to opendkim.conf включает подробное ведение журнала. Это показывает, что для отправляющего хоста (host.domain.com) нет ключа подписи.

SigningTable установлен для подписи почты от определенных доменов, но не от отдельных хостов в этих доменах. Это правильное поведение.

Хост-отправитель выдает полное доменное имя, когда отправляет почту через ретранслятор (host@host.domain.com). Поэтому мне нужно выяснить, как заставить отправляющий узел отправлять как host@domain.com, а не host@host.domain.com, чтобы ретранслятор подписывал свою почту от имени домена. Мне не нужно запускать opendkim на отправляющем хосте.

При настройке Postfix в Ubuntu 18.04 мне пришлось добавить masquerade_domains = domain.com в main.cf, тогда как Ubuntu 14.04 не нуждался в этом.

Другие вопросы по тегам