58 votes

nslookup trouve l'ip pour un nom d'hôte dans le domaine .local, mais ping ne le fait pas

Je sais que cela ressemble à toutes les autres questions du genre "je peux faire un ping via ip mais pas dns", mais celles-ci ne m'ont pas du tout aidé.

De plus, il n'est pas possible d'avoir des fichiers hosts sur toutes les machines, car ce serveur finira par gérer un grand nombre d'ordinateurs qui s'y connecteront.

J'ai configuré un serveur ldap+dns, et je veux que les ordinateurs de mon réseau s'authentifient sur le serveur ldap.

La partie ldap fonctionne parfaitement et je peux me connecter au serveur ldap avec les informations d'identification ldap sans problème.

Le problème vient des machines clientes, le client est configuré pour utiliser le serveur DNS (dans ce cas 192.168.0.243) et si j'entre dans le terminal et que je fais un nslookup, il trouve le serveur ldap sans problème.

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

Mais quand je fais un ping, il ne trouve pas l'adresse IP. Il reste là, tout beau, jusqu'à ce que je fasse CTRL-C.

Bien sûr, l'interrogation par adresse IP fonctionne parfaitement.

Voici les fichiers de zone pour le serveur 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:~$ 

Je ne sais vraiment pas quoi faire et toute aide sera la bienvenue.

---- éditer ----

avant que quelqu'un ne demande, oui le serveur fonctionne :)

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

---- end edit ----

110voto

pele Points 9

Je pense que cela est dû à mdns - multicast dns, pour l'autoconfiguration du domaine .local.

Si vous vous enregistrez /etc/nsswitch.conf vous verrez probablement :

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

mdns4 est ce qui fait le multicast dns. Essayez de le changer en :

hosts: files dns

Et voir si ça fait une différence. Si cela fonctionne, vous pouvez supprimer les mdns de façon permanente avec :

Pruebe apt-get remove libnss-mdns

Qui fera le nsswitch.conf changement pour vous aussi.

Sinon, n'utilisez pas .local - utilisez .lan ou autre à la place.

3voto

Kay Urbach Points 51

Juste pour compléter les choses :

  1. nslookup demande simplement au serveur DNS donné l'enregistrement A attribué, il ne garantit PAS que le dispositif derrière cet enregistrement possède réellement cette IP.

  2. Même si l'appareil a l'IP correcte (ex. : l'IP fixe de l'appareil correspond à celle fournie par le DNS) - cela ne garantit pas que l'appareil soit configuré pour répondre aux pings. C'est un point commun de frustration. (Je parle de vous, le pare-feu de Windows)

  3. Lorsque vous traversez des sous-réseaux, le routeur / la passerelle / le pare-feu peut également restreindre le trafic ICMP (c'est ce qu'est un ping).

Vous devez donc toujours vérifier la chaîne de service complète, de l'expéditeur au destinataire et vice versa. Dans le troisième cas, des paramètres tels que a) la passerelle par défaut ou b) les routes (par défaut) peuvent être impliqués. Ajoutez-les donc à votre liste de contrôle.

Désolé de déterrer cette vieille histoire, mais d'après l'en-tête, cela semblait être un peu d'information dont quelqu'un pourrait profiter.

Salut.

2voto

Taylor Gibb Points 2579

Une autre chose que j'ai vue interférer avec le DNS est l'installation de winbind. Il semble mettre un wins entrée avant [NOTFOUND=return] において /etc/nsswitch.conf ce qui provoque l'échec du DNS, mais peut être corrigé en déplaçant wins après la partie "NOTFOUND", également, de préférence après dns pour que la recherche dns se fasse en premier, voir ceci :

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

(je ne sais pas exactement pourquoi cela se produit par défaut ; les commentaires sont les bienvenus !)

0voto

Lav Patel Points 131

Dans mon cas, retirer resolve [!UNAVAIL=return] a résolu le problème

cat /etc/nsswitch.conf
...
#hosts:          files mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns myhostname
hosts:          files mdns4_minimal [NOTFOUND=return] dns myhostname
...

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X