[linux-l] djbdns

Ulrich Wiederhold wubuwei at gmx.net
Mo Dez 8 11:51:07 CET 2003


Hallo,
vorab: Das Patchen der daemontools/djbdns hatte sich erledigt, da die
Debian-Server wieder funktionieren und das Problem bei der neuen Version
nicht mehr auftrat.

Ziel: lokaler DNS-Cache für das Heimnetzwerk und den Rechner PC1 auf dem der
Cache läuft. Vorgehen nach: http://cr.yp.to/djbdns/run-cache-x.html

Also daemontools und djbdns installiert und laufen lassen.
"ps aux | grep sv" liefert:

root      2351  0.0  0.1  2516 1176 ?        S    10:40   0:00 /bin/sh /command/svscanboot
root      2353  0.0  0.0  1536  328 ?        S    10:40   0:00 svscan /service
root      2354  0.0  0.0  1364  244 ?        S    10:40   0:00 readproctitle service errors: ... fatal: unable to start supervise/run: file does not exist?svscan: warning: unable to stat dnscache: file does not exist?supervise: fatal: unable to start supervise/run: file does not exist?supervise: fatal: unable to start supervise/run: file does not exist?supervise: fatal: unable to start supervise/run: file does not exist?supervise: fatal: unable to start supervise/run: file does not exist?

Der cache soll auf der Adresse laufen, die auch der entsprechende PC1 im
Netz hat: 192.168.1.10, also:
 "dnscache-conf gdnscache gdnslog /etc/dnscache 192.168.1.10"
 
"ln -s /etc/dnscache /service"
"sleep 5"
"svstat /service/dnscache"
ergibt:  /service/dnscache: up (pid 6609) 0 seconds

Also alles wunderbar. Alle Rechner im internen Netz sollen auf den Cache
zugreifen können:
 "touch /etc/dnscache/root/ip/192.168.1"

Und jetzt funktioniert nichts, nicht das zugreifen vom PC1 und nicht aus
dem Netz (dns-server natürlich auf 192.168.1.10 geändert). Mir fehlt
auch der entsprechende Server, wo djbdns selbst die Infos hernimmt. Also
mache ich:
in /etc/resolv.conf den Eintrag:
nameserver 127.0.0.1

Damit PC1 im Netz nach IPs suchen kann:
 "echo 194.8.194.60 > /etc/dnscache/root/servers/@"

Damit auch PC1 auf den cache zugreifen darf:
 "touch /etc/dnscache/root/ip/127.0.0.1"
 
Dann ein restart:
 "/etc/init.d/djbdns restart"

Und leider funktioniert es nicht. Auf PC1:

root at home:/# host www.debian.org
Nameserver not running
www.debian.org A record not found, try again

root at home:/# dnsip www.cnn.com
dnsip: fatal: unable to find IP address for www.cnn.com: connection refused

Aus dem Netz:
Die Hostnamen können nicht aufgelöst werden. Im Internen Netz
funktioniert der Zugriff einwandfrei.
Außerdem bekomme ich unter Win2000 eine Fehlermeldung, wenn ich auf
Lan-Eigenschaften klicke, sehr aussagekräftig: "Ein unerwarteter Fehler
ist aufgetreten". Keine Hinweise im Ereignisprotokoll. Das muß
allerdings nicht mit djbdns zusammenhängen.


root at home:/# netstat -lnp | grep dns
tcp        0      0 192.168.1.10:53         0.0.0.0:* LISTEN     2358/dnscache    
udp        0      0 192.168.1.10:53         0.0.0.0:* 2358/dnscache  

Die Firewall gibt die entsprechenden Ports frei. (Mit bind hat es
funktioniert, und vor nem Jahr auch schon mal mit djbdns.)

In den Logs konnte ich keine Fehlermeldungen entdecken.

Ich hoffe, diesmal alles ausführlich und exakt genug und auch noch
verständlich erklärt zu haben, so daß mir jemand weiterhelfen kann.

Habe zum Abschicken der Email in /etc/resolv.conf wieder einen
nameserver im Internet eingetragen.

Gruß
Uli

-- 
'The box said, 'Requires Windows 95 or better', so I installed Linux - TKK 5




Mehr Informationen über die Mailingliste linux-l