Existe-t-il une commande pour lister les serveurs DNS utilisés par mon système?
J'essayai
$ cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 127.0.0.1$ cat /etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8)auto loiface lo inet loopback
Mais il ne répertorie aucun serveur, si je vais dans "Outil d'interface graphique du gestionnaire de réseau" , dans la section sans fil, il répertorie "DNS 192.168.1.1 8.8.8.8 8.8.4.4"
Puis-je obtenir les mêmes informations à partir de la ligne de commande?
resolv.conf n'est plus vraiment utilisé, sauf si vous l'implémentez vous-même. Le gestionnaire de réseau le fait maintenant. J'ai créé un alias pour répertorier les serveurs DNS de mon système, car je passe parfois d'OpenDNS à open DNS de Google.
>Ubuntu = 15
nmcli device show <interfacename> | grep IP4.DNS
Ubuntu <= 14
nmcli dev list iface <interfacename> | grep IP4
Dans mon cas, <interfacename> être eth0, ce qui est courant, mais pas toujours le cas.
Voyez si c'est ce que vous voulez.
MODIFIER:
Je pense que resolv.conf est en fait utilisé indirectement, car le gestionnaire de réseau crée le serveur qui écoute sur 127.0.0.1, mais on m'a dit que c'est un détail d'implémentation sur lequel il ne faut pas compter. Je pense que si vous entrez des adresses DNS avant cette entrée, elles pourraient être utilisées, mais je ne sais pas exactement comment cela fonctionne. Je pense qu'il est préférable d'utiliser le gestionnaire de réseau dans la plupart des cas, lorsque cela est possible.
Les deux réponses les mieux notées, nmcli dev list iface <interfacename> | grep IP4 et nm-tool les deux supposent que le gestionnaire de réseau est en contrôle. Ce qui est le cas - sur les machines de bureau la plupart du temps au moins. Mais la réponse la plus complète est que parfois le gestionnaire de réseau n'est pas en contrôle. E. g. vpnc mess avec /etc/resolv.conf directement.
Donc: Vérifiez d'abord si 127.0.0.1 / localhost est utilisé. Cela pourrait être fait avec dig:
Ici, dig est correct et nm-toolles informations sont trompeuses. En réalité, les adresses locales à l'environnement dans lequel j'ai VPN-ed sont résolues correctement. Tous les DNS de Google 8.8.8.8ne le fait pas au courant.
En effet, après la connexion à un VPN avec vpnc, il met une ligne dedans /etc/resolv.conf donc, il ressemble à:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 1.2.3.4nameserver 127.0.0.1search MyDomain
cat /etc/resolv.conf devrait montrer vos serveurs DNS.
Vous ne pouvez pas modifier le resolv.conf directement avec Ubuntu 12.04. Si vous devez les modifier, vous pouvez ajouter de nouveaux serveurs DNS dans votre /etc/network/interfaces fichier en ajoutant ce qui suit:
dns-nameservers x.x.x.x x.x.x.x
où x est les serveurs DNS que vous souhaitez utiliser.
Si j'étais toi, je désinstallerais network-manager. À mon avis, c'est un tas de merde.
Vous pouvez accomplir tout ce que vous devez faire manuellement sans vous soucier de modifier vos paramètres, surtout si vous avez plusieurs cartes réseau sur l'ordinateur.
Incroyable combien de façons il y a de le faire. Sur un serveur Ubuntu 18.04, si vous ne voulez rien installer de plus comme nm-tool, puis systemd-resolve --status fonctionnera immédiatement pour les informations DNS.
Si vous souhaitez obtenir non seulement vos serveurs DNS, mais également la passerelle par défaut, l'adresse IP, le masque de réseau, etc., alors netplan ip leases eth0 vous donnera toutes ces informations sous une forme facile à lire (en supposant que vous êtes intéressé par le eth0 interface).
systemd-resolve --status | grep -B 9 -A 6 "Current DNS Server"
cela m'a donné un résultat clair sur le DNS utilisé pour chaque adaptateur utilisant DNS.
Pour reconfigurer le DNS
man systemd-resolved
révèle que les serveurs DNS contactés sont déterminés par des paramètres globaux dans /etc/systemd/resolved.conf.
Sudo édite ce fichier et décommente et définit DNS= et FallbackDNS= aux serveurs DNS IPv4 que vous souhaitez.Exemple, DNS=8.8.8.8 et FallbackDNS=8.8.4.4 utiliserait DNS public de Google.Redémarrez l'ordinateur pour appliquer la modification.
@ PLA, merci pour cela réponse ce qui m'a conduit sur ce chemin.