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

Проблемы с Postfix и DKIMproxy: в соединении отказано

У меня сервер настроен точно так, как в этой статье: Установка и настройка DKIMproxy, но у меня возникла следующая проблема.

Когда я отправляю письмо на свой сервер через порт 587, я получаю в своем mail.log следующее:

Sep  1 16:49:38 mailer postfix/smtpd[9974]: connect from unknown[xxx.xxx.xxx.xxx]
Sep  1 16:49:39 mailer postfix/smtpd[9974]: 0B6C5301BC: client=unknown[xxx.xxx.xxx.xxx]
Sep  1 16:49:39 mailer postfix/cleanup[9970]: 0B6C5301BC: message-id=<88370BFF-B439-4B2B-9AC0-9D8A828B2836@rdny.com>
Sep  1 16:49:39 mailer postfix/qmgr[9949]: 0B6C5301BC: from=<xxx@xxx.com>, size=552, nrcpt=1 (queue active)
Sep  1 16:49:39 mailer postfix/smtp[9953]: connect to 127.0.0.1[127.0.0.1]:10027: Connection refused
Sep  1 16:49:39 mailer postfix/smtp[9953]: 0B6C5301BC: to=<xxx@xxx.com>, relay=none, delay=0.14, delays=0.14/0/0/0, dsn=4.4.1, status=deferred (connect to 127.0.0.1[127.0.0.1]:10027: Connection refused)

У меня установлен /etc/dkimproxy/dkimproxy_out.conf, как показано ниже:

# specify what address/port DKIMproxy should listen on
listen    127.0.0.1:10027

# specify what address/port DKIMproxy forwards mail to
relay     127.0.0.1:10028

# specify what domains DKIMproxy can sign for (comma-separated, no spaces)
# Note that this is set in /etc/init.d/dkimproxy in this Debian package
# unactivate it there if you want to use the config file
domain    mailer.xxx.com

# specify what signatures to add
signature dkim(c=relaxed)
signature domainkeys(c=nofws)

# specify location of the private key
keyfile   /etc/dkimproxy/keys/email.key

# specify the selector (i.e. the name of the key record put in DNS)
selector  mail

И затем к моему /etc/postfix/master.cf добавлено следующее (согласно руководству):

submission  inet  n     -       n       -       -       smtpd
    -o smtpd_etrn_restrictions=reject
    -o smtpd_sasl_auth_enable=yes
    -o content_filter=dksign:[127.0.0.1]:10027
    -o receive_override_options=no_address_mappings
    -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject

dksign    unix  -       -       n       -       10      smtp
    -o smtp_send_xforward_command=yes
    -o smtp_discard_ehlo_keywords=8bitmime,starttls

Чего я не могу понять, так это того, почему я продолжаю получать сообщение «Connection Refused» на порту, который должен прослушивать DKIMproxy. Кто-нибудь может мне с этим помочь? Мне не нужно ничего открывать в моем брандмауэре? Поскольку он должен просто внутренне подключаться к localhost?

Я чувствую, что так близок к тому, чтобы это заработало!

Понял.

У меня было правило брандмауэра, ограничивающее трафик localhost и предотвращающее доступ к этим портам (по крайней мере, я так думаю):

REJECT all -- anywhere 127.0.0.0/8 reject-with icmp-port-unreachable

Удаление этого позволило мне запустить dkimproxy и использовать указанные порты. Спасибо за помощь!

К вашему сообщению добавлено 2 комментария, но уверены ли вы, что добавили следующий раздел в master.cf?

# service for accepting messages FROM the DKIM signing proxy
127.0.0.1:10028 inet  n  -      n       -       10      smtpd
    -o content_filter=
    -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
    -o smtpd_helo_restrictions=
    -o smtpd_client_restrictions=
    -o smtpd_sender_restrictions=
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o mynetworks=127.0.0.0/8
    -o smtpd_authorized_xforward_hosts=127.0.0.0/8

Postfix должен прослушивать 10028, чтобы DKIM мог передать соединение после того, как он выполнил свою часть.