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.confwerden auf Ihren Computer verweisen und die dnsmasqNamen wie von NetworkManager konfiguriert auflösen .
network-managerPaket 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 digmithilfe von festlegen, dass ein bestimmter DNS-Server abgefragt werden solldig @server_ip
dnsutilsPaket 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
dnsutilsPaket erforderlich .
nslookup google.comauf dem Windows-Host gemacht und den Nameserver gefunden. Fügen Sie es /etc/resolv.confwie folgt hinzu : nameserver xx.xx.xx.xxund 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-managerBefehl nmcliFolgendes 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.
nmcliAm 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 1head
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-resolveist ein symbolischer Link zu resolvectlvielen 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 SERVERmit einem Status von sehen NOERROR.
/etc/nsswitch.confwelche Namensdienste (DNS, LDAP usw.) in welcher Reihenfolge verwendet werden. Sprichfgrep hosts: /etc/nsswitch.conf. Wenn es nur auf DNS verweist,/etc/resolv.confist 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.