Pediram-me para dar uma olhada em um antigo servidor RedHat (com antigo como em uname -a
dando Linux server 2.4.20-27.7 #1 Thu Dec 11 15:04:48 EST 2003 i686 unknown
) que está tendo problemas com sendmail
. O servidor foi criado em 2003 e não foi tocado desde então pelo que aprendi. Após uma falha de energia, precisou de um fsck
para inicializar e, desde então, os usuários não estão recebendo seus e-mails.
Eu dei uma olhada em /var/log/maillog
e há toneladas de linhas como estas:
Aug 22 21:26:22 server sendmail[12250]: p7KIujl05665: to=<[email protected]>, delay=2+00:22:16, xdelay=00:00:20, mailer=esmtp, pri=4369005, relay=demons.murgent.com., dsn=4.0.0, stat=Deferred: Name server: demons.murgent.com.: host name lookup failure
Aug 22 21:27:22 server sendmail[12250]: p7KHujo05650: to=<[email protected]>, delay=2+00:27:53, xdelay=00:00:20, mailer=esmtp, pri=4404312, relay=sweclo-web02.driften.net., dsn=4.0.0, stat=Deferred: Name server: sweclo-web02.driften.net.: host name lookup failure
Aug 22 21:27:43 server sendmail[12435]: p7MJNuk12435: SYSERR: putoutmsg ([190.242.41.83]): error on output channel sending "250 2.1.5 <[email protected]>... Recipient ok (will queue)": Connection reset by [190.242.41.83]
Aug 22 21:27:43 server sendmail[12435]: p7MJNuk12435: lost input channel from [190.242.41.83] to MTA after rcpt
Aug 22 21:27:43 server sendmail[12435]: p7MJNuk12435: from=<[email protected]>, size=0, class=0, nrcpts=0, proto=ESMTP, daemon=MTA, relay=[190.242.41.83]
Aug 22 21:28:22 server sendmail[12250]: p7KIujm05665: to=<[email protected]>, delay=1+23:39:41, xdelay=00:00:20, mailer=esmtp, pri=4413757, relay=cgsociety.org., dsn=4.0.0, stat=Deferred: Name server: cgsociety.org.: host name lookup failure
No entanto, a resolução de nomes funciona a partir da linha de comando com todos os utilitários que eu tentei ( ping
, host
, dig
...). O servidor também está executando um named
, mas parece ter sido transferido para outro servidor de nomes em algum momento ( /etc/resolv.conf
tem o IP do servidor listado, mas comentou e aponta para o roteador, que encaminha para servidores DNS do ISP). O sendmail
tem alguma maneira interna de fazer a resolução de nomes?
Eu nunca olhei para um arquivo sendmail.cf
antes de hoje (o que foi visto não pode ser visto), mas não pude fazer muito disso. Não parecia mencionar a resolução de nomes. Alguma idéia do que devo verificar?
EDIT: Os arquivos de configuração solicitados:
resolv.conf
: (192.168.0.25 é o servidor, 192.168.0.1 é o gateway / roteador)
# nameserver 192.168.0.25
nameserver 192.168.0.1
named.conf
:
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "hosts.domain.com";
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "db.192.168.0";
allow-update { none; };
};
key "key" {
algorithm hmac-md5;
secret "secret-key-edited-out";
};
EDIT 2: Eu rearranjei o arquivo resolv.conf
para voltar ao próprio servidor em caso de falha, e agora é lenta mas seguramente (700 MHz Celeron, woo!) processando a fila de mensagens. Não tenho certeza de quanto tempo ela foi comentada, mas talvez outra pessoa tenha sido convidada a dar uma olhada recentemente ... Enfim, por que ela só funcionaria ao usar seu próprio DNS?