Назад | Перейти на главную страницу

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.

Добавление LogWhy yes to 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 в этом не нуждался.