Por que o SSH relata “falha na verificação do mapeamento inverso getaddrinfo” mesmo quando o registro PTR está definido?

2

Estou tentando configurar um cluster usando uma rede privada na sub-rede 10. Uma máquina tem duas interfaces, uma para conectar-se à rede regular e outra para conectar-se a todos os nós da sub-rede 10. Essa máquina do CentOS 6 vamos chamá-lo "zaza.domain.com") executa DHCP, DNS e atualmente ambos são gerenciados pelo Cobbler, o que pode ou não ser parte do problema (embora desabilitá-lo e fazer tudo manualmente ainda me dê problemas). / p>

Se eu fizer SSH no zaza, e depois tentar SSH do zaza no node1, recebo uma mensagem de aviso como segue:

[root@zaza ~]# ssh node1
reverse mapping checking getaddrinfo for node1.cluster.local [10.69.0.1] failed - POSSIBLE BREAK-IN ATTEMPT! 

Ainda recebo uma solicitação de senha e ainda posso fazer o login OK.

Eu sei de aviso sshd, "POSSIBLE BREAK -NA TENTATIVA!" para DNS inverso com falha e "POSSÍVEL TENTATIVA DE INTERRUPÇÃO!" em / var / log / secure - o que isso significa? e um monte de outras pesquisas que a causa desse erro normalmente é um registro PTR não está sendo definido. No entanto, está definido - considere o seguinte:

[root@zaza ~]# nslookup node1.cluster.local   
Server:     10.69.0.69   
Address:    10.69.0.69#53

Name:   node1.cluster.local   
Address: 10.69.0.1

[root@zaza ~]# nslookup 10.69.0.1   
Server:     10.69.0.69   
Address:    10.69.0.69#53

1.0.69.10.in-addr.arpa  name = node1.cluster.local.

O endereço IP 10.69.0.69 é a segunda interface do zaza.

Se eu tentar uma ferramenta diferente como dig, para realmente visualizar o registro PTR, recebo a seguinte saída:

[root@zaza ~]# dig ptr 1.0.69.10.in-addr.arpa    
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.4 <<>> ptr 69.0.69.10.in-addr.arpa
;; global options: +cmd
;; Got answer:   
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29499   
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;1.0.69.10.in-addr.arpa.    IN  PTR

;; ANSWER SECTION:  
1.0.69.10.in-addr.arpa. 300 IN  PTR node1.cluster.local.

;; AUTHORITY SECTION:  
10.in-addr.arpa.    300 IN  NS  zaza.cluster.local.

;; ADDITIONAL SECTION:   zaza.cluster.local.    300 IN  A   10.69.0.69

;; Query time: 0 msec
;; SERVER: 10.69.0.69#53(10.69.0.69)
;; WHEN: Wed Mar  1 17:05:44 2017   
;; MSG SIZE  rcvd: 110

Parece-me que o registro PTR está definido, por isso não sei por que o SSH lançaria um zumbido quando tento conectar a uma das máquinas do nó. Para dar todas as informações, aqui estão os arquivos de configuração relevantes, estragados para fazer as coisas parecerem um pouco mais legíveis ...

/etc/named.conf

[root@zaza ~]# cat /etc/named.conf 
options {
          listen-on port 53 { any; };
          directory       "/var/named";
          dump-file       "/var/named/data/cache_dump.db";
          statistics-file "/var/named/data/named_stats.txt";
          memstatistics-file "/var/named/data/named_mem_stats.txt";
          allow-query     { any; }; # was localhost
          recursion yes;

          # setup DNS forwarding
          forwarders {1.2.3.4;}; # Real IP goes in here
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "cluster.local." {
    type master;
    file "cluster.local";

    # these two lines allow DNS querying
    allow-update { any; };
    notify no;
};

zone "10.in-addr.arpa." {
    type master;
    file "10";

    # these two lines allow DNS querying
    allow-update { any; };
    notify no;
};

/var/named/cluster.local

[root@zaza ~]# cat /var/named/cluster.local 
$TTL 300
@                       IN      SOA     zaza.cluster.local. nobody.example.com. (
                                        2017030100   ; Serial
                                        600         ; Refresh
                                        1800         ; Retry
                                        604800       ; Expire
                                        300          ; TTL
                                        )

                        IN      NS      zaza.cluster.local.

zaza     IN  A     10.69.0.69



node1  IN  A     10.69.0.1;
node2  IN  A     10.69.0.2;

/ var / named / 10

[root@zaza ~]# cat /var/named/10 
$TTL 300
@                       IN      SOA     zaza.cluster.local. root.zaza.cluster.local. (
                                        2017030100   ; Serial
                                        600         ; Refresh
                                        1800         ; Retry
                                        604800       ; Expire
                                        300          ; TTL
                                        )

                        IN      NS      zaza.cluster.local.

69.0.69 IN  PTR  zaza.cluster.local.



1.0.69  IN  PTR  node1.cluster.local.
2.0.69  IN  PTR  node2.cluster.local.

Se tiver alguma ideia, será muito apreciado!

    
por Biggles 01.03.2017 / 18:34

1 resposta

0

Era tudo sobre o Avahi e o domínio .local e nada a ver com registros PTR.

Eu fiz um monte de pesquisas depois de ter percebido que a resolução do host funcionava, mas esse host pelo FQDN estava falhando. Isso eventualmente me levou a link e, a partir daí, eu estava vinculado a < href="http://www.lowlevelmanager.com/2011/09/fix-linux-dns-issues-with-local.html"> link que resolveu tudo para mim.

Em última análise, o problema é que, em /etc/nsswitch.conf , há uma linha que diz:
hosts: files mdns4_minimal [NOTFOUND=return] dns
Alterando isso para ler:
hosts: files dns
O problema desapareceu e não recebi mais o erro sobre possíveis tentativas de invasão.

Outra solução que testei foi simplesmente renomear o domínio, pois esse comportamento é específico do domínio .local. Ao renomear cluster.local para cluster.bob, a mensagem de erro também desapareceu.

Outra solução seria mover o Avahi de .local para algo como .alocal, para que o DNS multicast não se aplique ao domínio .local e a configuração padrão do nsswitch pareça funcionar. Eu suponho que remover o parâmetro [NOTFOUND=return] também funcionaria, pois impediria que o DNS multicast terminasse a pesquisa se um host .local não fosse encontrado, mas provavelmente é uma má idéia.

Em última análise, este foi um caso extremo que surgiu porque eu não entendi completamente o significado do domínio .local, apenas o vi como uma boa convenção para uma rede interna.

    
por 06.03.2017 / 14:11