Wie kann ich die von DHCP zugewiesene DNS-Adresse anzeigen?

33

Wie kann ich die von DHCP zugewiesene DNS-Adresse anzeigen?

ifconfig kann es nicht anzeigen.

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 90:e6:ba:22:6a:f2  
          inet addr:192.168.1.111  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::92e6:baff:fe22:6af2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:224856 errors:0 dropped:0 overruns:0 frame:0
          TX packets:220040 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:166848627 (166.8 MB)  TX bytes:20256333 (20.2 MB)
          Interrupt:46 Base address:0x4000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5889 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5889 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:468885 (468.8 KB)  TX bytes:468885 (468.8 KB)

wlan0     Link encap:Ethernet  HWaddr 00:26:5e:e8:4f:8e  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Victor S
quelle
Was wird zurückgegeben von: ifconfig | grep 'inet addr:' ?
David6
@ david6 inet addr: 192.168.1.111 Bcast: 192.168.1.255 Mask: 255.255.255.0 inet addr: 127.0.0.1 Mask: 255.0.0.0
Victor S
Dies sollte Ihnen helfencat /var/lib/dhcp3/dhclient.leases | grep dhcp-server-identifier
devav2
@ devav2 $ cat /var/lib/dhcp/dhclient-529bed02-363e-4e97-bd5d-9f63f42f17f2-eth0.lease | grep DHCP-Server-ID Option DHCP-Server-ID 192.168.1.1; Option DHCP-Server-ID 192.168.1.1; Option DHCP-Server-ID 192.168.1.1; Option DHCP-Server-ID 192.168.1.1; Option DHCP-Server-ID 192.168.1.1;
Victor S
1
Was verlangen Sie? Der DHCP-Dienst weist eine IP-Adresse aus einem Pool (oder Bereich) zu. Ein DNS-Server gibt IP-Adressen für einen Hostnamen, eine Domäne oder eine Mailbox (MX-Record) zurück. IhreAusgabe von ifconfig sieht normal aus.
david6

Antworten:

40

Für mindestens Ubuntu 15.10 (möglicherweise auch frühere Versionen) laufen in einem Terminal:

nmcli dev show eth0 | grep IP4

eth0die häufigste iface ist, aber es könnte sein eth1, eth2usw.

Für ältere Versionen verwenden nmcli dev list iface eth0 | grep IP4.

Marty Fried
quelle
1
Geniale Antwort! Schätzen Sie Ihr Teilen! Ich habe es verstanden.
Victor S
Ich bin froh, dass es geholfen hat. Ich habe es gefunden, als ich eine Möglichkeit gesucht habe, diese Informationen abzurufen und sie dann bei Bedarf anzuzeigen, da ich drei verschiedene mögliche DNS-Server hatte (ISP, Google und OpenDNS).
Marty Fried
7
Ab dem 15.04. nmcli dev show
Lautet
3
Mit nmcli dev show eth0(wie am 15.04) funktioniert es auch auf Debian Buster. Vielen Dank!
Luc
1
@YandryPozo Gesendet eine Antwort, wie angefordert :)
Sergiy Kolodyazhnyy
13
$ nm-tool 

listet auch DNS-Server auf.

dixoncx
quelle
1
+1, da dies getestet wurde und bis zum Release 14.04 funktioniert. Verwenden Sie für 15.04 und neuere nmcliVersionen stattdessen die in der anderen Antwort vorgeschlagene Version .
Clearkimura
7

Um die DNS-Adresse zu erhalten, öffnen Sie das Terminal ( Ctrl+ Alt+ T) und geben Sie Folgendes ein:

cat /var/lib/dhcp/dhclient.leases | grep dhcp-server-identifier
devav2
quelle
2
In der Datei /var/lib/dhcp/dhclient.leases ist nichts enthalten, sie ist leer.
Victor S
$ file /var/lib/dhcp/dhclient.leases /var/lib/dhcp/dhclient.leases: leer
Victor S
try /var/lib/dhcp/dhclient.eth0.leases
frag
Das ist eine nutzlose Verwendung voncat . Du meinst wahrscheinlich grep domain-name-servers /var/lib/dhcp/dhclient.leases( domain-name, nein dhcp-server).
Pablo A
6

hier ist es:

cat /etc/resolv.conf

Bearbeiten Sie diese Datei jedoch nicht

Iulian Pojar
quelle
In den neuesten Ubuntu-Versionen (nach 2012, glaube ich) wird es nicht nützlich sein, da es nameserver 127.0.1.1lokale Host-DNSMASQ-Installationen enthalten wird. Es ist besser, den NetworkManager abzufragen, wie er von @ anwar-shah und @ marty-fried
gerlos am
Wie Sie bereits erwähnt haben, kann diese Datei bearbeitet werden und muss daher nicht unbedingt die von DHCP zugewiesene Adresse sein. Wenn Sie es dann selbst bearbeiten, wird es natürlich anders sein - aber was ist, wenn Sie ein Firmen-VPN verwenden? Oder beeinflusst noch etwas die Datei? Deshalb denke ich, dass es keine gute Antwort ist, auch wenn es einfach und universell ist. Es ist ein guter erster Ort, um nachzuschauen, aber keine wahre Antwort für sich.
Luc
3

Versuchen Sie dies als GUI-Alternative zu @ MartyFrieds Antwort.

  1. Klicken Sie im oberen Bereich auf das Symbol Netzwerkverbindung.

  2. Wählen Sie Wi-Fi-Einstellungen

  3. Es sollte Ihnen die DNS-Serveradresse anzeigen

    Bildschirmfoto

Anwar
quelle
4
Mein Ubuntu hat keinen GUI-Desktop.
Victor S
@ VictorS zeigt die gleichen Informationen wie die andere Antwort. Ich habe es überprüft
Anwar
1
Vielen Dank für Ihre Antwort, es ist praktisch für Gnome- oder KDE-Benutzer.
Victor S
2

In Ubuntu 16.04 ist die Information von dhcp geschrieben in: /var/lib/NetworkManager/dhclient-<interface>.conf

Anton Krosnev
quelle
2

Wie ich in den Kommentaren erwähnt habe (die auf vielfachen Wunsch mittlerweile eine Antwort geworden sind), kann man nmcli dev showab Ubuntu 15.04 verwenden. In grepder Mischung und Sie sind gesetzt:

$ nmcli dev show | grep 'DNS'                                                                                                                                                                     
IP4.DNS[1]:                  208.67.222.222
IP4.DNS[2]:                  208.67.220.220
Sergiy Kolodyazhnyy
quelle
2

Nun, da Ubuntu (und Debian und fast alle Distributionen) systemd verwenden (sehen Sie nach file /sbin/init), ist der elegantere Weg, diese Informationen zu erhalten, vielleicht mit:

systemd-resolve --status
  • freedesktop.org docs
  • Arch Wiki : Verwenden Sie, systemd-resolve --statuswo es heißt resolvectl.
  • Wenn Sie Probleme mit dem DNS-Subsystem haben, empfehle ich, das resolvconfPaket zu entfernen . Kann Konflikte mit systemd-resolve.
Pablo A
quelle
1
Die perfekte Antwort für Systeme, auf denen NetworkManager nicht ausgeführt wird. Ubuntu 18.04, Ubuntu 19.10
Ryan Jeremiah Freeman
Es funktioniert auch auf Raspbian
Uhr
2

Meine aktuelle Lösung (est 2015, Ubuntu 14.04) lautet:

  1. Starten Sie die CLI
  2. Art: sudo apt-get install gnome-system-tools
  3. Nach erfolgreicher Installation geben Sie am Terminal Folgendes ein: network-admin

Wenn Sie das irgendwie nicht können, probieren Sie es aus, obwohl es nicht gut genug für mich ist, aber es hat meine Arbeit erledigt:

  1. Art dig google.com
  2. Gegen Ende kann man so etwas sehen (est. 2015) ;; SERVER: und dann eine IP-Adresse (zumindest auf meinem Computer), die der tatsächliche DNS-Server ist, der die Domain für Sie auflöst. Dieser Server kann sich jedoch pro Hostname ändern.
AltCtrl
quelle
0

Wenn Ihr Computer hinter dem Router / WiFi Ihres Internetproviders ausgeführt wird , erhalten Sie vom DHCP des Routers eine private IP-Adresse , etwa 192.168.0.2 oder 192.168.1.100.

Um die öffentliche IP-Adresse von DHCP oder DNS von Ihrem Internetanbieter zu erhalten , müssen Sie die folgende Befehlszeile auf dem Terminal ausführen:

dig +short myip.opendns.com @resolver1.opendns.com
Fernando Santucci
quelle