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

196

Existe-t-il une commande pour répertorier 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 répertorie aucun serveur, si je vais dans "Outil d’interface graphique de Network Manager", 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?

J'utilise Ubuntu 12.04 LTS

    
posée Anurag Uniyal 18.06.2012 - 16:36
la source

7 réponses

196

resolv.conf n'est plus vraiment utilisé, à moins que vous ne l'implémentiez vous-même. Le gestionnaire de réseau le fait maintenant. J'ai créé un alias pour répertorier les serveurs DNS sur mon système, car je passe parfois d'OpenDNS au DNS ouvert de Google.

Ubuntu & gt; = 15

nmcli device show <interfacename> | grep IP4.DNS

Ubuntu & lt; = 14

nmcli dev list iface <interfacename> | grep IP4

Dans mon cas, <interfacename> est eth0 , ce qui est courant, mais pas toujours.

Voir si c'est ce que vous voulez.

EDIT:

Je pense que resolv.conf est utilisé de manière indirecte, car le gestionnaire de réseau crée le serveur qui écoute sur 127.0.0.1, mais on m'a dit qu'il ne s'agissait pas d'un détail d'implémentation. 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.

    
réponse donnée Marty Fried 18.06.2012 - 17:20
la source
82

Ceci est valable pour Ubuntu 13.10 et les versions antérieures. Pour Ubuntu 14.04 et supérieur, consultez la réponse de Koala Yeung à: Comment savoir ce que j'utilise dans Ubuntu à partir de 14.04

Utiliser

nm-tool

Vous obtiendrez une sortie similaire à

NetworkManager Tool

State: connected (global)

- Device: eth0  [Wired connection 1] -------------------------------------------
  Type:              Wired
  Driver:            e1000e
  State:             connected
  Default:           yes
  HW Address:        00:11:22:33:44:55

  Capabilities:
    Carrier Detect:  yes
    Speed:           1000 Mb/s

  Wired Properties
    Carrier:         on

  IPv4 Settings:
    Address:         10.21.6.13
    Prefix:          24 (255.255.255.0)
    Gateway:         10.21.6.1

    DNS:             10.22.5.133
    DNS:             10.22.5.3

Ou simplement voir le DNS faire

nm-tool | grep DNS
    
réponse donnée tgm4883 18.06.2012 - 17:22
la source
31

Les deux réponses les mieux notées, nmcli dev list iface <interfacename> | grep IP4 et nm-tool supposent toutes deux que le gestionnaire de réseau est en contrôle. Ce qu'il est - sur les ordinateurs de bureau la plupart du temps au moins. Mais la réponse plus complète est que parfois le gestionnaire de réseau n’a pas le contrôle. Par exemple. vpnc gâche directement avec /etc/resolv.conf .

Donc: vérifiez d'abord si 127.0.0.1/localhost est utilisé. Cela pourrait être fait avec dig :

> dig something.unknown  | grep SERVER:
;; SERVER: 127.0.0.1#53(127.0.0.1)

Maintenant, vous savez que nous sommes en utilisant localhost. Allez-y avec l'une des réponses les plus populaires. J'aime:

> nm-tool | grep DNS:
    DNS:             8.8.8.8

Si 127.0.0.1/localhost est non utilisé, alors les résultats de nm-tool et nmcli seront trompeurs:

> dig something.unknown  | grep SERVER:
;; SERVER: 172.22.216.251#53(172.22.216.251)
> nm-tool | grep DNS:
    DNS:             8.8.8.8

Ici, dig est correct et les informations de nm-tool sont trompeuses. En réalité, les adresses locales à l'environnement dans lesquelles je suis connecté en VPN sont résolues correctement. Tout ce que Google DNS 8.8.8.8 ne connaît pas .

En effet, après la connexion à un VPN avec vpnc , il place une ligne dans /etc/resolv.conf , de sorte qu'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 OVERWRITTEN
nameserver 1.2.3.4
nameserver 127.0.0.1
search MyDomain
    
réponse donnée Peter V. Mørch 28.05.2015 - 21:19
la source
28

cat /etc/resolv.conf devrait afficher 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 ordinateur. /etc/network/interfaces fichier en ajoutant les éléments suivants:

 dns-nameservers x.x.x.x x.x.x.x

x correspond aux serveurs DNS que vous souhaitez utiliser.

Si j'étais vous, 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, en particulier si plusieurs ordinateurs sont installés sur votre ordinateur.

    
réponse donnée ssc 03.05.2013 - 17:27
la source
8

nmcli version 0.9.10

Vous pouvez utiliser l'une 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
    
réponse donnée iman 19.08.2015 - 12:03
la source
2

Dans Ubuntu 15.10, vous pouvez obtenir le DNS

nmcli device show <interface name> 
    
réponse donnée Suleman 02.03.2016 - 19:09
la source
0

Semble être géré par le gestionnaire de réseau. Jetez un coup d’œil ici lien

pour une grande explication.

Ou la version courte à regarder dans

 /etc/NetworkManager/NetworkManager.conf

ou

 <SYSCONFDIR>/NetworkManager/NetworkManager.conf
    
réponse donnée mbs 18.06.2012 - 16:46
la source

Lire d'autres questions sur les étiquettes