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

postfix: подключиться к сервису Milter inet: 127.0.0.1: 8891: в соединении отказано

Я заметил, что при вводе milter возникает ошибка статус постфикса службы :

Jul 01 17:39:01 mail postfix/cleanup[13921]: warning: connect to Milter service inet:127.0.0.1:8891: Connection refused

но что это значит и как это исправить? Это связано с DKIM? потому что я пытался настроить его, но он все еще не работает. какие файлы вам нужны в помощь? вот мой opendkim.conf:

## CONFIGURATION OPTIONS

# Specifies the path to the process ID file.
PidFile /var/run/opendkim/opendkim.pid

# Selects operating modes. Valid modes are s (signer) and v (verifier). Default is v.
Mode    sv

# Log activity to the system log.
Syslog  yes

# Log additional entries indicating successful signing or verification of messages.
SyslogSuccess yes

# If logging is enabled, include detailed logging about why or why not a message was
# signed or verified. This causes a large increase in the amount of log data generated
# for each message, so it should be limited to debugging use only.
#LogWhy yes

# Attempt to become the specified user before starting operations.
UserID  opendkim:opendkim

# Create a socket through which your MTA can communicate.
Socket  inet:8891@127.0.0.1

# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
Umask   002

# This specifies a file in which to store DKIM transaction statistics.
#Statistics              /var/spool/opendkim/stats.dat

## SIGNING OPTIONS

# Selects the canonicalization method(s) to be used when signing messages.
Canonicalization        relaxed/simple

# Domain(s) whose mail should be signed by this filter. Mail from other domains will
# be verified rather than being signed. Uncomment and use your domain name.
# This parameter is not required if a SigningTable is in use.
# Domain                  DOMAIN.de

# Defines the name of the selector to be used when signing messages.
Selector                default

# Gives the location of a private key to be used for signing ALL messages.
#ORIG (AUSGEKLAMMERT): KeyFile                 /etc/opendkim/keys/default.private
KeyFile                 /etc/opendkim/keys/default.private

# Gives the location of a file mapping key names to signing keys. In simple terms,
# this tells OpenDKIM where to find your keys. If present, overrides any KeyFile
# setting in the configuration file.
KeyTable                 refile:/etc/opendkim/KeyTable

# Defines a table used to select one or more signatures to apply to a message based
# on the address found in the From: header field. In simple terms, this tells
# OpenDKIM how to use your keys.
SigningTable                 refile:/etc/opendkim/SigningTable

# Identifies a set of "external" hosts that may send mail through the server as one
# of the signing domains without credentials as such.
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts

# Identifies a set internal hosts whose mail should be signed rather than verified.
InternalHosts           refile:/etc/opendkim/TrustedHosts

Спасибо за помощь!

Как ответил Эса, это связано с OpenDKIM.

Однако, просмотрев служебный файл (Ubuntu 16.04, используя systemctl) Я заметил, что сервис использует файл, расположенный в /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.
#DAEMON_OPTS=""
#
# Uncomment to specify an alternate socket
# Note that setting this will override any Socket value in opendkim.conf
# default:
SOCKET="local:/var/run/opendkim/opendkim.sock"
# listen on all interfaces on port 54321:
#SOCKET="inet:54321"
# listen on loopback on port 12345:
#SOCKET="inet:12345@localhost"
# listen on 192.0.2.1 on port 12345:
#SOCKET="inet:12345@192.0.2.1"

Обратите внимание на строку 6, в которой говорится, что настройки здесь переопределят любое значение сокета в opendkim.conf

Я попытался просто закомментировать все строки здесь, чтобы вернуть его обратно в конфигурацию, но, похоже, у меня это не сработало.

Чтобы исправить это, измените файл, чтобы установить для переменной среды SOCKET то, что вам нужно.

# Command-line options specified here will override the contents of
# /etc/opendkim.conf. See opendkim(8) for a complete list of options.
#DAEMON_OPTS=""
#
# Uncomment to specify an alternate socket
# Note that setting this will override any Socket value in opendkim.conf
# default:
#SOCKET="local:/var/run/opendkim/opendkim.sock"
# listen on all interfaces on port 54321:
#SOCKET="inet:54321"
# listen on loopback on port 12345:
SOCKET="inet:8891@localhost"
# listen on 192.0.2.1 on port 12345:
#SOCKET="inet:12345@192.0.2.1"

Наконец, перезапустите opendkim с помощью sudo service opendkim restart

TL; DR: sudo nano /etc/default/opendkim, отредактируйте SOCKET настройте, затем перезапустите opendkim.

OpenDKIM - это другой сервис. Посмотрите, работает он или нет. Вы могли бы попробовать

sudo service opendkim restart

и посмотрите, не приведет ли это к ошибке.

Учитывая, что у вас есть Socket inet:8891@127.0.0.1 и Postfix пытается подключиться к порту 8891, конфигурация кажется нормальной. Вы могли бы использовать netstat -l или lsof -i чтобы проверить, что OpenDKIM действительно прослушивает порт 8891.

Единственное решение, которое сработало для меня с Ubuntu 16.04 ....

  • Установите corecrect SOCKET ценность в /etc/default/opendkim.
  • Удалить SOCKET вход в /etc/opendkim.conf

Тогда, конечно, sudo systemctl restart opendkim