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

254

Existe-t-il une commande permettant de 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 clique sur "Outil d'interface graphique Network Manager", la section "Sans fil" répertorie "DNS 192.168.1.1 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

Anurag Uniyal
la source
Qu'essayez-vous de trouver? les serveurs DNS utilisés par votre système? ou essayez-vous de faire une recherche DNS?
Thomas Ward
L'ancien @LordofTime
ish
@LordofTime serveurs DNS utilisés par mon système
Anurag Uniyal
vous utilisez 127.0.0.1. utilisez- vous un serveur DNS?
Skaperen
Voir unix.stackexchange.com/q/28941/38647 pour une version non Ubuntu de cette question
mwfearnley le

Réponses:

250

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 de mon système, car je passe parfois d'OpenDNS au DNS ouvert de Google.

Ubuntu> = 15

nmcli device show <interfacename> | grep IP4.DNS

Ubuntu <= 14

nmcli dev list iface <interfacename> | grep IP4

Dans mon cas, <interfacename>c’est eth0ce qui est commun, 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 127.0.0.1, mais on m'a dit qu'il s'agit d'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 risquent de s'habituer, 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.

Marty Fried
la source
2
merci, oui, cela semble fonctionner, la mise en réseau ubuntu semble prêter à confusion, je peux donc configurer les serveurs DNS dans le fichier resol.conf / base, dans / etc / network / interfaces ou dans le gestionnaire de réseau. Existe-t-il un guide définitif pour la mise en réseau Ubuntu?
Anurag Uniyal
Si vous utilisez l'interface graphique, le meilleur endroit pour la définir consiste à créer des profils dans la boîte de dialogue Connexions réseau. J'ai dupliqué la valeur par défaut, puis modifié la copie pour apporter les modifications souhaitées, en conservant la valeur par défaut pour m'assurer que mon profil fonctionnait toujours. Ensuite, il est facile de changer de profil. Je ne sais pas comment faire cela sans l'interface graphique, mais il y a un utilisateur "James Henstridge" qui connaît très bien la mise en réseau d'Ubuntu; vous pouvez essayer de rechercher askubuntu pour ses informations. Il m'a parlé de la commande que je vous ai donnée dans ce post .
Marty Fried
1
stgraber.org/2012/02/24/dns-in-ubuntu-12-04 est un bel article sur la résolution DNS dans ubuntu 12.04
Anurag Uniyal
6
J'utilise 15.04 et 'nmcli dev show | grep DNS' fonctionne pour moi à la place.
papillotement
1
@vcardillo: la question initiale était la suivante: "J'utilise Ubuntu 12.04 LTS". Cela fait 5 ans que j'ai posté ma réponse. Rien ne dure éternellement.
Marty Fried
85

Ceci est valable pour Ubuntu 13.10 et les versions antérieures. Pour Ubuntu 14.04 et les versions ultérieures, reportez -vous à la réponse de Koala Yeung à: Comment connaître le DNS que j'utilise dans Ubuntu à partir de 14.04


Utilisation

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 juste voir le DNS faire

nm-tool | grep DNS
tgm4883
la source
1
je voulais juste ajouter, aller dans nm-appletle menu d'informations de connexion fonctionnera également :)
Samik
1
+1 Cela fonctionne également, de même que nm-cli comme l'a répondu @Marty Fried
Anurag Uniyal le
2
fonctionne aussi bien sur lubuntu 14.04. merci
jamescampbell
2
nm-tool n'a pas été trouvé le 15.10
labyrinthe
1
oui ça ne marche plus ... non nm-toolen 16.x non plus. nmcli(dans la réponse de Marty Fried) est le chemin à parcourir
Lambart
46

Les deux réponses plus haut score, nmcli dev list iface <interfacename> | grep IP4et les nm-tooldeux partent du principe que le réseau gestionnaire est en contrôle. C'est ce qui se passe - du moins sur les ordinateurs de bureau. Mais la réponse plus complète est que parfois, le gestionnaire de réseau n’est pas en contrôle. Par exemple, vpncavec /etc/resolv.confdirectement.

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 utilisons localhost. Allez-y avec l'une des réponses populaires. J'aime:

> nm-tool | grep DNS:
    DNS:             8.8.8.8

Mais si 127.0.0.1/localhost n'est pas utilisé, les résultats de then nm-toolet nmclide 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, digest correct et nm-toolles informations sont trompeuses. En réalité, les adresses locales à l'environnement dans lequel le VPN est édité sont résolues correctement. Le DNS de Google 8.8.8.8 ne le sait pas .

En effet, après la connexion à un réseau VPN avec vpnc, il insère une ligne /etc/resolv.confpour ressembler à ceci:

# 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
Peter V. Mørch
la source
3
C'est la réponse la plus complète
Marinos An
Je vous remercie. Certains d’entre nous ici n’utilisons pas NM et c’est bon pour la communauté.
Stephen Boston
Juste pour terminer, l' digutilitaire peut être facilement installé avec apt install dnsutils.
Daniele Brugnara le
32

cat /etc/resolv.conf devrait montrer vos serveurs DNS.

Vous ne pouvez pas modifier le resolv.confdirectement avec Ubuntu 12.04. Si vous devez cependant les modifier, vous pouvez ajouter de nouveaux serveurs DNS à votre /etc/network/interfacesfichier en ajoutant les éléments suivants:

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

xsont les 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 la modification de vos paramètres, en particulier si vous avez plusieurs cartes réseau sur l'ordinateur.

ssc
la source
2
Dois-je redémarrer nm après avoir modifié le DNS?
Bhargav Nanekalva
1
--Merci. C'est bien. Cela fonctionne même sans cette entreprise de gestion de réseau.
Adam
"cat /etc/resolv.conf devrait afficher vos serveurs DNS". Ce n'est pas.
Marinos Un
25

Dans Ubuntu 18.04, vous pouvez utiliser systemd-resolve --status

PLA
la source
NB si vous chat /etc/resolv.conf, il dit même ceci
Rqomey
11

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
iman
la source
2

Dans Ubuntu 15.10, vous pouvez obtenir le DNS

nmcli device show <interface name> 
Suleman Hasib
la source
0

Semble être géré par le gestionnaire de réseau. Jetez un coup d'œil ici http://manpages.ubuntu.com/manpages/precise/man5/NetworkManager.conf.5.html

pour une grande explication.

Ou la version courte à regarder

 /etc/NetworkManager/NetworkManager.conf

ou

 <SYSCONFDIR>/NetworkManager/NetworkManager.conf
mbs
la source
4
mais /etc/NetworkManager/NetworkManager.confn'a pas de serveurs dns y sont énumérés
Anurag Uniyal