Mon lieu de travail dispose d'un intranet avec des noms de domaine comme server01.foo.local
, server02.foo.local
etc. J'ai récemment démarré l'environnement en direct de Fedora 16 pour le tester et j'ai découvert que ces noms de domaine ne se résolvent pas.
Par exemple:
$ ping server01.foo.local
ping: hôte inconnu server01.foo.local
$ ping server01
PING server01.foo.local (XXXX) ...
Pourquoi va server01
résoudre (et imprimer le nom comme server01.foo.local
), mais server01.foo.local
ne le fera pas?
linux
networking
dhcp
rhollencamp
la source
la source
Réponses:
Bien que je ne sois pas à 100% sur le raisonnement derrière pourquoi cela ne fonctionne pas comme prévu, il semble y avoir un très grand conflit avec le service mDNS (Avahi sous Linux, Bonjour / Zeroconf sous Mac / Windows) et les réseaux Windows qui utilisez .local comme nom de routage interne pour les domaines. Ce qui semble se produire, c'est que lorsque vous envoyez une requête ping à server01, il ignore l'utilisation de mDNS pour la résolution, puis ajoute le domaine de recherche (foo.local) à la demande, interrogeant avec succès le serveur DNS pour server01.foo.local. Cependant, lorsque vous utilisez mDNS (qui utilise .local comme extension de nom de machine par défaut), lorsque vous essayez d'envoyer une requête ping à server01.foo.local, il diffuse en fait sur mDNS à la recherche d'une machine avec le nom de "server01.foo"; quand il échoue, il ne passe pas directement au DNS pour une raison quelconque. Une solution de contournement importante à ce problème n'est pas de nommer votre domaine .local, ce qui va probablement à l'encontre de la formation de la plupart des administrateurs Windows pour la structuration de domaine. Cela étant dit:
Si mDNS est sans conséquence sur votre réseau (comme cela est courant dans l'entreprise, qui a tendance à exécuter des serveurs DNS dédiés par rapport au réseau domestique, où mDNS est parfois utilisé), la modification de l'ordre de recherche est la solution la plus simple.
Cela peut être trouvé dans /etc/nsswitch.conf. La section pour les hôtes listera la commande, qui pour Fedora 16 par défaut est:
Si vous changez cela en:
où vous avancez DNS dans l'ordre de recherche, cela devrait régler les choses pour l'instant. Sinon, si vous savez que vous n'aurez pas du tout besoin de mDNS, supprimez simplement la partie "mdns4_minimal [NOTFOUND = return]".
En regardant ce bogue sur le tracker de Red Hat , il semble que ce soit un problème de longue date sans solution apparente pour le moment. Cependant, si quelqu'un peut fournir plus d'informations sur les raisons de cette situation, ce serait apprécié.
la source
vpnc
ne peut pas se connecter après avoir supprimé ces entrées sur lahosts: .*
ligne/etc/nsswitch.conf
. Le remplacement de ces paramètres a résolu le problème.[NOTFOUND=return]
signifie "si mDNS vous indique qu'un nom .local n'est pas trouvé, alors c'est autoritaire, et il n'y a aucun intérêt à demander plus loin". Déplacer DNS avant mDNS est une solution de contournement, mais il suffit déjà de rendre les échecs mDNS non autoritaires.Je suggère une autre solution au cas où vous utilisez le
.local
domaine. Tout d'abord, ce n'est pas une bonne idée car cela semble une norme / convention à utiliser.local
pour certaines découvertes dynamiques de multidiffusion.Mais si vous insistez, il est également plus facile de simplement supprimer le
nss-mdns
package ou lelibnss-mdns
package en fonction de votre distribution et vous obtiendrez le problème résolu. Si vous n'avez pas besoin de cette fonctionnalité, alors pourquoi l'y attarder?Voici
yum info nss-mdns
:la source
Certaines choses que vous pouvez vérifier:
y a-t-il un ordre dans /etc/host.conf, qui spécifie de vérifier / etc / hosts avant d'interroger DNS?
est server01 dans / etc / hosts?
y a-t-il un
search foo.local
fichier dans / etc / resolv, conf? Cela ajouterait foo.local à tout nom d'hôte que vous recherchezJe me demande si votre serveur de noms est correctement configuré. Si vous avez encore nslookup, qu'est-ce que le retourner pour
server01
,server01.foo.local
et l'IP-address (recherche inversée)?la source