Frage Befehlszeile zum Auflisten der DNS-Server, die von meinem System verwendet werden


Gibt es einen Befehl, um DNS-Server aufzulisten, die von meinem System verwendet werden?

Ich habe es versucht

$ 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

Aber es listet keine Server auf, wenn ich zu "Network Manager GUI Tool" gehe, listet es im Wireless-Bereich "DNS 192.168.1.1 8.8.8.8 8.8.4.4" auf

Kann ich dieselben Informationen von der Befehlszeile abrufen?

Ich benutze Ubuntu 12.04 LTS


198
2018-06-18 14:36


Ursprung


Was versuchst du zu finden? die DNS-Server, die von Ihrem System verwendet werden? oder versuchen Sie eine DNS-Suche durchzuführen? - Thomas Ward♦
Die ehemalige @LordofTime - ish
@LordofTime DNS-Server, die von meinem System verwendet werden - Anurag Uniyal
Sie verwenden 127.0.0.1. bist du Laufen ein DNS-Server? - Skaperen
Sehen unix.stackexchange.com/q/28941/38647 für eine Nicht-Ubuntu-Version dieser Frage - mwfearnley


Antworten:


resolv.conf wird nicht mehr verwendet, es sei denn, Sie implementieren es selbst. Der Netzwerkmanager macht es jetzt. Ich habe einen Alias ​​erstellt, um die DNS-Server auf meinem System aufzulisten, da ich manchmal von OpenDNS zu Googles offenem DNS wechsel.

Ubuntu> = 15

nmcli device show <interfacename> | grep IP4.DNS

Ubuntu <= 14

nmcli dev list iface <interfacename> | grep IP4

In meinem Fall, <interfacename> ist eth0, das ist üblich, aber nicht immer der Fall.

Sehen Sie, ob dies das ist, was Sie wollen.

BEARBEITEN:

Ich denke, resolv.conf wird tatsächlich indirekt verwendet, weil der Netzwerk-Manager den Server erstellt, der auf 127.0.0.1 hört, aber mir wurde gesagt, dass dies ein Implementierungsdetail ist, auf das nicht gezählt werden sollte. Ich denke, wenn Sie vor diesem Eintrag DNS-Adressen eingeben, können sie sich vielleicht daran gewöhnen, aber ich bin mir nicht sicher, wie das genau funktioniert. Ich denke, es ist am besten, wenn möglich, den Netzwerkmanager in den meisten Fällen zu verwenden.


198
2018-06-18 15:20



Danke, ja das scheint zu funktionieren, Ubuntu-Networking scheint verwirrend zu sein, also kann ich DNS-Server in resolve.conf / base oder in / etc / network / interfaces oder im Netzwerk-Manager setzen, gibt es eine definitive Anleitung für ubuntu-networking? - Anurag Uniyal
Wenn Sie die grafische Benutzeroberfläche verwenden, sollten Sie sie am besten über das Dialogfeld "Netzwerkverbindungen" erstellen. Ich habe den Standardwert dupliziert und dann das Duplikat bearbeitet, um die gewünschten Änderungen vorzunehmen. Dabei wurde der Standardwert beibehalten, um sicherzustellen, dass ich immer ein funktionierendes Profil hatte. Dann ist es einfach, Profile zu wechseln. Ich weiß nicht, wie ich das ohne GUI machen kann, aber es gibt einen Benutzer namens "James Henstridge", der sich sehr gut mit Ubuntus Netzwerken auskennt; Sie könnten versuchen, Askubuntu für seine Informationen zu suchen. Er hat mir von dem Befehl erzählt, den ich dir gegeben habe dieser Beitrag. - Marty Fried
stgraber.org/2012/02/24/dns-in-ubuntu-12-04 ist ein schöner Artikel über DNS Auflösung in Ubuntu 12.04 - Anurag Uniyal
Netter Link - viele gute Informationen dort zu verdauen. - Marty Fried
Ich benutze 15.04 und 'nmcli dev show | grep DNS' funktioniert stattdessen für mich. - flickerfly


Dies gilt für Ubuntu 13.10 und früher. Für Ubuntu 14.04 und höher, siehe Koala Yeungs Antwort auf: Wie kann ich wissen, welche DNS ich ab 14.04 in Ubuntu verwende?


Benutzen

nm-tool

Sie werden eine ähnliche Ausgabe erhalten

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

Oder um nur das DNS zu sehen

nm-tool | grep DNS

82
2018-06-18 15:22



wollte nur summieren, gehen nm-applet's Verbindungsinformationen Menü wird auch funktionieren :) - Samik
+1 das funktioniert auch, wie nm-cli wie von @Marty Fried beantwortet - Anurag Uniyal
Ja, die gleichen Informationen, aber nmcli ist einfacher zu analysieren, wenn Sie es für eine andere Präsentation extrahieren möchten, wie zum Beispiel conky oder einfach eine Zusammenfassung wie meine Grep. - Marty Fried
funktioniert auch auf Lubuntu 14.04. Vielen Dank - jamescampbell
nm-tool wurde am 15.10 nicht gefunden - labyrinth


Die zwei Top-Scoring-Antworten, nmcli dev list iface <interfacename> | grep IP4 und nm-tool beide gehen davon aus, dass der Netzwerk-Manager die Kontrolle hat. Was es ist - zumindest meistens auf Desktop-Rechnern. Aber die vollere Antwort ist, dass manchmal Netzwerk-Manager nicht die Kontrolle hat. Z.B. vpnc verwirrt mit /etc/resolv.conf direkt.

Also: Überprüfen Sie zuerst, ob 127.0.0.1/localhost verwendet wird. Dies könnte mit erledigt werden dig:

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

Jetzt weißt du das wir sind Verwenden von localhost. Fahren Sie mit einer der beliebtesten Antworten fort. Ich mag:

> nm-tool | grep DNS:
    DNS:             8.8.8.8

Aber wenn 127.0.0.1/localhost ist nicht dann benutzt nm-toolund nmcliDie Ausgabe wird irreführend sein:

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

Hier, dig ist richtig und nm-toolDie Information ist irreführend. In der Realität werden Adressen, die lokal für die Umgebung sind, in die ich VPN-Adressen eingegeben habe, korrekt aufgelöst. All das DNS von Google 8.8.8.8  nicht wissen über.

Dies liegt daran, dass nach dem Verbinden mit einem VPN mit vpnc, es bringt eine Zeile rein /etc/resolv.conf So sieht es aus:

# 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

32
2018-05-28 19:19



Dies ist die vollständigste Antwort - Marinos An
Vielen Dank. Einige von uns hier draußen benutzen NM nicht und das ist gut für die Gemeinschaft. - Stephen Boston


cat /etc/resolv.conf sollte Ihre DNS-Server zeigen.

Sie dürfen das nicht ändern resolv.conf direkt mit Ubuntu 12.04. Wenn Sie sie jedoch ändern müssen, können Sie neue DNS-Server in Ihrem hinzufügen /etc/network/interfaces Datei, indem Sie Folgendes hinzufügen:

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

woher x sind die DNS-Server, die Sie verwenden möchten.

Wenn ich du wäre, würde ich deinstallieren network-manager. Meiner Meinung nach ist es ein Haufen Mist.

Sie können alles manuell ausführen, ohne sich Gedanken über das Ändern Ihrer Einstellungen zu machen, besonders wenn Sie mehrere NICs auf dem Computer haben.


29
2018-05-03 15:27



Muss ich nm neu starten, nachdem sich die DNS geändert hat? - Bhargav Nanekalva
--Vielen Dank. Das ist toll. Es funktioniert auch ohne dieses Netzwerk-Manager-Geschäft. - Adam
"cat /etc/resolv.conf sollte Ihre DNS-Server anzeigen". Es tut es nicht. - Marinos An


nmcli Version 0.9.10

Sie können einen der folgenden Befehle verwenden:

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

8
2017-08-19 10:03





In Ubuntu 15.10 können Sie DNS bekommen

nmcli device show <interface name> 

2
2018-03-02 18:09





Scheint vom Netzwerkmanager verwaltet zu werden. Schau mal hier http://manpages.ubuntu.com/manpages/precise/man5/NetworkManager.conf.5.html

für eine große Erklärung.

Oder die kurze Version, in die man schauen muss

 /etc/NetworkManager/NetworkManager.conf

oder

 <SYSCONFDIR>/NetworkManager/NetworkManager.conf

0
2018-06-18 14:46



aber /etc/NetworkManager/NetworkManager.conf hat keine DNS-Server darin aufgeführt - Anurag Uniyal