Estou usando o postfix no meu servidor Debian (wheezy) e configurado para usar policyd-weight da seguinte maneira no arquivo main.cf:
smtpd_recipient_restrictions = reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_unlisted_recipient,
warn_if_reject check_policy_service inet:127.0.0.1:12525,
check_policy_service inet:127.0.0.1:10023,
permit
Um tempo atrás, a configuração que estava funcionando anteriormente começou a repassar os e-mails porque não era possível acessar o daemon policyd-weight (portanto, o warn_if_reject para substituir o comportamento de devolução). Eu verifiquei o daemon e ele está realmente funcionando e ouvindo na porta 12525:
tcp 0 0 127.0.0.1:12525 0.0.0.0:* LISTEN 20005/policyd-weigh
A seguinte mensagem de erro indica o que achei que estava no cerne da questão:
Feb 1 12:25:34 ginger postfix/policyd-weight[4446]: warning: child: could not open RBL Lookup Socket to config: IO::Socket::INET: Bad hostname 'config' Invalid argument
Feb 1 12:25:34 ginger postfix/policyd-weight[4446]: warning: child: err: can't resolve "config" to address at /usr/lib/perl5/Net/DNS/Resolver/Base.pm line 755, <GEN14499> line 26.#012
A partir disso, parece-me que o problema realmente está relacionado ao peso do policyd e é sobre um problema com a resolução do DNS. No início, eu pensei que o policyd-weight tivesse de alguma forma dado um nome de host "config" anteriormente e tentei resolver * config para um endereço IP. No entanto, não consegui encontrar nenhuma referência a config nos arquivos de configuração do policyd-weight.
Então percebi que talvez fosse o servidor de nomes que a policyd-weight tinha dificuldade em entrar em contato com (essa percepção está faltando na maioria das postagens que fazem referência à mensagem de aviso acima postfix / policyd-weight), por exemplo achei que havia um servidor de nomes chamado config (não existe na minha configuração, então isso estava fadado a falhar). E, de fato, existe algo parecido no arquivo /etc/resolv.conf :
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver config
nameserver 213.133.100.100
nameserver 213.133.98.98
Acho que a linha deveria ser a seguinte
# nameserver config
pois é o que a maioria das postagens na internet sugere (primeiros quatro acessos no google para "nameserver config" hetzner ; não é possível postar mais de dois links por causa da reputação) e essa configuração é muito provável para ser herdado da configuração padrão que meu hoster usa em suas instalações (referindo-se a seus servidores de nomes ):
/etc/resolvconf/resolv.conf.d/original
### Hetzner Online AG installimage
# nameserver 127.0.0.1
nameserver config
nameserver 213.133.100.100
nameserver 213.133.98.98
nameserver 213.133.99.99
nameserver 2a01:4f8:0:a111::add:9898
nameserver 2a01:4f8:0:a102::add:9999
nameserver 2a01:4f8:0:a0a1::add:1010
Comentando manualmente configuração do servidor de nomes em /etc/resolv.conf e reiniciando o policyd-weight funciona bem e eu posso ver a partir do X-policyd-weight cabeçalho nos e-mails recebidos que tudo funciona bem.
No entanto, estou com problemas para remover ou alterar essa linha permanentemente. resolvconf não parece estar usando o arquivo /etc/resolvconf/resolv.conf.d/original na atualização, então sempre que eu corro resolvconf -u traz exatamente a versão do /etc/resolv.conf que citei acima.
/ etc / network / interfaces não inclui nenhum servidor de nomes e, até onde eu sei, não estou usando o NetworkManager. Devo usar algo ao longo da linha seguinte para definir os servidores de nomes em / etc / network / interfaces (como sugerido pelo Manual Debian )?
dns-nameservers 12.34.56.78 12.34.56.79
Eu ainda gostaria de descobrir de onde vem a linha (uncommented) config do servidor de nomes e por que resolvconf a restaura a cada atualização. Qual seria um bom lugar para começar a procurar?
Tags debian nameserver