O nslookup encontra ip, mas o ping não

53

Eu sei que isso parece com todas as outras perguntas "pode ​​executar ping via ip, mas não DNS", mas essas realmente não me ajudaram.

Além disso, não é possível ter arquivos de hosts em todas as máquinas, pois esse servidor acabará lidando com muitos computadores conectados a ele.

Eu tenho um servidor LDAP + DNS definido e quero que os computadores na minha rede sejam autenticados no servidor LDAP.

A parte do ldap está funcionando bem e eu posso ssh no servidor ldap com as credenciais do ldap.

O problema vem com as máquinas clientes, o cliente está configurado para usar o servidor dns (neste caso, 192.168.0.243) e se eu entrar no terminal e fazer uma pesquisa, ele encontrará o servidor ldap muito bem.

fernando@desktest:~$ nslookup ldap.mynet.local
Server:     192.168.0.243
Address:    192.168.0.243#53

Name:   ldap.mynet.local
Address: 192.168.0.243

Mas quando eu sigo, ele não encontra o endereço IP. Ele fica lá parecendo bonito até eu pressionar CTRL-C.

Claro que o ping pelo endereço IP funciona muito bem.

Aqui estão os arquivos de zona para o servidor DNS:

fernando@ldap:~$ cat /etc/bind/named.conf.local
zone "mynet.local" {
    type master;
    file "/etc/bind/db.mynet.local";
};

zone "0.168.192.in-addr.arpa" {
    type master;
    notify no;
    file "/etc/bind/db.192";
};
fernando@ldap:~$ cat /etc/bind/db.mynet.local 
;
; BIND data file for local loopback interface
;
$TTL    604800
@   IN  SOA ns.mynet.local. root.mynet.local. (
                  7     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
         604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.mynet.local.
ns  IN  A   192.168.0.243
server  IN  A   192.168.0.250
desktest    IN  A   192.168.0.249
remote  IN  A   192.168.0.248
winserver   IN  A   192.168.0.247
web         IN  A   192.168.0.246
tempfs  IN  A   192.168.0.245
ldap    IN  A   192.168.0.243
antenarfb   IN  A   192.168.0.253
antenapan   IN  A   10.82.223.7
adslgvt IN  A   192.168.0.1
fernando@ldap:~$ cat /etc/bind/db.192 
;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@   IN  SOA mynet.local. root.mynet.local. (
                  6     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.
1   IN  PTR ns.mynet.local.
2   IN  PTR server.mynet.local.
3   IN  PTR desktest.mynet.local.
4   IN  PTR remote.mynet.local.
5   IN  PTR winserver.mynet.local.
6   IN  PTR web.mynet.local.
7   IN  PTR tempfs.mynet.local.
8   IN  PTR ldap.mynet.local.
9   IN  PTR antenarfb.mynet.local.
10  IN  PTR antenapan.mynet.local.
11  IN  PTR adslgvt.mynet.local.
fernando@ldap:~$ 

Estou realmente sem saber o que fazer e qualquer ajuda será muito apreciada.

---- editar ----

antes que alguém pergunte, sim, o servidor está rodando :)

root@ldap:/etc/bind# rndc status
version: 9.7.0-P1
CPUs found: 1
worker threads: 1
number of zones: 16
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running

---- final de edição ----

Fernando
fonte
Após mais testes, tenho certeza de que estou fazendo algo errado na parte do servidor DNS. fazendo host ldapme dá um erro de host não encontrado (mesmo no terminal do servidor DNS) a mesma coisa usando dig, a mesma coisa com host 192.168.0.243(minha máquina ldap.mynet.local).
22411 Fernando
fazendo host ldap.mynet.localna máquina cliente me dá o endereço IP correto: /
Fernando

Respostas:

89

Acredito que isso seja causado pelo mdns - multicast dns, para autoconfiguração do domínio .local.

Se você fizer o check-in /etc/nsswitch.conf, provavelmente verá:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

mdns4 é o que está fazendo o multicast dns. Tente alterar isso para:

hosts: files dns

E veja se isso faz alguma diferença. Se isso funcionar, você pode remover os mdns permanentemente com:

Experimentar apt-get remove libnss-mdns

O que fará a nsswitch.confmudança para você também.

Como alternativa, não use .local - use .lan ou algo assim.

Césio
fonte
11
Perfeito! funcionou como um encanto! Muito obrigado. DNS reverso ainda está a dar-me um erro, mas isso é outra questão que eu acho :)
Fernando
4
Cara, você é incrível !!!!!
Thai Tran
Esta foi a solução real para o meu problema no Ubuntu Saucy / 13.10.
beerbajay
2
Qual é a lógica? Por que essa é a configuração padrão?
31518 Chris
11
Excelente resposta! Trabalhou para mim, bem como sobre uma nova instalação do Ubuntu 16.
T-Heron
3

Apenas para completar as coisas:

  1. O nslookup apenas pede ao servidor DNS especificado o registro A atribuído, NÃO garante que o dispositivo por trás desse registro tenha realmente esse IP.

  2. Mesmo quando o dispositivo tem o IP correto (por exemplo, o IP fixo do dispositivo corresponde ao fornecido pelo DNS) - ele não garante que o dispositivo esteja configurado para responder a pings. Este é um ponto comum de frustração. (Estou falando de você, firewall do Windows)

  3. Quando você cruza sub-redes, o roteador / gateway / firewall também pode restringir o tráfego ICMP (que é um ping).

Portanto, você sempre precisa verificar a cadeia de serviço completa do remetente ao destinatário e vice-versa. No caso três, pode haver configurações como a) gateway padrão ou b) rotas (padrão) envolvidas. Então adicione-os à sua lista de verificação.

Desculpe por desenterrar este antigo, mas, dado o cabeçalho, parecia um pouco de informação, alguém poderia lucrar.

Greetz.

Kay Urbach
fonte
2
o OP menciona "mas quando eu sigo ele não encontra o endereço IP". Não se trata de pacotes que não atingem o destino, mas de ping em si não conseguir resolver o endereço IP.
Andras Gyomrey
O próprio ping não usa resolução de nomes. Referindo-se a stackoverflow.com/questions/17161005/… .
precisa saber é o seguinte
2

Outra coisa que vi interferir no DNS é instalar o winbind. Parece colocar uma winsentrada antes de [NOTFOUND=return]em /etc/nsswitch.conf, o que causa falha no DNS, mas pode ser corrigido movendo winspara após a parte "NOTFOUND", também, de preferência após o DNS, para que a pesquisa do DNS ocorra primeiro, consulte o seguinte:

http://ubuntuforums.org/showthread.php?t=1496488

(não sei por que isso acontece por padrão; comentários são bem-vindos!)

Latanius
fonte