Caching only DNS mit BIND8
Ich habe folgendes Problem: Ich habe versucht unter Linux 5.3 einen Caching Only DNS Server anhand der DNS-HOWTO zu installieren. Leider passiert es nun jedesmal beim Start von NAMED, daß sich mein Rechner ins Internet einwählt. Außerdem findet er meine Win95 Clients beim NSLOOKUP nicht, obwohl sie alle in der /etc/hosts eingetragen sind. Was mache ich falsch? Mit freundlichen Grüßen Karsten Folgende Konfiguration: Eigene Domain: workgroup Provider: myokay.net ############################################ named.conf: options { directory "/var/named"; // Uncommenting this might help if you have to go through a // firewall and things are not working out: // query-source address * port 53; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.in-addr.arpa" { type master; file "pz/127.0.0"; }; ####################################### resolv.conf: search workgroup okay.net nameserver 127.0.0.1 nameserver 194.152.32.1 nameserver 62.104.196.134 ######################################## /var/named/root.hints: . 6D IN NS G.ROOT-SERVERS.NET. . 6D IN NS J.ROOT-SERVERS.NET. . 6D IN NS K.ROOT-SERVERS.NET. . 6D IN NS L.ROOT-SERVERS.NET. . 6D IN NS M.ROOT-SERVERS.NET. . 6D IN NS A.ROOT-SERVERS.NET. . 6D IN NS H.ROOT-SERVERS.NET. . 6D IN NS B.ROOT-SERVERS.NET. . 6D IN NS C.ROOT-SERVERS.NET. . 6D IN NS D.ROOT-SERVERS.NET. . 6D IN NS E.ROOT-SERVERS.NET. . 6D IN NS I.ROOT-SERVERS.NET. . 6D IN NS F.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 5w6d16h IN A 192.112.36.4 J.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.10 K.ROOT-SERVERS.NET. 5w6d16h IN A 193.0.14.129 L.ROOT-SERVERS.NET. 5w6d16h IN A 198.32.64.12 M.ROOT-SERVERS.NET. 5w6d16h IN A 202.12.27.33 A.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.4 H.ROOT-SERVERS.NET. 5w6d16h IN A 128.63.2.53 B.ROOT-SERVERS.NET. 5w6d16h IN A 128.9.0.107 C.ROOT-SERVERS.NET. 5w6d16h IN A 192.33.4.12 D.ROOT-SERVERS.NET. 5w6d16h IN A 128.8.10.90 E.ROOT-SERVERS.NET. 5w6d16h IN A 192.203.230.10 I.ROOT-SERVERS.NET. 5w6d16h IN A 192.36.148.17 F.ROOT-SERVERS.NET. 5w6d16h IN A 192.5.5.241 ################################################ /var/named/pz/127.0.0: @ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 1 ; Serial 8H ; Refresh 2H ; Retry 1W ; Expire 1D) ; Minimum TTL NS ns.linux.bogus. 1 PTR localhost. ################################################# /etc/hosts: 127.0.0.1 localhost 192.168.0.1 mycom_one.workgroup mycom_one 192.168.0.10 myserver.workgroup myserver 192.168.0.22 geknechteter.workgroup sven 192.168.0.96 myserver.workgroup myserver 192.168.0.97 myserver.workgroup myserver 192.168.0.98 myserver.workgroup myserver 192.168.0.99 myserver.workgroup myserver
Karsten Garn wrote:
Ich habe folgendes Problem:
Ich habe versucht unter Linux 5.3 einen Caching Only DNS Server anhand der DNS-HOWTO zu installieren. Leider passiert es nun jedesmal beim Start von NAMED, daß sich mein Rechner ins Internet einwählt.
bei BIND8 ab Version 8.2.1 kann man das leider nicht so ohne weiteres verhindern, er versucht beim Start die Root- Nameserver zu erreichen.
Außerdem findet er meine Win95 Clients beim NSLOOKUP nicht, obwohl sie alle in der /etc/hosts eingetragen sind.
Der Nameserver BIND interessiert sich nicht für die /etc/hosts.
Was mache ich falsch?
Beim aktuellen BIND8-Paket vom SuSE-FTP-Server, findet man unter /usr/doc/packages/bind8/sample-config eine einfache Beispielkonfiguration. Einfach mal anschauen. Die Dateien root.hint, localhost.zone und 127.0.0.zone kann man un- verändert übernehmen. Falls BIND nicht startet, wird in /var/log/messages protokolliert warum. In der /etc/resolv.conf braucht man dann nur den eigenen DNS-Server einzutragen. Das könnte dann etwa so aussehen: search workgroup nameserver 127.0.0.1
Mit freundlichen Grüßen
Karsten
Folgende Konfiguration:
Eigene Domain: workgroup Provider: myokay.net [..] /etc/hosts: 127.0.0.1 localhost 192.168.0.1 mycom_one.workgroup mycom_one 192.168.0.10 myserver.workgroup myserver 192.168.0.22 geknechteter.workgroup sven 192.168.0.96 myserver.workgroup myserver 192.168.0.97 myserver.workgroup myserver 192.168.0.98 myserver.workgroup myserver 192.168.0.99 myserver.workgroup myserver
Wenn der Nameserver korrekt aufgesetzt ist und alle Namen mit nslookup vernünftig aufgelöst werden, kann die /etc/hosts leer bleiben. Dazu muß in diesem Fall, die Domain ´workgroup´ in der /etc/named.conf eingetragen sein und die zugehörigen Dateien, wie /var/named/workgroup.zone und /var/named/192.168.0.zone korrekt erstellt worden sein. Die Clients sollten jeder einen eigenen Namen haben und der Server sollte erstmal mit einer IP- Adresse, nämlich der der Netzwerkkarte auskommen. Das ISDN- Interface, z.B. ippp0 sollte man in ein eigenes Netz legen. Frank
Frank Bodammer wrote:
Karsten Garn wrote:
Ich habe folgendes Problem:
Ich habe versucht unter Linux 5.3 einen Caching Only DNS Server anhand der DNS-HOWTO zu installieren. Leider passiert es nun jedesmal beim Start von NAMED, daß sich mein Rechner ins Internet einwählt.
Ha, noch einer, den Gerhard Sittig dazu angestupst hat.
bei BIND8 ab Version 8.2.1 kann man das leider nicht so ohne weiteres verhindern, er versucht beim Start die Root- Nameserver zu erreichen.
Ich benutze kein Dial-on-Demand, und deswegen wählt er bei mir auch nicht raus. Kann man nicht einfach beim Booten erstmal "isdnctrl ipppN manual" angeben und hinterher auf "auto" umschalten, wenn man DoD möchte? In der options.html steht auch was von einer Option "dialup" (ich hab's mir nicht genauer durchgelesen, vielleicht wollt Ihr ja). Aber wenn wir gerade dabei sind: in SuSE's /etc/rc.d/named wird der named direkt gestartet und beendet (mit startproc und killproc), sollte man da nicht besser "ndc start" und "ndc stop" benutzen? Und: wo legt der named denn seine Daten ab? Hält er sie etwa nur im Speicher und nach dem Booten ist alles futsch? Wenn ich ihm vor "ndc stop" noch ein "ndc dumpdb" mitgebe, schreibt er seine Daten nach /var/named/named_dump.db - liest er die dann freundlicherweise beim nächsten Start automatisch wieder ein oder wie sag' ich's meinem Kind? Viele Grüsse... Michael
On Sat, Jan 08, 2000 at 20:26 +0100, Michael Mauch wrote:
Frank Bodammer wrote:
bei BIND8 ab Version 8.2.1 kann man das leider nicht so ohne weiteres verhindern, er versucht beim Start die Root- Nameserver zu erreichen.
Ich benutze kein Dial-on-Demand, und deswegen wählt er bei mir auch nicht raus. Kann man nicht einfach beim Booten erstmal "isdnctrl ipppN manual" angeben und hinterher auf "auto" umschalten, wenn man DoD möchte? In der options.html steht auch was von einer Option "dialup" (ich hab's mir nicht genauer durchgelesen, vielleicht wollt Ihr ja).
Entweder kennt der named eine entsprechende Option (weiss ich nicht, habe auch nie gesucht -- da waere mein Interesse bei NTP-Clients staerker und das ist mit chrony erledigt). Oder man sperrt das Einwaehlen rund um den named-Start herum (die Stelle sollte sich finden lassen, etwa in /etc/rc.d/init.d/named). Oder man startet den named noch VOR dem i4l (bzw vor dem Routenlegen durch das ISDN-Interface). Das klappt aber immer nur, wenn der dialup und der DNS-Rechner identisch sind. Andererseits: wie oft bootet man einen Linux-Server (vor allem den mit dem Nameserver drauf)?
Aber wenn wir gerade dabei sind: in SuSE's /etc/rc.d/named wird der named direkt gestartet und beendet (mit startproc und killproc), sollte man da nicht besser "ndc start" und "ndc stop" benutzen?
Das ndc-Script setzt wohl einen laufenden named voraus und stellt lediglich Signale zu. Ein "less $( which named )" sollte Klarheit schaffen (funktioniert nur als Root, normale User haben named selten im Pfad:). Kann auch sein, dass "start" und "stop" da eine Ausnahme sind neben all den "reload", "dumpdb", etc.
Und: wo legt der named denn seine Daten ab? Hält er sie etwa nur im Speicher und nach dem Booten ist alles futsch? Wenn ich ihm vor "ndc stop" noch ein "ndc dumpdb" mitgebe, schreibt er seine Daten nach /var/named/named_dump.db - liest er die dann freundlicherweise beim nächsten Start automatisch wieder ein oder wie sag' ich's meinem Kind?
AFAIK legt named nur die Daten im Filesystem ab, die fuer die secondary zones geholt wurden (Filenamen lt named.boot bzw named.conf, siehe secondary-Syntax). Die primary zones liegen ohnehin schon da und koennten sogar read only sein. Ein Dump hat wohl nicht ganz(?) die Struktur, die sofort als input dienen koennte -- aber da sind meine Experimente einfach zu lang her. Jedenfalls ist ein Dump eher fuer's Debugging gedacht, waehrend fuer die secondaries eher sowas wie Persistenz angedacht ist. Bei Interesse kann man mal auf dem SuSE-Server nach meinem Namen suchen (der alleine gibt reichlich viele Treffer, ein zusaetzliches Kriterium wie "named" hilft sicher:). Ich habe einmal beschrieben, wie ich beim Booten die Daten auffrische, indem ich alle Namen aus dem Cache nochmal abfrage -- ich wollte mich nicht selbst um Versionsnummern (lies: Aenderungen) und die expiration kuemmern. Feedback und Erweiterungen gab's BTW keine -- zumindest haben sie den Weg nicht zu mir gefunden. Das hat aber alles herzlich wenig mit ISDN zu tun und ist in suse-linux sicher besser aufgehoben. virtually yours 82D1 9B9C 01DC 4FB4 D7B4 61BE 3F49 4F77 72DE DA76 Gerhard Sittig mail -s "get gpg key" Gerhard.Sittig@gmx.net < /dev/null -- If you don't understand or are scared by any of the above ask your parents or an adult to help you.
participants (4)
-
Frank Bodammer
-
Gerhard Sittig
-
Karsten Garn
-
Michael Mauch