在 chroot postfix 中使用 DNS 查找

And*_*oth 3 postfix dns chroot

我正在尝试在我的客户端机器上设置一个 postfix。所有机器都应该使用一个中央 ldap 目录来存放公共后缀(例如别名等)。但是由于 postfix 在 chroot 中运行,因此 postfix 无法解析 ldap 服务器的主机名。

Postfix mail.log 行:

Apr 30 13:37:22 host postfix/cleanup[30160]: dict_ldap_debug: ldap_connect_to_host: TCP ldapmaster.domain.com:389
Apr 30 13:37:22 host postfix/cleanup[30160]: dict_ldap_debug: ldap_connect_to_host: getaddrinfo failed: Name or service not known
Apr 30 13:37:22 host postfix/cleanup[30160]: dict_ldap_debug: ldap_err2string
Apr 30 13:37:22 host postfix/cleanup[30160]: warning: dict_ldap_lookup: Search error -1: Can't contact LDAP server 
Apr 30 13:37:22 host postfix/cleanup[30160]: warning: AF28B226A2: sender_canonical_maps map lookup problem for root@domain.com
Run Code Online (Sandbox Code Playgroud)

当我手动执行 ldapsearch 时,它工作正常。我还尝试进入 postfix ( /var/spool/postfix)的 chroot 环境,当我尝试时,ping ldapmaster.domain.com出现unknown host-error。

该问题已报告给 Ubuntu Launchpad,因为natty upgrade 后 DNS 主机名查找在 chroot 中失败

任何想法如何允许 postfix 解析 DNS 名称?

小智 5

我发现 libnss 库似乎是在 chroot 之后加载的。所以在 chroot jail 中需要它们。在那里链接它们:

cp -vl /lib/i386-linux-gnu/libnss_* /var/spool/postfix/lib/i386-linux-gnu/
Run Code Online (Sandbox Code Playgroud)