Exim4 problemas de DNS

2

Estou tentando encaminhar os e-mails do meu servidor Debian para o meu endereço de e-mail usual. Provavelmente estou sentindo falta de algo importante, pois não consigo encontrar uma boa solução on-line procurando a seguinte mensagem de erro:

dnslookup defer (-1): host lookup did not complete

Encontrei esta resposta mas não me ajudou: link

Eu tenho um usuário Debian-exim:

uid=101(Debian-exim) gid=103(Debian-exim) groups=103(Debian-exim)

Eu não acho que a porta 25 esteja filtrada na minha rede. Enfim, acho que é um problema de DNS por enquanto. Não tenho certeza se o seguinte servidor aqui ainda está funcionando e não consigo encontrar outro endereço para testar:

telnet 209.85.225.27 25
Trying 209.85.225.27...
telnet: Unable to connect to remote host: Connection timed out

Isso funciona:

echo "This is a test." | mail -s Testing user@localhost

Isso não:

echo "This is a test." | mail -s Testing [email protected]
echo "This is a test." | mail -s Testing [email protected]

Em / var / log / exim4 / mainlog, recebi:

1YDDm0-0007mZ-BS <= [email protected] U=user P=local S=464
1YDDm0-0007mZ-BS == [email protected] R=dnslookup defer (-1): host lookup did not complete
1YDE1X-0007v5-EG <= [email protected] U=user P=local S=456

E em /etc/resolv.conf:

domain home
search home
nameserver 192.168.1.1

E finalmente (a parte interessante parece estar no final):

sudo exim -bt -d-resolver [email protected]
[sudo] password for user: 
Exim version 4.80 uid=0 gid=0 pid=31872 D=fbb95cfd
Berkeley DB: Berkeley DB 5.1.29: (October 25, 2011)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DKIM
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch nis nis0 passwd
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Compiler: GCC [4.6.3]
Library version: GnuTLS: Compile: 2.12.20
                         Runtime: 2.12.20
Library version: PCRE: Compile: 8.30
                       Runtime: 8.30 2012-02-04
Total 13 lookups
WHITELIST_D_MACROS: "OUTGOING"
TRUSTED_CONFIG_LIST: "/etc/exim4/trusted_configs"
changed uid/gid: forcing real = effective
  uid=0 gid=0 pid=31872
  auxiliary group list: <none>
seeking password data for user "uucp": cache not available
getpwnam() succeeded uid=10 gid=10
changed uid/gid: calling tls_validate_require_cipher
  uid=101 gid=103 pid=31873
  auxiliary group list: <none>
tls_validate_require_cipher child 31873 ended: status=0x0
configuration file is /var/lib/exim4/config.autogenerated
log selectors = 00000ffc 00612001
trusted user
admin user
seeking password data for user "mail": cache not available
getpwnam() succeeded uid=8 gid=8
user name "root" extracted from gecos field "root"
originator: uid=0 gid=0 login=root name=root
sender address = [email protected]
Address testing: uid=0 gid=103 euid=0 egid=103
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Testing [email protected]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering [email protected]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing [email protected]
--------> hubbed_hosts router <--------
local_part=my domain=mail.eu
checking domains
expansion of "${if exists{/etc/exim4/hubbed_hosts}{partial-lsearch;/etc/exim4/hubbed_hosts}fail}" forced failure: assume not in this list
hubbed_hosts router skipped: domains mismatch
--------> dnslookup_relay_to_domains router <--------
local_part=my domain=mail.eu
checking domains
mail.eu in "@:localhost:example.dynu.com"? no (end of list)
mail.eu in "empty"? no (end of list)
mail.eu in "! +local_domains : +relay_to_domains"? no (end of list)
dnslookup_relay_to_domains router skipped: domains mismatch
--------> dnslookup router <--------
local_part=my domain=mail.eu
checking domains
cached no match for +local_domains
cached lookup data = NULL
mail.eu in "! +local_domains"? yes (end of list)
R: dnslookup for [email protected]
calling dnslookup router
dnslookup router called for [email protected]
  domain = mail.eu
DNS lookup of mail.eu (MX) gave TRY_AGAIN
mail.eu in dns_again_means_nonexist? no (option unset)
returning DNS_AGAIN
dnslookup router: defer for [email protected]
  message: host lookup did not complete
[email protected] cannot be resolved at this time: host lookup did not complete
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=31872 terminating with rc=1 >>>>>>>>>>>>>>>>

Alguém poderia me ajudar aqui?

Muito obrigado!

    
por bg666 19.01.2015 / 17:48

1 resposta

4

O roteador dnslookup padrão do exim usa um algoritmo para decidir como resolver um endereço de e-mail (isso está detalhado no manual do Exim no capítulo que detalha dnslookup router). Olhando para os resultados da escavação, isso parece bem:

$ dig mail.eu mx

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> mail.eu mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5467
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 4

;; QUESTION SECTION:
;mail.eu.           IN  MX

;; ANSWER SECTION:
mail.eu.        86400   IN  MX  10 in1-smtp.messagingengine.com.
mail.eu.        86400   IN  MX  20 in2-smtp.messagingengine.com.

;; ADDITIONAL SECTION:
in1-smtp.messagingengine.com. 72474 IN  A   66.111.4.70
in1-smtp.messagingengine.com. 72474 IN  A   66.111.4.73
in1-smtp.messagingengine.com. 72474 IN  A   66.111.4.72
in1-smtp.messagingengine.com. 72474 IN  A   66.111.4.71

;; Query time: 33 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Mon Jan 19 16:51:24 2015
;; MSG SIZE  rcvd: 158

Isso significa que seu resolvedor local (192.168.1.1) está retornando uma resposta TRY_AGAIN para a solicitação SRV (você ativou o SRV na sua configuração exim) OU "armazenou em cache negativamente" um resultado com falha (sua DSL estava com defeito?) o tempo que aconteceu?).

Eu sugeriria testar seu resolvedor usando um servidor DNS aberto (como o do Google), adicionando:

nameserver 8.8.8.8

antes do seu

nameserver 192.168.1.1

declare em resolv.conf e tente executar novamente exim -bt [email protected] test para descartar essa resposta dos resolvedores.

Se o uso do servidor de cache DNS do Google resolver o problema, reinicie o DNS (o dispositivo em 192.168.1.1) para ver se isso resolve o problema atual (não se esqueça de comentar a entrada do cache do Google antes de -teste!)

Existem outras opções detalhadas nesse capítulo se você continuar recebendo erros mesmo quando estiver usando os servidores de cache DNS do Google (ou se preferir NÃO usar um resolvedor de DNS externo). Tenha em atenção que, ao adicionar as pesquisas de DNS nameserver line all , estas serão transmitidas ao Google para resolução. Isso adicionará um pequeno atraso às solicitações de DNS, além de passar em todas as solicitações de DNS que o host fará para o Google - e nem a ideia de "Good Thing" ™ de todos.

    
por 19.01.2015 / 18:05

Tags