Problema de resolução de nomes Sendmail

2

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?

    
por carlpett 22.08.2011 / 21:46

2 respostas

2

Isso pode ser de ajuda.

link

Resumindo:

Atualizado sendmail.mc com:

 define('confSERVICE_SWITCH_FILE','/etc/mail/service.switch')dnl

Em seguida, configure o arquivo mail.switch:

 # cat /etc/mail/service.switch
  hosts files

EDIT: vamos ver a saída do resolv.conf. Além disso, podemos obter a saída do named.conf também?

EDIT2: Parece que esta máquina possui seu próprio servidor DNS mestre com registros de zona específicos em "hosts.domain.com" que estavam sendo resolvidos antes da reinicialização. Eu imagino que, se você observar esse arquivo de zona, verá que os domínios nesse arquivo de zona correspondem aos domínios que o sendmail não pôde resolver. É claro que, considerando que o servidor de nomes foi comentado em /etc/resolv.conf, não é realmente provável. Mas apenas caso, descomente essa linha e veja se o sendmail resolverá os domínios.

    
por 22.08.2011 / 21:52
1

Eu tive problemas com o sendmail e a resolução de nomes incorreta antes ...

O problema é que meu endereço IP "público" não foi atribuído a nenhuma interface na minha caixa de sendmail. Sendmail tentaria & fazer uma resolução do domínio em meus e-mails para direcionar para o servidor de e-mail apropriado ... e re-tentar encaminhar as mensagens de entrada para o seu endereço NAT publicamente. A única correção foi configurar um servidor de ligação localmente e fornecer entradas que resolvam para o endereço particular nessa caixa.

Estou lendo a resposta de Rilindo ... e isso parece uma solução melhor. Eu posso ter que tentar isso algum dia.

    
por 22.08.2011 / 21:55