352 votes

Ligne de commande pour lister les serveurs DNS utilisés par mon système

Existe-t-il une commande permettant de lister les serveurs DNS utilisés par mon système ?

J'ai essayé

$ 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 OVERWRITTEN
nameserver 127.0.0.1
$ cat /etc/network/interfaces 
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

Mais il ne liste aucun serveur, si je vais dans "Network Manager GUI Tool", dans la section Wireless, il liste "DNS 192.168.1.1 8.8.8.8 8.8.8.8.4.4".

Puis-je obtenir les mêmes informations en ligne de commande ?

J'utilise Ubuntu 12.04 LTS.

12voto

skabob11 Points 608

Nmcli version 0.9.10

Vous pouvez utiliser l'une ou l'autre de ces commandes :

nmcli -t -f IP4.DNS device show eth0
IP4.DNS[1]:192.168.1.1
IP4.DNS[2]:8.8.8.8

nmcli -t -f IP4.DNS connection show conn-name
IP4.DNS[1]:192.168.1.1
IP4.DNS[2]:8.8.8.8

3voto

Phil Points 281

C'est incroyable le nombre de façons de le faire. Sur un serveur Ubuntu 18.04, si vous ne voulez pas installer quelque chose d'extra comme nm-tool entonces systemd-resolve --status fonctionnera d'emblée pour les informations DNS.

Si vous souhaitez obtenir non seulement vos serveurs DNS, mais aussi la passerelle par défaut, l'adresse IP, le masque de réseau, etc. netplan ip leases eth0 vous donnera toutes ces informations sous une forme facile à lire (en supposant que vous vous intéressez à la eth0 interface).

2voto

Mouk Points 954

Dans Ubuntu 15.10 vous pouvez obtenir le DNS

nmcli device show <interface name>

2voto

SpeedCoder5 Points 185

Sur Ubuntu 20.04

systemd-resolve --status | grep -B 9 -A 6 "Current DNS Server"

m'a donné un résultat clair quant au DNS utilisé pour chaque adaptateur utilisant le DNS.

Pour reconfigurer le DNS

man systemd-resolved

révèle que les serveurs DNS contactés sont déterminés par les paramètres globaux de l'option /etc/systemd/resolved.conf .

Sudo, éditez ce fichier, décommentez et mettez en place DNS= y FallbackDNS= aux serveurs DNS IPv4 que vous voulez. Par exemple, DNS=8.8.8.8 y FallbackDNS=8.8.4.4 utiliserait Google Public DNS . Redémarrez la machine pour appliquer la modification.

@PLA, merci pour cela réponse qui m'a conduit sur ce chemin.

1voto

pavid Points 849

Sur les systèmes où systemd-resolved n'est PAS installé :

$ host -v something.unknown | awk -F "[ #]" '/Received /{print$5}' | uniq
192.168.1.1

Sur les systèmes où NetworkManager est en cours :

$ ( nmcli -f IP4.DNS,IP6.DNS dev list || nmcli -f IP4.DNS,IP6.DNS dev show ) 2>/dev/null | awk '/DNS/{print$NF}'
192.168.1.1

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