Das Reverse-DNS funktioniert nicht

7

Ich hatte Probleme damit, Reverse DNS mit nslookup unter Ubuntu 12.04 zum Laufen zu bringen. Hier ist die Ausgabe des Befehls nslookup und der Inhalt der verschiedenen netzwerkbezogenen Konfigurationsdateien.

Was könnte der mögliche Grund dafür sein, dass das nslookup nicht funktioniert? Warum benötige ich eine Internetverbindung, um eine Reverse-Lookup-Funktion für einen Eintrag in der /etc/hostsDatei zu erhalten?

training@guest1:/etc/network$ nslookup 192.168.1.101
Server:     8.8.8.8
Address:    8.8.8.8#53
server can't find 101.1.168.192.in-addr.arpa.: NXDOMAIN

training@guest1:/etc/network$ cat /etc/hosts
127.0.0.1   localhost
#127.0.1.1  Slave1
192.168.1.101 MyUbuntuLaptop

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

training@guest1:/etc/network$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.201
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4

training@guest1:/etc/network$ ping MyUbuntuLaptop
ping MyUbuntuLaptop (192.168.1.101) 56(84) bytes of data.
64 bytes from MyUbuntuLaptop (192.168.1.101): icmp_req=1 ttl=64 time=0.113 ms
64 bytes from MyUbuntuLaptop (192.168.1.101): icmp_req=2 ttl=64 time=0.222 ms
Praveen Sripati
quelle
7
Sie verwenden die Nameserver ( 8.8.8.8) von Google und private (RFC1918) Adressen. Da diese Adressen ziemlich privat sind , kennt Google diese nicht und wird es auch nie tun. Auch kein anderer öffentlicher DNS-Server wird dies tun. Sie müssen Ihren eigenen DNS-Server in Ihrem Netzwerk betreiben. Ist das eine Option? Ähnlich wie in diesem Tutorial .
Gertvdijk

Antworten:

13

Über private Adressen

Die IP-Adressen, die Sie in Namen auflösen möchten (die umgekehrten Suchvorgänge), sind sogenannte private Adressen, wie in RFC 1918 definiert . Kurz gesagt, der folgende IPv4-Adressbereich ist dort definiert:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

Im Gegensatz zu öffentlichen Adressen werden diese nicht über das Internet geleitet und dürfen ausschließlich hinter NAT in einem privaten Netzwerk verwendet werden. Viele Leute nutzen dies und sind daher absolut nicht einzigartig. Aus diesem Grund ist es nicht von Interesse, dass öffentliche DNS-Server auf Reverse-Lookup-Anforderungen für private Server reagieren.

Warum es nicht funktioniert

Google und alle anderen öffentlichen DNS-Server im Internet sind nicht an privaten Adressen interessiert, da sie nicht über das Internet weitergeleitet werden können. Im Grunde machen Sie es falsch, indem Sie einen Server fragen, der für Ihr Netzwerk überhaupt nicht verantwortlich ist.

Wenn Sie dies mit einer lokalen Konfiguration wie in überschreiben möchten /etc/hosts, funktioniert dies nicht:

Lokaler DNS-Server

Wenn Sie Reverse Lookups in Ihrem privaten LAN durchführen möchten, müssen Sie Ihren eigenen DNS-Server mit den entsprechenden Einträgen einrichten und alle Ihre lokalen Clients über diesen DNS-Server verfügen. Möglicherweise führen Sie bereits eine aus, aber Sie haben in Ihrer Frage nichts davon angegeben, und wenn ja, scheinen Sie sie nicht zu verwenden.

Eine schnelle All-in-One-Lösung, die ich empfehlen kann, ist Dnsmasq Installieren Sie Dnsmasq . Es ist ein DHCP- und DNS-Server in einem 1 mit dem Vorteil, dass der Hostname für DHCP auch in DNS verwendet wird. Aus der Manpage von dnsmasqist der folgende Auszug:

Dnsmasq akzeptiert DNS-Abfragen und beantwortet sie entweder aus einem kleinen lokalen Cache oder leitet sie an einen echten, rekursiven DNS-Server weiter. Es lädt den Inhalt von, /etc/hostsdamit lokale Hostnamen, die nicht im globalen DNS angezeigt werden, aufgelöst werden können, und beantwortet auch DNS-Anfragen für DHCP-konfigurierte Hosts.

Das Einrichten eines vollständigen Dnsmasq ist hier etwas außerhalb des Anwendungsbereichs, da es Ihren aktuellen DHCP-Server ersetzt, von dem ich nicht weiß, dass er eine akzeptierte Lösung ist. Für diesen Teil der Konfiguration ist diese Einstellung jedoch wichtig:

domain=mydomain.lan,192.168.1.0/24,local

In dem Sie es anweisen, das 192.168.1.0/24-Netzwerk mit kurzen Hostnamen zu bedienen, um den mydomain.lanDomänennamen zu verwenden, und nicht an den vorgelagerten rekursiven DNS-Server weitergeleitet werden. Das Ergebnis ist, dass ein Computer mit dem Hostnamen myhost, der eine dynamische Adresse anfordert, automatisch im lokalen Resolver verwendet wird und Abfragen abhört myhost.mydomain.lanund der umgekehrte Zeiger ebenfalls aufgelöst wird.

Mir ist kein "Wie richte ich Dnsmasq für ein Heimnetzwerk richtig ein?" Frage auf dieser Seite. Wenn Sie oder andere interessiert sind, werde ich gerne Fragen und Antworten geben.

1 Eigentlich noch mehr, wie auch TFTP-Server.

gertvdijk
quelle
1
Vielen Dank für die ausführliche Antwort. Ich dachte, nslookup wird sich / etc / hosts ansehen, bevor ich zum DNS-Server gehe, um die umgekehrte Suche durchzuführen. Ich versuche, CDH einzurichten, und es gab einen Hinweis, dass sowohl die Vorwärts- als auch die Rückwärtssuche funktionieren sollten. Daher habe ich versucht, den Befehl nslookup auszuführen.
Praveen Sripati
@PraveenSripati Ich habe zwei Referenzen auf anderen SE-Sites hinzugefügt, die mehr über die Rolle /etc/hostsbei Reverse-Lookups erklären .
Gertvdijk
@gertvdijk: Unsere privaten Heimnetzwerke werden mit einer Vielzahl anonymer Geräte gefüllt, die ständig dynamische IPs erhalten und verlieren. Es wird wirklich schwierig, zwischen legitimen Hosts und potenziell anderen zu unterscheiden. Es scheint ein großer Bedarf an einer umfassenden Lösung zu bestehen, damit Reverse DNS überall im typischen Telefon- / Tablet- / Desktop- / Spielekonsolen- / ... Heimnetzwerk funktioniert. Es wäre großartig, wenn Sie diese Fragen und Antworten auf der Website hinzufügen könnten. Hoch geschätzt!
Arielf
1

Kurze Antwort: nslookup verwendet die /etc/hostsDatei nicht, um etwas zu tun.

Lange Antwort:

Es scheint, als würden beim Ausführen nslookupnur die in der Liste aufgeführten Nameserver verwendet /etc/resolv.conf. Dieses Verhalten wird ebenfalls repliziert host. Wenn die IP-Adressen in den /etc/hostsDateien aufgeführt sind, sollten Sie kein Reverse-DNS benötigen oder umgekehrt. Ich glaube, das war das Denken in diesem Prozess.

Als ich den Prozess belastete, stellte ich fest, dass die /etc/hostsDatei nicht einmal angezeigt wurde , obwohl in meinem /etc/nsswitch.confDNS DNS eingestellt war files dns.

Quellen: man host man nslookup

prateek61
quelle
0

DNS-Serveranwendungen zum Auffinden von DNS-Informationen sind sehr starr und dauern länger als der Vergleich mit anderen DNS-Suchseiten im Internet, was sehr klar und kurz ist. Ich suche meine DNS-Abfragen immer bei WhoisXY.com nach, wo sie durch einfache Suche identifiziert werden können die Details.

Rusell Bernand
quelle