DNS bei Dialup-Verbindung, langsam durch root.hint?
Hallo Liste, ich habe auf einer SuSE 9.0 Bind 9 als DNS-Server konfiguriert. Bin ich nicht online, ist die Namensauflösung für das interne Netz wesentlich langsamer als nach Einwahl. Ich nehme an, daß er zuerst versucht, die Root-Server in root.hint bzw die Forwarders zu erreichen und dabei jedoch keine Verbindung bekommt. Merkwürdigerweise tritt das auf zB bei der Auflösung über den Browser "http://linux2" oder "ssh linux2", nicht jedoch mit dem Befehl "host linux2". Bei "host" gibts kein Timeout, bei den anderen ca. 10s. Über Google fand ich nur den Hinweis, über das Einwahl-Skript des pppd die root.hint zu modifizieren: ohne Internet: leer, mit Internet: Root-Server eingetragen. Das funzt dann ohne Timeout, ist aber keine saubere Lösung. Das Wichtigste aus der named.conf listen-on port 53 { 127.0.0.1; }; dialup yes; forwarders { 217.5.115.7; 194.25.2.129; }; forward first; notify no; cleaning-interval 120; listen-on-v6 { any; }; Was habe ich da falsch konfiguriert? Er sollte doch zuerst lokal versuchen, dann die Forwarders und Root-Server? Vielen Dank für Euer Bemühen. Mario
Hallo, Am Sat, 10 Jan 2004, Mario Neudeck schrieb: [ich habe _keine_ Ahnung von bind! aber...]
Das Wichtigste aus der named.conf
forward first;
*oink*
Was habe ich da falsch konfiguriert?
-dnh -- Bisweilen glaubt man, auf dem Gipfel zu stehen und ins Tal zu blicken und in Wahrheit ist man nur die Laus auf dem Buckel eines Guerteltiers, das im Schlamm zu ertrinken droht. -- Das Internet Orakel
Hallo,
Mario Neudeck
Hallo Liste,
ich habe auf einer SuSE 9.0 Bind 9 als DNS-Server konfiguriert. Bin ich nicht online, ist die Namensauflösung für das interne Netz wesentlich langsamer als nach Einwahl. Ich nehme an, daß er zuerst versucht, die Root-Server in root.hint bzw die Forwarders zu erreichen und dabei jedoch keine Verbindung bekommt.
Das Wichtigste aus der named.conf
listen-on port 53 { 127.0.0.1; }; dialup yes; forwarders { 217.5.115.7; 194.25.2.129; }; forward first; notify no; cleaning-interval 120; listen-on-v6 { any; };
Was habe ich da falsch konfiguriert? Er sollte doch zuerst lokal versuchen, dann die Forwarders und Root-Server?
Nimm 'forwarders' und 'forward first' heraus. Das führt nämlich dazu, daß alle Anfragen zuerst an den Forwarder geschickt werden und erst nach einem Timeout die eigne Database genutzt wird. Dann empfehle ich dir, 'listen on port' zu ändern, da 127.0.0.1 nur localhost ist und du sicherlich dein lokales Netzwerk nicht mit ipv6 betreibst. -Dieter -- Dieter Kluenter | Systemberatung Tel:040.64861967 | Fax: 040.64891521 mailto: dkluenter(at)dkluenter.de http://www.avci.de
Dieter Kluenter am Samstag, 10. Januar 2004 09:23:
Hallo,
Mario Neudeck
writes: Hallo Liste,
ich habe auf einer SuSE 9.0 Bind 9 als DNS-Server konfiguriert. Bin ich nicht online, ist die Namensauflösung für das interne Netz wesentlich langsamer als nach Einwahl. Ich nehme an, daß er zuerst versucht, die Root-Server in root.hint bzw die Forwarders zu erreichen und dabei jedoch keine Verbindung bekommt.
Das Wichtigste aus der named.conf
listen-on port 53 { 127.0.0.1; }; dialup yes; forwarders { 217.5.115.7; 194.25.2.129; }; forward first; notify no; cleaning-interval 120; listen-on-v6 { any; };
Was habe ich da falsch konfiguriert? Er sollte doch zuerst lokal versuchen, dann die Forwarders und Root-Server?
Nimm 'forwarders' und 'forward first' heraus. Das führt nämlich dazu, daß alle Anfragen zuerst an den Forwarder geschickt werden und erst nach einem Timeout die eigne Database genutzt wird.
Hm, ich hab die forwarders immer drin gelassen und dort die DNS des Providers eingetragen. Ich dachte mir, dass ein 'nahe gelegener' DNS des Providers meist schneller ist als der Rückgriff auf einen der Root-DNS. Außer vielleicht beim Aufruf extrem exotischer Adressen, die der Provider nicht in seinem DNS-Cache hat. Oder irre ich da? forward first ist natürlich extrem performaceschädlich *g*. -- Gruß MaxX 8-)
Hallo Matthias, hallo Dieter, On Sat, Jan 10, 2004 at 11:02:01AM +0100, Matthias Houdek wrote:
Dieter Kluenter am Samstag, 10. Januar 2004 09:23:
Nimm 'forwarders' und 'forward first' heraus. Das führt nämlich dazu, daß alle Anfragen zuerst an den Forwarder geschickt werden und erst nach einem Timeout die eigne Database genutzt wird.
Hm, ich hab die forwarders immer drin gelassen und dort die DNS des Providers eingetragen. Ich dachte mir, dass ein 'nahe gelegener' DNS des Providers meist schneller ist als der Rückgriff auf einen der Root-DNS.
Ich habe 'forward first' entfernt und 'forwarders' in beiden Varianten geprüft. Bringt keine Verbesserung. Merkwürdig sind die Unterschiede bei Ausführung der Befehle 'host linux2' und 'ssh linux2' 'host' kommt sofort zurück. 'ssh' mit dem Timeout. Ich habe das mal loggen lassen: ####### host linux2: Jan 10 12:01:57 linux1 named[30037]: client 127.0.0.1#1532: query: linux2.ziczac-stoffe.local IN A ssh linux2 ohne Einwahl: Jan 10 12:03:12 linux1 named[30037]: client 127.0.0.1#1532: query: linux2.ziczac-stoffe.local IN AAAA Jan 10 12:03:12 linux1 named[30037]: client 127.0.0.1#1532: query: linux2 IN AAAA Jan 10 12:03:17 linux1 named[30037]: client ::ffff:192.168.0.1#1533: query: linux2 IN AAAA Jan 10 12:03:22 linux1 named[30037]: client 127.0.0.1#1532: query: linux2 IN AAAA Jan 10 12:03:27 linux1 named[30037]: client ::ffff:192.168.0.1#1533: query: linux2 IN AAAA Jan 10 12:03:32 linux1 named[30037]: client 127.0.0.1#1533: query: linux2.ziczac-stoffe.local IN A ssh linux2 bei nach Einwahl: Jan 10 12:23:42 linux1 named[31792]: client 127.0.0.1#1545: query: linux2.ziczac-stoffe.local IN AAAA Jan 10 12:23:42 linux1 named[31792]: client 127.0.0.1#1545: query: linux2 IN AAAA Jan 10 12:23:43 linux1 named[31792]: client 127.0.0.1#1545: query: linux2.ziczac-stoffe.local IN A ###### -- Ohne Einwahl benötigt 'ssh' gute 20s mit Einwahl gerade 1s. Der Ablauf ist auch unterschiedlich. Im 3. Schritt geht er ohne Einwahl auf die IP 192.168.0.1 -ist der lokale NS-, hier dauerts dann. Mit Einwahl fällt das komplett weg. Das einzige was ohne Einwahl wirklich etwas bringt, ist die root.hint zu leeren und rcnamed restart. Dann gehts fix. Habt Ihr noch Ideen? Mario
Mario Neudeck am Samstag, 10. Januar 2004 12:38:
Hallo Matthias, hallo Dieter,
On Sat, Jan 10, 2004 at 11:02:01AM +0100, Matthias Houdek wrote:
Dieter Kluenter am Samstag, 10. Januar 2004 09:23:
Nimm 'forwarders' und 'forward first' heraus. Das führt nämlich dazu, daß alle Anfragen zuerst an den Forwarder geschickt werden und erst nach einem Timeout die eigne Database genutzt wird.
Hm, ich hab die forwarders immer drin gelassen und dort die DNS des Providers eingetragen. Ich dachte mir, dass ein 'nahe gelegener' DNS des Providers meist schneller ist als der Rückgriff auf einen der Root-DNS.
Ich habe 'forward first' entfernt und 'forwarders' in beiden Varianten geprüft. Bringt keine Verbesserung. Merkwürdig sind die Unterschiede bei Ausführung der Befehle 'host linux2' und 'ssh linux2' 'host' kommt sofort zurück. 'ssh' mit dem Timeout.
Ich habe das mal loggen lassen:
####### host linux2: Jan 10 12:01:57 linux1 named[30037]: client 127.0.0.1#1532: query: linux2.ziczac-stoffe.local IN A
ssh linux2 ohne Einwahl: Jan 10 12:03:12 linux1 named[30037]: client 127.0.0.1#1532: query: linux2.ziczac-stoffe.local IN AAAA Jan 10 12:03:12 linux1 named[30037]: client 127.0.0.1#1532: query: linux2 IN AAAA Jan 10 12:03:17 linux1 named[30037]: client ::ffff:192.168.0.1#1533: query: linux2 IN AAAA Jan 10 12:03:22 linux1 named[30037]: client 127.0.0.1#1532: query: linux2 IN AAAA Jan 10 12:03:27 linux1 named[30037]: client ::ffff:192.168.0.1#1533: query: linux2 IN AAAA Jan 10 12:03:32 linux1 named[30037]: client 127.0.0.1#1533: query: linux2.ziczac-stoffe.local IN A
ssh linux2 bei nach Einwahl: Jan 10 12:23:42 linux1 named[31792]: client 127.0.0.1#1545: query: linux2.ziczac-stoffe.local IN AAAA Jan 10 12:23:42 linux1 named[31792]: client 127.0.0.1#1545: query: linux2 IN AAAA Jan 10 12:23:43 linux1 named[31792]: client 127.0.0.1#1545: query: linux2.ziczac-stoffe.local IN A ###### --
Ohne Einwahl benötigt 'ssh' gute 20s mit Einwahl gerade 1s. Der Ablauf ist auch unterschiedlich. Im 3. Schritt geht er ohne Einwahl auf die IP 192.168.0.1 -ist der lokale NS-, hier dauerts dann. Mit Einwahl fällt das komplett weg.
Gehen wir mal systematisch vor: DNS-Anfrage mit 'host' geht flott DNS-Anfrage mit 'ssh' oder 'http' geht langsam, er sucht erst extern und dann intern. Wo liegt der Unterschied zwischen der Anfrage durch 'host' und der Anfrage beim Aufbau einer ssh-Verbindung? (Darin scheint ja der Hund begraben zu sein) 'host' fragt vermutlich zunächst direkt über localhost ab (127.0.0.1), beim Verbindungsaufbau wird nach dem angegebenen DNS-Server in der resolve.conf gesucht. (Reine Vermutung!) Also: Was steht in der resolve.conf? Was hast du als bei der Netzwerkeinrichtung als Adresse für den lokalen DNS-Server angegeben? Und auf welchen Adressen lauscht dein Bind? Trag da mal hinter die Adresse 127.0.0.1 noch deine lokale Adresse ein oder ggf. dein lokales Netz, also z.B.: ... listen-on port 53 { 127.0.0.1; 192.168.0.0/16; }; ... Ich hoffe, es hilft. -- Gruß MaxX 8-)
Hallo,
Matthias Houdek
Dieter Kluenter am Samstag, 10. Januar 2004 09:23:
Hallo,
Mario Neudeck
writes: Hallo Liste,
Nimm 'forwarders' und 'forward first' heraus. Das führt nämlich dazu, daß alle Anfragen zuerst an den Forwarder geschickt werden und erst nach einem Timeout die eigne Database genutzt wird.
Hm, ich hab die forwarders immer drin gelassen und dort die DNS des Providers eingetragen. Ich dachte mir, dass ein 'nahe gelegener' DNS des Providers meist schneller ist als der Rückgriff auf einen der Root-DNS. Außer vielleicht beim Aufruf extrem exotischer Adressen, die der Provider nicht in seinem DNS-Cache hat. Oder irre ich da?
forward first ist natürlich extrem performaceschädlich *g*.
Ich habe schlechte Erfahrungen mit dem Eintrag 'forwarders' es wird erst eine Netzverbindung hergestellt (wenigstens war es bei mir immer der Fall) um zu prüfen, ob der Forwarder erreichbar ist, erst dann wird die lokale Datenbank befragt. -Dieter -- Dieter Kluenter | Systemberatung Tel:040.64861967 | Fax: 040.64891521 mailto: dkluenter(at)dkluenter.de http://www.avci.de
Dieter Kluenter am Sonntag, 11. Januar 2004 20:13:
Hallo,
Matthias Houdek
writes: Dieter Kluenter am Samstag, 10. Januar 2004 09:23:
Hallo,
Mario Neudeck
writes: Hallo Liste,
Nimm 'forwarders' und 'forward first' heraus. Das führt nämlich dazu, daß alle Anfragen zuerst an den Forwarder geschickt werden und erst nach einem Timeout die eigne Database genutzt wird.
Hm, ich hab die forwarders immer drin gelassen und dort die DNS des Providers eingetragen. Ich dachte mir, dass ein 'nahe gelegener' DNS des Providers meist schneller ist als der Rückgriff auf einen der Root-DNS. Außer vielleicht beim Aufruf extrem exotischer Adressen, die der Provider nicht in seinem DNS-Cache hat. Oder irre ich da?
forward first ist natürlich extrem performaceschädlich *g*.
Ich habe schlechte Erfahrungen mit dem Eintrag 'forwarders' es wird erst eine Netzverbindung hergestellt (wenigstens war es bei mir immer der Fall) um zu prüfen, ob der Forwarder erreichbar ist, erst dann wird die lokale Datenbank befragt.
Das kann ich bei mir definitiv ausschließen (bind9.2.3 unter Debian-woody auf AMD K6-500): ---- linux:/home/matthias# host -v post.houdek.home Trying "post.houdek.home" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17429 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;post.houdek.home. IN A ;; ANSWER SECTION: post.houdek.home. 172800 IN CNAME linux.houdek.home. linux.houdek.home. 172800 IN A 192.168.0.254 ;; AUTHORITY SECTION: houdek.home. 172800 IN NS linux.houdek.home. Received 84 bytes from 192.168.0.254#53 in 5 ms ---- 5 Millisekunden, so schnell wird keine ISDN-Verbindung aufgebaut ;-) -- Gruß MaxX 8-)
Irgendie wird mir die Liste nicht mehr, oder zeitverzögert, zugestellt. zum Problem: /etc/resolv.conf: nameserver 127.0.0.1 nameserver 192.168.0.1 search ziczac-stoffe.local deshalb bei Einwahl der Umweg über die 192.168.0.1 ist jetzt nur auf 192.168.0.1 geändert. das Logging sieht ohne Einwahl dann so aus: ############# 'ssh linux2' ohne Einwahl - 10s Jan 10 14:10:29 linux1 named[4865]: client ::ffff:192.168.0.1#1570: query: linux2.ziczac-stoffe.local IN AAAA Jan 10 14:10:29 linux1 named[4865]: client ::ffff:192.168.0.1#1570: query: linux2 IN AAAA Jan 10 14:10:34 linux1 named[4865]: client ::ffff:192.168.0.1#1570: query: linux2 IN AAAA Jan 10 14:10:39 linux1 named[4865]: client ::ffff:192.168.0.1#1570: query: linux2.ziczac-stoffe.local IN A 'ssh linux2' nach Einwahl - 1s Jan 10 14:13:14 linux1 named[4865]: client ::ffff:192.168.0.1#1570: query: linux2.ziczac-stoffe.local IN AAAA Jan 10 14:13:14 linux1 named[4865]: client ::ffff:192.168.0.1#1570: query: linux2 IN AAAA Jan 10 14:13:15 linux1 named[4865]: client ::ffff:192.168.0.1#1570: query: linux2.ziczac-stoffe.local IN A ############ Das ist dann ohne Einwahl immer noch 1 Schritt mehr. Mario
Hallo,
Mario Neudeck
Irgendie wird mir die Liste nicht mehr, oder zeitverzögert, zugestellt.
zum Problem:
/etc/resolv.conf: nameserver 127.0.0.1 nameserver 192.168.0.1 search ziczac-stoffe.local
deshalb bei Einwahl der Umweg über die 192.168.0.1 ist jetzt nur auf 192.168.0.1 geändert.
das Logging sieht ohne Einwahl dann so aus:
############# 'ssh linux2' ohne Einwahl - 10s
Jan 10 14:10:29 linux1 named[4865]: client ::ffff:192.168.0.1#1570: query: linux2.ziczac-stoffe.local IN AAAA Jan 10 14:10:29 linux1 named[4865]: client ::ffff:192.168.0.1#1570: query: linux2 IN AAAA Jan 10 14:10:34 linux1 named[4865]: client ::ffff:192.168.0.1#1570: query: linux2 IN AAAA Jan 10 14:10:39 linux1 named[4865]: client ::ffff:192.168.0.1#1570: query: linux2.ziczac-stoffe.local IN A
'ssh linux2' nach Einwahl - 1s
Jan 10 14:13:14 linux1 named[4865]: client ::ffff:192.168.0.1#1570: query: linux2.ziczac-stoffe.local IN AAAA Jan 10 14:13:14 linux1 named[4865]: client ::ffff:192.168.0.1#1570: query: linux2 IN AAAA Jan 10 14:13:15 linux1 named[4865]: client ::ffff:192.168.0.1#1570: query: linux2.ziczac-stoffe.local IN A
############
Das ist dann ohne Einwahl immer noch 1 Schritt mehr.
Lies dir doch mal den Logauszug genau durch :-) da wird ein Host linux2 ohne weitere Domainbezeichnung gesucht, diesen Namen kann dein DNS nicht auflösen, ein 'ssh linux2.zizac-stoffe.local' würde dein Problem beheben. Pflege zusätzlich deine /etc/hosts und /etc/host.conf richtig, dann hast du auch keine Probleme mit Kurznamen. -Dieter -- Dieter Kluenter | Systemberatung Tel:040.64861967 | Fax: 040.64891521 mailto: dkluenter(at)dkluenter.de http://www.avci.de
participants (4)
-
David Haller
-
Dieter Kluenter
-
Mario Neudeck
-
Matthias Houdek