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

Milter (opendkim): ошибка подключения к фильтру: соединение отклонено локальным хостом

Я использую Ubuntu 16 LTS, пытаюсь подписывать почту с помощью opendkim и я получаю:

$ tail /var/log/mail.err
...
Milter (opendkim): error connecting to filter: Connection refused by localhost

у меня есть sendmail настроен с:

INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@localhost')dnl

И в /etc/opendkim.conf У меня есть:

Socket inet:8891@localhost

Когда я проверяю с lsof Я не вижу ничего, что слушает 8891:

 $ sudo lsof -i :8891 -n
 [nothing]

Смотря на opendkimстатус говорит, что он работает:

 $ systemctl status opendkim.service
 ...
 Active: active (running)
 ...

Почему не слушает 8891?

Есть еще один файл конфигурации для opendkim, /etc/default/opendkim, и в этом файле указан другой сокет по умолчанию:

# Command-line options specified here will override the contents of
# /etc/opendkim.conf. See opendkim(8) for a complete list of options.
...
SOCKET="local:/var/run/opendkim/opendkim.sock"

Комментируя эту строку и вставляя SOCKET="inet:8891@localhost" ниже, работал.

В моей системе я обнаружил, что мне нужно изменить

/etc/systemd/system/multi-user.target.wants/opendkim.service

из

ExecStart=/usr/sbin/opendkim -P /var/run/opendkim/opendkim.pid -p local:/var/run/opendkim/opendkim.sock

к

ExecStart=/usr/sbin/opendkim -P /var/run/opendkim/opendkim.pid -p inet:8891@localhost

А потом

systemctl daemon-reload

и

service opendkim restart

после чего я увидел, как он слушает:

netstat -nalp | grep 8891

По какой-то причине opendkim.conf не использовался для указания порта.

HTH,

M