Descobri que as bibliotecas libnss parecem carregadas após o chroot. Então eles são necessários na prisão chroot. Conecte-os lá:
cp -vl /lib/i386-linux-gnu/libnss_* /var/spool/postfix/lib/i386-linux-gnu/
Estou tentando configurar um postfix configurado em minhas máquinas clientes. Todas as máquinas devem usar um diretório ldap central para postfix comum (por exemplo, aliases, etc). Mas como o postfix é executado no chroot, o postfix não consegue resolver o nome do host do servidor ldap.
Linhas 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 [email protected]
Quando faço o ldapsearch manualmente, funciona bem. Eu também tentei entrar no ambiente chroot do postfix ( /var/spool/postfix
) e quando eu tento ping ldapmaster.domain.com
eu recebo um unknown host
-error.
O problema foi reportado para o Ubuntu Launchpad como As pesquisas de nome de host DNS falham no chroot após o upgrade natty .
Alguma idéia de como permitir que o postfix resolva os nomes DNS?
Descobri que as bibliotecas libnss parecem carregadas após o chroot. Então eles são necessários na prisão chroot. Conecte-os lá:
cp -vl /lib/i386-linux-gnu/libnss_* /var/spool/postfix/lib/i386-linux-gnu/
Não entenda por que o postfix não pode resolver nomes DNS, mas apenas adicione o DNS do seu provedor LDAP ao /etc/hosts
. Portanto, você é independente de qualquer pesquisa de DNS e não fica preso se o servidor DNS falhar:
1.2.3.4 thehostname