Bind: Unterschied zwischen den Versionen
Yehudi (Diskussion | Beiträge) (→Zonefile (Forward Mapping): Korrektur siehe: http://www.linux-club.de/viewtopic.php?t=50765 letzter Beitrag von Jengelh) |
Yehudi (Diskussion | Beiträge) (→Zonefile (Reverse Lookup): Code entfernt) |
||
Zeile 84: | Zeile 84: | ||
/var/lib/named/db.192.168.3 | /var/lib/named/db.192.168.3 | ||
− | |||
; Zonefile für heim.netz. (Reverse Mapping) | ; Zonefile für heim.netz. (Reverse Mapping) | ||
; | ; | ||
Zeile 105: | Zeile 104: | ||
wechseln in das Verzeichnis: | wechseln in das Verzeichnis: | ||
− | + | ||
− | |||
cd /var/lib/named | cd /var/lib/named | ||
Zeile 112: | Zeile 110: | ||
root.hint ist eine Datei. Da stehen die IP Adressen der Rootnameserver im Internet drin. Die sind die Wurzel (deshalb ja auch root) des DNS. Ohne die gibt es dauerhaft keine DNS. Eine root.hint wird normalerweise mitgeliefert. Die muss ab und an mal aktualisiert werden. Dafür wird der dig Befehl genutzt:. | root.hint ist eine Datei. Da stehen die IP Adressen der Rootnameserver im Internet drin. Die sind die Wurzel (deshalb ja auch root) des DNS. Ohne die gibt es dauerhaft keine DNS. Eine root.hint wird normalerweise mitgeliefert. Die muss ab und an mal aktualisiert werden. Dafür wird der dig Befehl genutzt:. | ||
− | + | ||
dig @a.root-servers.net . ns > root.hint | dig @a.root-servers.net . ns > root.hint | ||
− | |||
== Konfigurationsdatei /etc/named.conf == | == Konfigurationsdatei /etc/named.conf == |
Version vom 5. Juni 2007, 15:47 Uhr
Autor: Yehudi
Als Vorgabe habe ich folgenden Link benutzt: http://www.ag-intra.net/linux-kl-dns8.html
Mit dem Thread an dem nbrk und baumpaul stark beteiligt waren, sind weitere Infos hier mit eingeflossen:
Buchtipp: DNS und Bind aus dem O'Reilly Verlag. ISBN: 3897212900
http://www.amazon.de/exec/obidos/ASIN/3897212900/303-0322939-0892207
und Auszug aus der Wikipedia: http://de.wikipedia.org/wiki/Domain_Name_System
Inhaltsverzeichnis
Die Installation
Folgende Pakete habe ich über apt installiert:
- bind
- bind-chrootenv
- bind-libs
- bind-utils
- bind-debuginfo
- bind-devel
- bind-doc
- bind-lwresd
Es handelt sich um die Version 9.3.1-8
Die Konfiguration funktioniert so bei SuSE 10.0, weitere können hier eingefügt werden; wenn es genauso funktioniert, oder insbesondere bei anderen Distributionen die Ergänzungen eingefügt werden.
Unter SuSE sollte zur Konfiguration des Namensservers YAST nicht eingesetzt werden, bis auf den Runleveleditor. Für die Konfiguration wird der Umgang mit Konsole und Editoren vorrausgesetzt. An der Daraus ergeben sich für Suse 10.0 folgende Konfigurationen in meinem Fall:
Szenario
PC-Client: G4 Name: apple IP:192.168.3.8
PC-Server: AMD 1,8GHz Suse 10.0 Name: linux IP: 192.168.3.1
Zonefile (Forward Mapping)
/var/lib/named/db.heim.netz Code:
; Zonefile (Forward Mapping) für heim.netz. ; $TTL 3h @ IN SOA linux.heim.netz. root.linux.heim.netz. ( 200207241 ; Seriennummer 10800 ; Refresh Zeit 3600 ; Retry Zeit 604800 ; Expire 38400 ) ; negative Caching TTL ; ; Nameserver ; IN NS linux.heim.netz. $ORIGIN ite.internal ; ; Hosts (kanonisch) ; localhost IN A 127.0.0.1 apple IN A 192.168.3.8 IN LOC 52 31 0.12 N 13 24 0.36 E 34m IN HINFO "Power MAC AGP-Grafik 1,4GHz" "OSX 10.4" IN RP root.apple.heim.netz. linux.heim.netz. IN TXT "Apple G4" "Standort: Studio" linux IN A 192.168.3.1 IN LOC 52 31 0.12 N 13 24 0.36 E 34m IN HINFO "AMD 1,8GHz" "SuSE Linux 10.0" IN RP root.linux.heim.netz. linux.heim.netz. IN TXT "Server und Router" "Standort: Arbeitszimmer" ; ; Aliase ; www IN CNAME linux irc IN CNAME linux
Zonefile (Reverse Lookup)
/var/lib/named/db.192.168.3
; Zonefile für heim.netz. (Reverse Mapping) ; $TTL 3h @ IN SOA linux.heim.netz. root.linux.heim.netz. ( 200207241 ; Seriennummer 10800 ; Refresh Zeit 3600 ; Retry Zeit 604800 ; Expire 38400 ) ; negative Caching TTL ; ; Nameserver ; IN NS linux.heim.netz. ; ; Hosts Adressen zeigen auf kanonische Namen ; 8 IN PTR apple.heim.netz. 1 IN PTR linux.heim.netz.
wechseln in das Verzeichnis:
cd /var/lib/named
root.hint ist eine Datei. Da stehen die IP Adressen der Rootnameserver im Internet drin. Die sind die Wurzel (deshalb ja auch root) des DNS. Ohne die gibt es dauerhaft keine DNS. Eine root.hint wird normalerweise mitgeliefert. Die muss ab und an mal aktualisiert werden. Dafür wird der dig Befehl genutzt:.
dig @a.root-servers.net . ns > root.hint
Konfigurationsdatei /etc/named.conf
Die named.conf sollte ganz am Ende den Eintrag "Include /etc/named.conf.include" haben. Damit wird eine weitere Configdatei geladen. Die named.conf braucht man nicht bearbeiten, dort passt in aller Regel alles: Code:
options { directory "/var/lib/named"; dump-file "/var/log/named_dump.db"; statistics-file "/var/log/named.stats"; forwarders { 213.191.92.87; 213.191.74.19; }; listen-on-v6 { any; }; cleaning intervall 120; statistics-interval 0; notify no; include "/etc/named.d/forwarders.conf"; }; zone "." in { type hint; file "root.hint"; }; zone "localhost" in { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" in { type master; file "127.0.0.zone"; }; include "/etc/named.conf.include";
In der /etc/named.conf.include sollte dann dies drinstehen.
Code:
zone heim.netz in { type master; file "/var/lib/named/db.heim.netz"; };
DNS starten
Nun in YaST2 System, den Runlevel Editor im Expertenmodus wählen, und in der Liste den Dienst named 3 und 5 einschalten. Darauf hin folgend im Klappmenü "Anwenden/Zurücksetzen" Dienst aktivieren, und in "Starten/Anhalten/Aktualisieren" entweder starten, oder aktualisieren.
Nach der Anleitung sollte der nameserver nun laufen, und beim nächsten reboots automatisch starten.
Wenn die Konfigurationsdateien geändert werden und der Nameserver die neu eingelesen werden soll, gibt man am Prompt ein:
Code:
linux:rndc reload
Muss der ganze Nameserver neu gestartet werden, gibt man folgenden Befehl ein:
Code:
linux: rndc stop linux: /usr/sbin/named -u named -g named
Damit läuft der named korrekt unter dem Kennungnamen.
Resolver und Clients konfigurieren
Die Angabe nameserver <ipadresse> in der /etc/resolv.conf gibt an welche Nameserver der Rechner abfragt. Da sollte die IP des Rechners auf dem der Bind9 läuft drin stehen. Code:
nameserver 192.168.3.1 search heim.netz
Und in /etc/sysconfig/network/config sollte die Zeile so aussehen:
Code:
MODIFY_RESOLV_CONF_DYNAMICALLY="no"
Bei meinem Mac kann ich in meiner jetzigen Configuration folgendes eingeben:
IP-Adresse: 192.168.3.8 Teilnetzmaske: 255.255.255.0 Router: 192.168.3.1 DNS-Server: 192.168.3.1 Domain-Name: search heim.netz
Fehlermeldung, Fehlersuche und Fehlerbehebung
linux:/var/log # grep -ilr named ./*
In meinem Fall musste in der
/etc/named.d/forwarders.conf
die IP's des Provider ausdokumentiert werden, da bei mir die Clients die DNS und IP des Routers in ihrer Konfiguration haben, damit bind korrekt startet.