Namensauflösung klappt nicht

Also, ich erkläre mir das so:
Mit dem Befehl "host 192.168.1.250" machst Du ein DNS reverse lookup. Bedeutet:

Der DNS-Server Deines Vertrauens sieht erst in seiner eigenen Tabelle nach, ob ihm ein Domain Name für einen Host mit der IP-Adresse 192.168.1.250 bekannt ist. Dort steht allerdings kein Eintrag - klar, es hat ja auch niemand einen hineingeschrieben, oder?

Danach fragt der DNS-Server Deines Vertrauens beim nächsthöheren DNS nach: "Kennst Du 192.168.1.250?" - Offensichtlich handelt es sich dabei aber um privaten Adressraum, und der nächsthöhere DNS sagt: "Bleib mir fort mit soner Nummer!"

Daraufhin dreht sich der DNS Deines Vertrauens wieder zu Dir um, zuckt mit den Schultern und sagt: "Nach MEINEM wissen ist dieser IP-Adresse hein Hostname zugeordnet".

Der DNS wird allerdings immer nur beim NächstHÖHEREN DNS nachfragen. Dein Client ist aber ganz UNTEN in der Nahrungskette. Selbst wenn Du nun in Deinem Client einen Eintrag zur /etc/hosts hinzufügst, in dem Du sagst: "Die 192.168.1.250 heißt für mich ab heute EGON", kann der DNS das nicht wissen, weil er ja nicht nach unten, sondern immer nur nach oben abfragt.

So - jetzt haben wir den DNS Reverse Lookup fertig. Deine Fehlermeldung nach RFC 1035 ist aber eine Fehlermeldung zum DNS Lookup. (Ohne "Reverse").

Du schickst also eine Abfrage ab wie "host www.google.de".

Hier geht es genau anders herum: Der DNS sieht nach: Welche IP-Adresse ist denn dieser Domain zugeordnet? Und sofern eine nicht vergebene Domain abgefragt wird, kommt eben auch die Antwort "3" zurück: Es gibt eben keinen Tabelleneintrag, in dem der Name vorkommt.

Wir dürfen hier nicht verwechseln: Eine Antwort "3 (NXDOMAIN)" heißt NICHT: "Ich kann diesen Host nicht erreichen", sondern einfach nur: "In der DNS-Tabelle existiert kein Name zu dieser IP, bzw. keine IP zu diesem Namen".

Interessanter finde ich noch die Antwort vom 192.168.1.250 selber: "2 (SERVFAIL)". Das heißt, dass dieser Router keinen (betriebsbereiten) DNS zur Verfügung stellt.

So viel für den Augenblick.

Schönen Gruß!

hssuhle
 
Das von unten nach oben geschaut wird und ein externer DNS nix mit meinen lokalen Adressen zu tun haben möchte leuchtet mir so weit ein. In host.conf ist jedoch definiert das erst hosts und dann bind gefragt werden soll. Also trage ich unter hosts ein das ip a.b.c.d unter name xyz bekannt ist. Frage ich nun nach der IP wäre die Antwort auf meine Frage ja schon bekannt und bind müsste eigentlich nicht mehr gefragt werden.
 
Korrekt - allerdings fragt das Kommando "host" IMMER beim nächsten DNS nach. Die /etc/hosts ist DEM völlig wurscht.

Zitat aus man host:
Code:
host is a simple utility for performing DNS lookups.

DNS Lookup! Das kann immer nur bei einem DN SERVER sein.
 
Die /etc/hosts ist DEM völlig wurscht.

Das stimmt glaube ich nur fast. Ich hatte den Hosteintrag vorhin auf der Kiste angelegt die gleichzeitig DNS-Server für mein Netz ist. Also nicht wie du auf dem Client selbst, sondern wie bei dir fritz3. Mein Fehler war glaube ich, dass ich den DNS-Server nicht neugestartet habe so das /hosts nicht neu eingelesen wurde und er deswegen den Resolver gefragt hat. Ich mag den jetzt allerdings auch nicht neustarten um das zu prüfen.
 
Ah - alles klar. Auf der fritz3 läuft zwar ein DNS - allerdings holt der sich seine Daten erstmalig immer aus dem Internet, weil er ja keine modifizierte /etc/hosts hat.

Du brauchst Deinen Computer übrigens nicht neu zu starten, es reicht, wenn Du bind neu startest. Unter SuSE geht das z.B. mit "rcbind restart", wenn ich das gerade korrekt im Kopf habe - im Dienst muss ich mit einer $WinDose arbeiten.
 
So, wie schon vermutet, nach killall -HUP dnsmasq tut es nun. Danke für die Erklärungen und Denkanstöße.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.