Antworten:
Sie sollten in der Lage sein, einige vernünftige Informationen zu erhalten in:
$ cat /etc/resolv.conf
127.0.0.53
So mache ich es:
nmcli dev show | grep DNS
Dies funktionierte vor dem obigen Weg:
nm-tool | grep DNS
/etc/resolv.conf
werden auf Ihren Computer verweisen und die dnsmasq
Namen wie von NetworkManager konfiguriert auflösen .
network-manager
Paket erforderlich .
Ich denke, Sie können auch DNS abfragen und es wird Ihnen zeigen, welcher Server das Ergebnis zurückgegeben hat. Versuche dies:
dig yourserver.somedomain.xyz
Und die Antwort sollte Ihnen sagen, welche Server das Ergebnis zurückgegeben haben. Die Ausgabe, an der Sie interessiert sind, sieht ungefähr so aus:
;; Query time: 91 msec
;; SERVER: 172.xxx.xxx.xxx#53(172.xxx.xxx.xxx)
;; WHEN: Tue Apr 02 09:03:41 EDT 2019
;; MSG SIZE rcvd: 207
Sie können auch dig
mithilfe von festlegen, dass ein bestimmter DNS-Server abgefragt werden solldig @server_ip
dnsutils
Paket erforderlich .
SERVER: 127.0.0.53#53(127.0.0.53)
Tun Sie einfach ein, nslookup
. Zu den Ergebnissen gehört auch der verwendete Server.
Im folgenden Beispiel wird angezeigt, dass der verwendete DNS-Server 8.8.8.8 ist.
$ nslookup google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 172.217.22.174
$ nslookup www.google.com
dnsutils
Paket erforderlich .
nslookup google.com
auf dem Windows-Host gemacht und den Nameserver gefunden. Fügen Sie es /etc/resolv.conf
wie folgt hinzu : nameserver xx.xx.xx.xx
und starten Sie den Dienst neu network
, und alles ist in Ordnung. Segne dich.
Auf Systemen mit systemd use:
systemd-resolve --status
Führen Sie mit dem neuen network-manager
Befehl nmcli
Folgendes aus:
nmcli --fields ipv4.dns,ipv6.dns con show <connection_name>
In neueren Versionen von Network-Manager (wie in Ubuntu 16.04) unterscheiden sich die Feldnamen geringfügig:
nmcli --fields ip4.dns,ip6.dns con show <connection_name>
Wenn Sie den Verbindungsnamen nicht kennen, verwenden Sie:
nmcli -t --fields NAME con show --active
Zum Beispiel:
$ nmcli --fields ip4.dns,ip6.dns con show 'Wired connection 1'
IP4.DNS[1]: 172.21.0.13
IP4.DNS[2]: 172.21.0.4
order «con» «show» is not valid
.
Error: invalid field 'ip4.dns'; allowed fields: NAME,UUID,TYPE,TIMESTAMP,TIMESTAMP-REAL,AUTOCONNECT,AUTOCONNECT-PRIORITY,READONLY,DBUS-PATH,ACTIVE,DEVICE,STATE,ACTIVE-PATH.
nmcli
Am Ubuntu 19.04
So rufen Sie den ersten DNS-SERVER ab (nur IP):
cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2
cat
Gibt die DNS-Konfiguration ausgrep
filtert nur Nameserverhead
behält nur die erste Zeile / Instanz beicut
nimm den ip Teil der Zeile (zweite Spalte mit '' als Trennzeichen)Um die DNS-IP-Adresse in eine Umgebungsvariable einzufügen, können Sie Folgendes verwenden:
export THEDNSSERVER=$(cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2)
grep -m 1
head
grep -Pom 1 '^nameserver \K\S+' /etc/resolv.conf
. Gerade geschrieben Capture-Gruppen mit Grep Perl regulären Ausdruck
Wenn Sie Network Manager verwenden, erhalten Sie wahrscheinlich alle Netzwerkparameter von Ihrem DHCP-Server an Ihrer Universität.
Wenn Sie Ihre DNS-Einstellungen nicht mit Ihrer Shell überprüfen möchten (wie von hesse und Alexios beschrieben), können Sie sie im Bereich "Netzwerkinformationen" anzeigen.
Sie können dieses Fenster erreichen, indem Sie die rechte Maustaste auf das Netzwerkmanagersymbol drücken und "Verbindungsinformationen" aus dem Menü auswählen.
resolvectl
$ resolvectl status | grep -1 'DNS Server'
DNSSEC supported: no
Current DNS Server: 1.1.1.1
DNS Servers: 1.1.1.1
1.0.0.1
Aus Kompatibilitätsgründen systemd-resolve
ist ein symbolischer Link zu resolvectl
vielen Distributionen wie bei Ubuntu 18.10:
$ type -a systemd-resolve
systemd-resolve is /usr/bin/systemd-resolve
$ ll /usr/bin/systemd-resolve
lrwxrwxrwx 1 root root 10 nov. 15 21:42 /usr/bin/systemd-resolve -> resolvectl
$ type -a resolvectl
resolvectl is /usr/bin/resolvectl
$ file /usr/bin/resolvectl
/usr/bin/resolvectl: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=09e488e849e3b988dd2ac93b024bbba18bb71814, stripped
Der Befehl
nmcli dev list iface <interfacename> | grep IP4
Ersetzen Sie "Schnittstellenname" durch Ihren.
Beispiel
nmcli dev list iface eth0 | grep IP4
Dies listet alle DNS-Server auf (wenn Sie mehr als einen verwenden).
nmcli dev list iface [devicename]
ist der richtige Befehl
Ich habe Fedora 25 und hatte auch eine ähnlich langsame Reaktion auf sudo-Befehle in der Befehlszeile.
nmcli dev show | grep DNS
zeigte, dass nur einer meiner 3 Adapter (zwei aktiv) DNS-Einträge hatte. Durch Hinzufügen von DNS-Einträgen zu einer aktiven Karte, die keinen Eintrag hatte - presto! Alles ist gut und die Reaktionszeit ist sofort.
In CentOS können Sie Folgendes verwenden:
/usr/sbin/named -v
Sobald Sie denken, dass Sie Ihre DNS gefunden haben, können Sie sie direkt mit dig: abfragen dig @<dns ip> <host to lookup>
. Wenn es funktioniert, sollten Sie es nach SERVER
mit einem Status von sehen NOERROR
.
/etc/nsswitch.conf
welche Namensdienste (DNS, LDAP usw.) in welcher Reihenfolge verwendet werden. Sprichfgrep hosts: /etc/nsswitch.conf
. Wenn es nur auf DNS verweist,/etc/resolv.conf
ist es der richtige Ort, um nach Ihren Nameservern zu suchen. Aber es besteht die Möglichkeit, dass Sie auch mDNS (auch bekannt als ZeroConf, Avahi, Bonjour usw.) verwenden. In diesem Fall hängt es davon ab, was Sie verwenden.