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

OpenDKIM не запускается: «opendkim: должен быть указан сокет milter»

Я пытаюсь настроить сервер, используя postfix, dovecot, amavis и opendkim для подписи.

OpenDKIM не запускается, вот вывод journalctl -xe, после остановки и запуска opendkim:

Jul 21 21:54:17 mail systemd[1]: Starting OpenDKIM DomainKeys Identified Mail (DKIM) Milter...
-- Subject: A start job for unit opendkim.service has begun execution
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- A start job for unit opendkim.service has begun execution.
--
-- The job identifier is 54385.
Jul 21 21:54:17 mail opendkim[108677]: opendkim: milter socket must be specified
Jul 21 21:54:17 mail systemd[1]: opendkim.service: Control process exited, code=exited, status=78/CONFIG
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- An ExecStart= process belonging to unit opendkim.service has exited.
--
-- The process' exit code is 'exited' and its exit status is 78.
Jul 21 21:54:17 mail systemd[1]: opendkim.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- The unit opendkim.service has entered the 'failed' state with result 'exit-code'.

Моя конфигурация OpenDKIM (/etc/opendkim.conf) выглядит так:

Syslog              yes
LogResults          yes
LogWhy              yes
SyslogSuccess       yes
UMask               002
Canonicalization    relaxed/relaxed

# Only sign, don't verify (Amavis takes care of the verification)
Mode                s

KeyTable            /etc/opendkim/keytable
SigningTable        refile:/etc/opendkim/signingtable

Как вы могли видеть в конфигурации, я хочу, чтобы OpenDKIM только подписывал, а не проверял.

Как говорится в ошибке, вы должны указать сокет. Обязательный параметр конфигурации можно найти на opendkim.conf документация:

Socket (строка)

Задает сокет, который должен быть установлен фильтром для получения соединений отsendmail (8)для предоставления услуг.Socketspecбывает в одной из двух форм:

  • local:path, Который создает сокет домена UNIX по указанному пути, или
  • inet:port[@host] или inet6:port[@host] который создает сокет TCP на указанномпорти в указанном семействе протоколов.

Еслихозяинне указывается как имя хоста или IP-адрес, сокет будет прослушивать все интерфейсы. Буквальный IP-адрес должен быть заключен в квадратные скобки. Эта опция обязательна либо в файле конфигурации, либо в командной строке.