我有一个使用 OpenSMTPD 6.6.4(托管在 Debian 10 上)的工作设置,它插入 OpenLDAP 2.4.50 服务器(托管在 Alpine 3.8 上),基于这篇博文。它可以与普通 LDAP 连接一起使用,但无法与 LDAPS 连接一起使用。
/etc/smtpd.conf
pki mail.mydomain.tld cert "/path/to/fullchain.pem"
pki mail.mydomain.tld key "/path/to/privkey.pem"
pki mail.mydomain.tld dhe auto
public_addr = "xxx.xxx.xxx.xxx"
listen on $public_addr port 465 smtps pki mail.mydomain.tld auth
listen on $public_addr port 587 tls-require pki mail.mydomain.tld auth
table ldap ldap:/etc/mail/ldap.conf
action dovecot lmtp "/var/run/dovecot/lmtp" userbase <ldap>
action "relay" relay
match from any for domain "mydomain.tld" action "dovecot"
match from any action "relay"
/etc/mail/ldap.conf
url ldap://ldap.mydomain.tld
username cn=admin,dc=mydomain,dc=tld
password xxxxxxxx
basedn ou=Users,dc=mydomain,dc=tld
...
切换到ldaps://ldap.mydomain.tld
将/etc/mail/ldap.conf
导致 OpenSMTPD 无法启动:
Jul 16 16:26:55 mail.mydomain.tld systemd[1]: Starting OpenSMTPD SMTP server...
Jul 16 16:26:55 mail.mydomain.tld smtpd[5073]: info: OpenSMTPD 6.6.4p1 starting
Jul 16 16:26:55 mail.mydomain.tld systemd[1]: Started OpenSMTPD SMTP server.
Jul 16 16:26:55 mail.mydomain.tld smtpd[5077]: warn: table-proc: imsg_read: Connection reset by peer
Jul 16 16:26:55 mail.mydomain.tld smtpd[5077]: lookup: table-proc: exiting
Jul 16 16:26:55 mail.mydomain.tld smtpd[5074]: warn: parent -> lka: imsg_read: Connection reset by peer
Jul 16 16:26:55 mail.mydomain.tld smtpd[5074]: smtpd: exiting: Connection reset by peer
我该如何修复此配置以启用ldaps
与 OpenSMTPD 的连接?
答案1
我在 FreeBSD 上运行 OpenSMTPD 和 opensmtpd-extras-table-ldap-6.7.1,1。当我配置 URLldaps://
并ldap.conf
在调试模式下运行 OpenSMTPD 时,它出现以下错误:
warn: ldap_parse_url fail
warn: ldap_connect error
fatal: failed to connect
因此看来 OpenSMTPD 目前不支持 TLS 上的 ldap。