DNS
Einen Kurz-Überblick über die Domain gibt
host example.com
Das Tool der Wahl bei der Untersuchung von DNS-Problemen ist aber Domain Information
Groper - kurz dig
aus dem bind-utils
-Paket.
yum -y install bind-utils
dig @my-dns example.com
# get A- and MX records
dig @my-dns A example.com
dig @my-dns MX example.com
# find the authoritative servers by asking for the NS records for a domain
dig NS example.com
Einen vereinfachten Reverse-Lookup führt man so durch:
dig -x 192.0.2.74
dig -x @my-dns 192.0.2.74
dig -x @my-dns www.example.com
Beispiel für eine Abfrage des A- und MX-Records:
dig @my-dns A example.com | grep --after-context 2 'ANSWER SECTION'
dig @my-dns MX example.com | grep --after-context 2 'ANSWER SECTION'
Verkürzte Ausgabe:
dig +short ...
Lokalen DNS-Cache löschen:
systemctl restart dnsmasq
Troubleshooting
Troubleshooting im DNS-Umfeld bedeutet, eine Kette von Diensten zu untersuchen: angefangen bei lokalen Konfigurationsdateien wie der /etc/hosts
, weiter über den lokalen DNS-Client, hin zu den Caching-DNS, zu den Forwarders, die lokal und beim Provider angesiedelt sein können, bis hinauf zu den Root-DNS.
Beispiel: http://example.com lässt sich nicht auflösen?
Einträge in der
/etc/hosts
untersuchen.Die Name Service Switch-Datei
/etc/nsswitch
legt die Reihenfolge der abzufragenden Namens-Dienste fest; schauen, ob und an welcher Position die Zeile beginnend mit „hosts“ auftaucht, und ob nicht andere DNS-Dienste vorher aufgerufen werden.- Erster Test mit Tools, die sich bei der Namensauflösung auf
nsswitch
stützen:yum -y install syslinux
getent hosts example.com
gethostip example.com
Zweiter Test mit
dig @my-dns A example.com
- treten hier im Vergleich Unterschiede auf, liegt es ziemlich sicher am lokalen System./etc/nsswitch
genauer anschauen.Liefert
dig
einen Timeout, lokale IP-Konfiguration in/etc/sysconfig/network-scripts/ifcfg-...
überprüfen und schauen, welcher DNS resultierend daraus verwendet wird (einsehbar in/etc/resolv.conf
und/etc/sysconfig/network
).Stimmt die IP-Konfiguration des Clients, sollte man die als Forwarders eingetragenen Server auf den Caching-DNS überprüfen.
allow-query / access-control
-Direktiven in der Konfiguration der Nameserver prüfen. Lokale Firewall der DNS-Server prüfen.Blockt die Unternehmens-Firewall, falls die DNS in einem anderen Subnetz stehen? Ist TCP und UDP auf Port 53 freigeschaltet?
Erzwungener Test mit TCP:
dig +tcp A example.com
DNS Return Codes
Das „status“-Feld in der dig
-Ausgabe kennt unter anderem die Stati:
NOERROR: alles bestens, sofern die IP-Adresse zum Namen passt
SERVFAIL: Fehler auf dem Nameserver
NXDOMAIN: Name existiert nicht in der Zone
REFUSED: DNS-Request wurde abgewiesen
Built on 2024-11-18