Имею почтовый сервер Postfix + Saslauth. Я настраиваю несколько экземпляров для Postfix:
постфикс
постфиксный
и два экземпляра для saslauth
:
Саслаутд
saslauthd-out
Настройка saslauthd
предназначен для аутентификации Postfix
обслуживание и saslauthd-out
для другого экземпляра этого.
Для создания второго экземпляра sasl
Я так делаю:
cp / etc / default / saslauthd / etc / default / saslauthd-out
При такой конфигурации:: ~ # vim / etc / default / saslauthd-out
DESC="SASL Authentication Daemon postfix-out"
NAME="saslauthd-out"
MECHANISMS="pam"
OPTIONS="-c -m /var/spool/postfix-out/var/run/saslauthd-out"
В конфигурации postfix-out (/etc/postfix-out/sasl/smtp.conf):
pwcheck_method: saslauthd-out
и для постфикса (/etc/postfix/sasl/smtp.conf):
pwcheck_method: saslauthd
и когда я перезапускаю saslauth
все в порядке ,
когда я пытаюсь подключиться smtp server
(постфикс) все в порядке, аутентификация прошла успешно, но в smtp server
(postfix-out), подключение к smtp в порядке, но не может пройти аутентификацию, и возникла эта ошибка:
:~# telnet mail2.example.com 25
Trying 111.222.333.444...
Connected to mail2.example.com.
Escape character is '^]'.
220 mail2.example.com ESMTP Postfix (@@DISTRO@@)
auth plain YWdoc2EAYWdoc2hhbGRvcmFu
535 5.7.8 Error: authentication failed: no mechanism available
Журналы:
Nov 30 09:17:47 mail4 postfix-out/smtpd[4361]: connect from unknown[111.222.333.444]
Nov 30 09:17:58 mail4 postfix-out/smtpd[4361]: warning: SASL authentication problem: unknown password verifier
Nov 30 09:17:58 mail4 postfix-out/smtpd[4361]: warning: SASL authentication failure: Password verification failed
Nov 30 09:17:58 mail4 postfix-out/smtpd[4361]: warning: unknown[111.222.333.444]: SASL plain authentication failed: no mechanism available
Nov 30 09:18:04 mail4 postfix-out/smtpd[4361]: disconnect from unknown[111.222.333.444]
в чем проблема?
pwcheck_method
это вариант конфигурации для библиотеки Cyrus SASL. Возможные значения: auxprop
, saslauthd
, pwcheck
и authdaemond
. saslauthd-out
здесь не поддерживается. Ваша конфигурация должна быть такой
/ etc / default / saslauthd-out:
DESC="SASL Authentication Daemon postfix-out"
NAME="saslauthd-out"
MECHANISMS="pam"
OPTIONS="-c -m /var/spool/postfix-out/var/run/saslauthd-out"
/etc/postfix-out/sasl/smtp.conf:
pwcheck_method: saslauthd
saslauthd_path: /var/spool/postfix-out/var/run/saslauthd-out/mux
где-то в /etc/postfix-out/main.cf:
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtp
smtpd_sasl_type = cyrus
cyrus_sasl_config_path = /etc/postfix-out/sasl
Я просто настраиваю виртуальную машину с этой конфигурацией, и она работает.
/var/spool/postfix-out/var/run/saslauthd-out
должен существовать, хотя лично я бы предпочел, чтобы он был больше похож на /var/spool/postfix-out/saslauthd-out
. Но это ваше решение.