我正在尝试在我的客户端机器上设置一个后缀。所有机器都应该使用一个中央 ldap 目录来存放公共后缀(例如别名等)。但是由于 postfix 在 chroot 中运行,postfix 无法解析 ldap 服务器的主机名。
后缀 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 [email protected]
当我手动执行 ldapsearch 时,它工作正常。我还尝试进入 postfix ( /var/spool/postfix
) 的 chroot 环境,当我尝试进入时ping ldapmaster.domain.com
出现unknown host
-error。
该问题已报告给 Ubuntu Launchpad,因为natty upgrade 后 chroot 中的 DNS 主机名查找失败。
任何想法如何允许后缀解析 DNS 名称?
我发现 libnss 库似乎是在 chroot 之后加载的。所以在 chroot 监狱中需要它们。将它们链接到那里:
不明白为什么 postfix 不应该能够解析 DNS 名称,而只是将 LDAP 提供者的 DNS 添加到
/etc/hosts
. 因此,您不受任何 DNS 查询的影响,并且如果 DNS 服务器出现故障,您也不会陷入困境: