Tout d'abord, si networksetup -getdnsservers <service name>
ne montre rien, vous n'avez rien répertorié dans Préférences Système> Netowrk sous "Serveurs DNS:".
Deuxièmement, il est important de noter que OS X ne gère pas le DNS comme la plupart des systèmes. Par https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/resolver.5.html Cela signifie essentiellement que OS X a plusieurs clients DNS en fonction de votre configuration. Le résultat de ces multiples services signifie qu'il existe des situations où l'utilisation de Safari pour accéder à un site Web ( http://www.example.com ) vous amènera à une adresse IP qu'OS X a récupérée du DNS (disons 1.2.3.4) tout en en même temps, effectuer une fouille
$ dig www.example.com
renverra des résultats différents. (peut-être 2.3.4.5)
La raison en est la façon dont OS X gère le DNS.
Si vous exécutez, $ man dig
vous obtenez entre autres les éléments suivants:
AVIS Mac OS X La commande dig n'utilise pas la résolution du nom d'hôte et de l'adresse ou les mécanismes de routage des requêtes DNS utilisés par d'autres processus exécutés sur Mac OS X. Les résultats des requêtes de nom ou d'adresse imprimées par dig peuvent différer de ceux trouvés par d'autres processus qui utilisent les mécanismes de résolution des noms et adresses natifs de Mac OS X. Les résultats des requêtes DNS peuvent également différer des requêtes qui utilisent la bibliothèque de routage DNS Mac OS X.
Aussi $man nslookup
retournera quelque chose de similaire
AVIS Mac OS X La commande nslookup n'utilise pas la résolution du nom d'hôte et de l'adresse ou les mécanismes de routage des requêtes DNS utilisés par d'autres processus exécutés sur Mac OS X. Les résultats des requêtes de nom ou d'adresse imprimées par nslookup peuvent différer de ceux trouvés par d'autres processus qui utilisent les mécanismes de résolution des noms et adresses natifs de Mac OS X. Les résultats des requêtes DNS peuvent également différer des requêtes qui utilisent la bibliothèque de routage DNS Mac OS X.
Tout cela est vraiment une façon assez longue de dire, la meilleure façon de voir quels serveurs DNS sont utilisés est de regarder les Préférences Système> Réseau
Les entrées "Serveur DNS:" sont généralement là, et "Domaines de recherche:" vous permettra de rechercher des adresses incomplètes.
Si "Serveur DNS:" n'est pas présent, OS X essaiera d'utiliser l'adresse dans "Routeur:" pour DNS.
ET, en plus de tout ce plaisir, il existe des utilitaires et d'autres processus qui n'utilisent peut- être pas la bibliothèque de routage DNS OS X, et ils toucheront directement le contenu de /etc/resolv.conf.
La réponse courte et courte est la suivante:
- Si vous vous fiez au contenu des Préférences Système> Réseau, vous regardez la même chose que la plupart des processus utilisent.
- Le contenu des Préférences Système> Réseau doit remplir /etc/resolv.conf, mais pas toujours.
- Certains autres processus (comme dig et nslookup) accèdent directement à /etc/resolv.conf.
Et, en plus de tout cela - Si vous n'utilisez pas les clients VPN intégrés à OS X, il est possible que des routes et des serveurs DNS supplémentaires soient utilisés qui networksetup -getdnsservers <service name>
ne s'afficheront pas. Votre client VPN peut avoir la possibilité de vous montrer les routes et les serveurs DNS, je sais que le mien le fait.
Je sais que cela ne répond pas précisément à votre question, mais j'espère que cela vous aidera à réaliser qu'il n'est pas toujours facile de découvrir quelle est la «vérité» concernant DNS sur un Mac. En règle générale, vous êtes sûr de supposer que le contenu de Préférences Système> Réseau, ou le contenu de, networksetup -getdnsservers <service name>
est l'endroit d'où vous obtenez votre DNS. Cependant, si les choses semblent étranges, gardez à l'esprit qu'il existe également d'autres possibilités. Utilisez creuser pour déterminer s'il y a des différences.
Enfin, pour les lecteurs qui se demandent comment obtenir le <service name>
dans networksetup -getdnsservers <service name>
, essayez d' utilisernetworksetup -listallnetworkservices
Facture
dans OSX Mavericks (10.9 - en fait 10.6.3, je crois) si vous voulez voir la configuration DNS active:
La première entrée (résolveur # 1) serait la configuration active ... bien que j'aie vu de nombreux cas où ce n'est pas le cas.
de man scutil
IME, si ce que vous voyez ici ne correspond pas à ce que vous attendez (par exemple, réseau> avancé> DNS), vous devrez peut-être désactiver / activer l'adaptateur réseau approprié pour qu'il se rafraîchisse ...
Autres conseils dans OSX récent:
Avec 10.7 ou 10.8, les domaines de recherche ne s'appliquent pas aux recherches contenant un point. ie - www.test n'ajoutera pas du tout les domaines de recherche, où www le fera. il y a un correctif:
Maintenant, déchargez et rechargez le service mDNSResponder: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
la configuration réseau> avancée> dns est -PER INTERFACE-. Donc, si vous utilisez le sans fil et le filaire ... vous devez configurer les deux.
il y a aussi une autre façon - / etc / resolver - un exemple ici: Est-ce que / etc / resolver / files fonctionne dans Mountain Lion pour la résolution DNS? et plus ici: https://www.dforge.net/2013/01/30/osx-domain-specific-dns-servers-etcresolver/
Quant à essayer de faire un nslookup - il est bien connu que nslookup (et host et dig) ne suit pas le mécanisme de résolution OSX (extrêmement unique et mélangé). Utilisez ping.
la source
scutil --dns
affiche la configuration DNS réelle que le système d'exploitation utilise.J'utiliserais normalement (sur des environnements Unix, et c'est peut-être un peu old school) quelque chose comme les exemples suivants.
Premièrement, vous pouvez rechercher une adresse IP ou une entrée de nom DNS individuellement, et il rendra compte du serveur qui a été utilisé pour fournir la réponse. Vous pouvez rechercher une seule entrée sur la ligne de commande, ou entrer dans le
nslookup
programme et rechercher plusieurs entrées sans avoir à ressaisir la commande:Deuxièmement, cette commande (notez que je l'ai exécutée sur une boîte Windows, sur unix / OS X, la commande ipconfig / all est à la place ifconfig -a et les résultats de sortie peuvent légèrement différer) qui répertorie les données de configuration ip pour chaque interface sur votre système, les ports physiques, connexions sans fil, VNC, etc., affichant les données DNS et IP associées à chaque itinéraire hors de la machine, vous obtiendrez de nombreuses entrées en retour, une pour chaque port / adaptateur réseau authentique, ainsi que diverses quantités de ports virtuels en fonction de votre configuration, dans mon exemple, j'ai supprimé la plupart des résultats, mais j'ai montré mon adaptateur VPN et les entrées DNS (expurgées) qu'il possède.
la source
Qu'est-ce que ça
nslookup
vous dit? Cela me donne mon serveur DNS sur la deuxième ligne.la source