/etc/smtpd.conf

/etc/smtpd.conf

我有一个使用 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。

相关内容