Bind: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
K (Die Installation: seltsames + überflüssiges Satzfragment entfernt welches wohl irgendwann vergessen wurde...)
K (Category)
 
(96 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Autor: [http://www.linux-club.de/faq/Benutzer:Yehudi Yehudi]
+
{{Infobox_Software|
 
+
Name= BIND (Berkeley Internet Name Domain)
Als Vorgabe habe ich folgenden Link benutzt:
+
|Screenshot=
http://www.ag-intra.net/linux-kl-dns8.html
+
|Beschreibung= ein open Source DNS Server
 
+
|Hersteller= ISC (Internet Systems Consortium)
Mit dem Thread an dem nbrk und baumpaul stark beteiligt waren, sind weitere Infos hier mit eingeflossen:
+
|AktuelleVersion= 9.4.1
 
+
|AktuelleVersionFreigabeDatum= 30. April 2007
 
+
|Betriebssystem= UNIX, BSD, Linux, Mac OS X, Windows NT, z/OS
Buchtipp: DNS und Bind aus dem O'Reilly Verlag. ISBN: 3897212900
+
|Kategorie= [[DHCP und DNS]]
http://www.amazon.de/exec/obidos/ASIN/3897212900/303-0322939-0892207
+
|Lizenz= BSD-Lizenz
 
+
|Deutsch= Nein
und Auszug aus der Wikipedia:
+
|Website= [http://www.isc.org/index.pl?/sw/bind/ http://www.isc.org/index.pl?/sw/bind/]
http://de.wikipedia.org/wiki/Domain_Name_System
+
}}
 +
Gebraucht wird diese Installation/Konfiguration, um als Server/[[Router]] mehreren Clients das Internet zur Verfügung zu stellen, und um auf einem eigenen [[Webserver]] ein [[Intranet]] mit einem eigenen Domainnamen bereitzustellen.  
  
 
== Die Installation ==
 
== Die Installation ==
 
+
{{Box Test||
Folgende Pakete habe ich über apt installiert:
+
* [[openSUSE]] 10.3
 
+
* [[openSUSE]] 10.2 mit bind 9.3.2
* bind
+
* SuSE 10.0 mit bind 9.3.1-8
 +
}}
 +
{{Box Wissen||
 +
* Umgang mit der [[Konsole]]
 +
* Umgang mit [[YaST]] zur Installtion
 +
* [[Runleveleditor]]
 +
* [[CNAME]]
 +
}}
 +
{{Box Installation||
 +
* bind  
 
* bind-chrootenv
 
* bind-chrootenv
 
* bind-libs
 
* bind-libs
 
* bind-utils
 
* bind-utils
* bind-debuginfo
+
* bind-debuginfo -
 
* bind-devel
 
* bind-devel
 
* bind-doc
 
* bind-doc
* bind-lwresd
+
* 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.
 
Daraus ergeben sich für Suse 10.0 folgende Konfigurationen in meinem Fall:
 
 
 
== Szenario ==
 
  
PC-Client: G4 Name: apple IP:192.168.3.8
+
(unter [[openSUSE]] 10.2 sind die mit einem - versehenen Pakete nicht verfügbar, auch nicht unbedingt nötig)
 +
}}
  
PC-Server: AMD 1,8GHz Suse 10.0 Name: linux IP: 192.168.3.1
+
Unter SuSE 10.0 und [[openSUSE]] 10.2 ist es eher umständlicher den Namensserver mit [[YaST]] konfigurieren. Weiterhin ist es nicht unbedingt zu empfehlen, mit include Dateien zu arbeiten, da diese gerade in diesem Zusammenhang eher zu einer Unübersichtlichkeit führen. Einzig und allein bei den Forwarders, wird hier eine include Datei eingesetzt. Die Ausführung sind identisch mit dem wie es durch [[YaST]] [[DNS-Server]] von openSUSE vorgesehen ist.
  
== Zonefile (Forward Mapping) ==
+
{{Box Hardware||
 
+
* PC-Client: G4 Name: apple IP:192.168.3.8
 
+
* Linux und Windows Clients werden noch zugefügt.
/var/lib/named/db.heim.netz
+
* PC-Server: AMD 1,8GHz SUSE Linux 10.0/[[openSUSE]] 10.2 Name: linux IP: 192.168.3.1
'''
+
}}
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 ==
 
== Konfigurationsdatei /etc/named.conf ==
  
 +
Hier müssen lediglich die forwarders an die eigenen angepasst werden. Wird eine andere Domain, als heim.netz benutzt, ist dieses zu ändern. Bei der IP ist genauso zu verfahren. Es ist unbedingt darauf zu achten, dass nach dem letzten ''};'' ein Absatz gemacht wird, da bind sonst nicht startet.
  
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:
+
# /etc/named.conf
 
 
 
  options {
 
  options {
 +
directory "/var/lib/named";
 +
notify no;
 +
include "/etc/named.d/forwarders.conf";
 +
};
 
   
 
   
  directory "/var/lib/named";
+
zone "." in {
 +
type hint;
 +
file "root.hint";
 +
};
 
   
 
   
  dump-file "/var/log/named_dump.db";
+
zone "0.0.127.in-addr.arpa" in {
  statistics-file "/var/log/named.stats";
+
type master;
+
file "127.0.0.zone";
        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 "heim.netz" in {
  zone "." in {
+
type master;
  type hint;
+
file "master/heim.netz.zone";
  file "root.hint";
 
 
  };
 
  };
 
   
 
   
  zone "localhost" in {
+
  zone "3.168.192.in-addr.arpa" in {
  type master;
+
type master;
  file "localhost.zone";
+
file "master/3.168.192.in-addr.arpa.zone";
 
  };
 
  };
 
   
 
   
zone "0.0.127.in-addr.arpa" in {
+
Den Dateinamen kann man frei wählen, oft wird er nach der Zone benannt (wie oben - also die Adresse in umgekehrter Reihenfolge), hindert aber nicht daran, einen einfacheren Namen wie <code>master/192.168.3.zone</code> zu wählen.
  type master;
+
 
  file "127.0.0.zone";
+
Die hint-Zone:
 +
zone "." in {
 +
type hint;
 +
file "root.hint";
 
  };
 
  };
 +
muss seit bind9 nicht mehr eingebaut sein, da sie von bind automatisch eingelesen wird. Es schadet aber nicht, diese zone der Übersicht halber eingebaut zu lassen (bei [[openSUSE]] steht sie per default drin).<ref name="DNS & Bind">S. 79</ref>
 +
 +
== Zonefile (Forward Mapping) ==
 +
 +
'''/var/lib/named/master/heim.netz.zone'''
 +
 +
; /var/lib/named/master/heim.netz.zone
 +
$TTL 1D
 +
@ IN SOA linux.heim.netz. hostmaster.linux.heim.netz. (
 +
142 ; Serial
 +
8H ; Refresh 8 Hours
 +
2H ; Retry  2 hours
 +
1W ; expiry  1 Week
 +
1D ; minimum 1 Day
 +
)
 +
IN NS linux.heim.netz.
 +
IN A 192.168.3.1
 
   
 
   
  include "/etc/named.conf.include";
+
  localhost IN A 127.0.0.1
 +
IN AAAA ::1
 +
linux IN A 192.168.3.1
 +
www IN CNAME linux
 +
apple IN A 192.168.3.8
 +
windowsxp IN A 192.168.3.15
  
 +
Hier wird [[CNAME]] als Alias eingesetzt, um die Seite statt mit http://192.168.3.1 mit http://www.heim.netz aufzurufen, bzw. A 192.168.3.1, um auch http://heim.netz/ zu ermöglichen.
  
In der /etc/named.conf.include  sollte dann dies drinstehen.
+
== Zonefile (Reverse Lookup) ==
  
 +
'''/var/lib/named/master/3.168.192.in-addr.arpa'''
  
 +
$TTL 1D
 +
@ IN SOA linux.heim.netz. hostmaster.linux.heim.netz. (
 +
142 ; Serial
 +
8H ; Refresh 8 Hours
 +
2H ; Retry  2 hours
 +
1W ; expiry  1 Week
 +
1D ; minimum 1 Day
 +
)
 +
IN NS linux.heim.netz.
 +
IN A 192.168.3.1
 +
 +
8 IN PTR apple.heim.netz.
 +
1 IN PTR linux.heim.netz.
 +
15 IN PTR windowsxp.heim.netz.
 +
 +
<code>root.hint</code> ist eine Datei. Da stehen die IP-Adressen der Rootnameserver des Internets drin. Die sind die Wurzel (deshalb ja auch root) des DNS. Ohne die gibt es dauerhaft kein DNS. Eine <code>root.hint</code> wird normalerweise mitgeliefert. Die muss ab und an mal aktualisiert werden. Dafür wird der <code>dig</code> Befehl genutzt:.
  
  zone heim.netz in {
+
  cd /var/lib/named
  type master;
+
dig @a.root-servers.net . ns > root.hint
  file "/var/lib/named/db.heim.netz";
 
};
 
  
 
== DNS starten ==
 
== 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.
+
Nun in ''[[YaST]]''2 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.
 
Nach der Anleitung sollte der nameserver nun laufen, und beim nächsten reboots automatisch starten.
Zeile 171: Zeile 146:
 
Wenn die Konfigurationsdateien geändert werden und der Nameserver die neu eingelesen werden soll, gibt man am Prompt ein:
 
Wenn die Konfigurationsdateien geändert werden und der Nameserver die neu eingelesen werden soll, gibt man am Prompt ein:
  
  linux:rndc reload
+
  rndc reload
  
  
 
Muss der ganze Nameserver neu gestartet werden, gibt man folgenden Befehl ein:
 
Muss der ganze Nameserver neu gestartet werden, gibt man folgenden Befehl ein:
  
  linux: rndc stop
+
  rndc stop
  linux: /usr/sbin/named -u named -g named
+
  /usr/sbin/named -u named -g named
 
+
  
 
Damit läuft der named korrekt unter dem Kennungnamen.
 
Damit läuft der named korrekt unter dem Kennungnamen.
Zeile 184: Zeile 159:
 
== Resolver und Clients konfigurieren ==
 
== Resolver und Clients konfigurieren ==
  
 +
=== /etc/resolv.conf ===
  
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.
+
In der '''/etc/resolv.conf''' gibt man an, welche Standarddomains für Kurznamen überprüft werden sollen, und welche Nameserver der Rechner abfragen soll.
'''
+
 
Code:'''
+
search heim.netz
 
  nameserver 192.168.3.1
 
  nameserver 192.168.3.1
search heim.netz
 
  
  
Und in /etc/sysconfig/network/config sollte die Zeile so aussehen:
+
=== /etc/sysconfig/network/config ===
 +
Und in '''/etc/sysconfig/network/config''' sollte die Zeile so aussehen:
  
 
  MODIFY_RESOLV_CONF_DYNAMICALLY="no"
 
  MODIFY_RESOLV_CONF_DYNAMICALLY="no"
  
 +
=== /etc/host.conf ===
 +
order hosts, bind
 +
multi on
 +
=== /etc/nsswitch.conf ===
 +
Die folgende Zeile sollte drinestehen:
 +
hosts: files dns
 +
=== /etc/hosts ===
 +
127.0.0.1 localhost
 +
#spezial IPv6 adresses
 +
::1 localhost ipv6-localhost ipv6-loopback
 +
192.168.3.1 linux.heim.netz
 +
192.168.3.1 heim.netz www.heim.netz
 +
 +
=== Clients ===
 +
 +
==== OS X ====
 +
Bei OS X --> Systemeinstellungen --> Netzwerk --> TCP/IP folgendes eingetragen:
  
Bei meinem Mac kann ich in meiner jetzigen Configuration folgendes eingeben:
+
[[Bild:OS X TCP-IP.png|thumb|center|300px]]
  
IP-Adresse: 192.168.3.8
+
==== Windows XP ====
Teilnetzmaske: 255.255.255.0
+
Netzwerkumgebung --> Rechtsklick --> Eigenschaften --> LAN-Verbindung --> Rechtsklcik --> Eigenschaften --> Internetprotokoll<nowiki>[TCP/IP]</nowiki> --> Eigenschaften --> wie hier im Screenshot ausfüllen
Router: 192.168.3.1
+
[[Bild:Eigenschaften-XP-02.jpg|thumb|300px|center]]
  DNS-Server: 192.168.3.1
+
--> auf Erweitert --> nach dem Vorbild des Bildschirmfotos die Daten in die Felder eintragen
Domain-Name: search heim.netz
+
[[Bild:XP DNS.jpg|thumb|300px|center]]
 +
Ok drücken --> Noch mal Ok drücken --> schließen drücken --> Im Browserfenster auf Arbeitsplatz mit der rechten Maustaste klicken --> Eigenschaften --> Computername --> Den Inhalt der folgenden Ansicht nach entsprechender Anpassung übernehmen.
 +
[[Bild:XP Computername.jpg|thumb|300px|center]]
  
 
== Fehlermeldung, Fehlersuche und Fehlerbehebung ==
 
== Fehlermeldung, Fehlersuche und Fehlerbehebung ==
  
  linux:/var/log # grep -ilr named ./*
+
  cd /var/log  
 
+
grep -ilr named ./*
 +
  
In meinem Fall musste in der
+
tail -f /var/log/messages
  
/etc/named.d/forwarders.conf
 
  
 +
== Quellen und weiterführende Links ==
 +
<references/>
 +
* http://www.isc.org/index.pl?/sw/bind/ {{Englisch}}
 +
* http://www.ag-intra.net/linux-kl-dns8.html {{Deutsch}} veraltet, da mit SuSE Linux 8.0/8.2 und bind8
 +
* http://de.wikipedia.org/wiki/Domain_Name_System {{Deutsch}}
 +
* [[w:bind]] {{Deutsch}}
 +
* http://www.pl-berichte.de/t_netzwerk/dns.html {{Deutsch}} von 2003 daher nicht mehr ganz aktuell
 +
* http://www.pl-berichte.de/t_netzwerk/dnssecure.html {{Deutsch}}
 +
* http://wiki.ubuntuusers.de/DNS-Server_Bind {{Deutsch}}
 +
* http://wiki.ubuntuusers.de/DNS-Server_Bind/Erweiterte_Konfiguration {{Deutsch}}
 +
* http://www.linuxfibel.de/nettest.htm {{Deutsch}}
 +
* http://www.oreilly.de/german/freebooks/linag2/netz0603.htm {{Deutsch}}
 +
* Administrator Reference Manual als pdf:
 +
** [http://www.isc.org/sw/bind/arm94/Bv9ARM.pdf BIND 9.4] {{Englisch}}
 +
** [http://www.isc.org/sw/bind/arm93/Bv9ARM.pdf BIND 9.3] {{Englisch}}
 +
* Buchtipp:
 +
** DNS und Bind aus dem O'Reilly Verlag. ISBN: 3897212900 http://www.amazon.de/exec/obidos/ASIN/3897212900/303-0322939-0892207 {{Deutsch}}
 +
** "Linux" Michael Koffler S. 1051-1061 ISBN3-8273-2342-8 {{Deutsch}}
  
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.
+
== Editorentabelle ==
  
 +
<div style="border: 1px solid #6EBA26; background-color:#6EBA26; font-size:1px; height:8px; border-bottom:1px solid #6EBA26;">
 +
</div>
 +
<div style="border: 1px solid #6EBA26; background-color:#FCFCE8; padding:7px;">'''<u>Editorentabelle</u>'''
 +
----
 +
'''Autor:'''[http://www.linux-club.de/faq/Benutzer:Yehudi Yehudi]
 +
----
 +
'''Ergänzungsautor:'''[[Benutzer:Jengelh|Jengelh]]
 +
----
 +
'''Lektor:'''
 +
----
 +
'''Designer:'''
 +
----
 +
'''Bilder:'''
 +
----
 +
'''Dank an:'''[[Benutzer:nbkr|nbkr]], [[Benutzer:baumpaul|baumpaul]] und [[Benutzer:Carsten|Carsten]]
 +
----
 +
'''Artikel ins Wiki eingefügt von:'''
 +
----
 +
<small>''Wenn Du möchtest, dass Deine Arbeit wie die des Ursprungsautoren gewürdigt wird, trage Dich in dieser Tabelle entsprechend ein.''</small>
 +
</div>
 +
----
  
 
[[DHCP und DNS|zurück zu DHCP und DNS]]
 
[[DHCP und DNS|zurück zu DHCP und DNS]]
[[Category:DHCP und DNS]]
+
[[Category:DHCP und DNS]] [[Category:Netzwerk]]

Aktuelle Version vom 25. November 2013, 22:25 Uhr

BIND (Berkeley Internet Name Domain)

ein open Source DNS Server
Basisdaten
Entwickler: ISC (Internet Systems Consortium)
Aktuelle Version: 9.4.1
letzte Veröffentlichung: 30. April 2007
Betriebssystem: UNIX, BSD, Linux, Mac OS X, Windows NT, z/OS
Kategorie: DHCP und DNS
Lizenz: BSD-Lizenz
Deutschsprachig: Nein
Webseite: http://www.isc.org/index.pl?/sw/bind/

Gebraucht wird diese Installation/Konfiguration, um als Server/Router mehreren Clients das Internet zur Verfügung zu stellen, und um auf einem eigenen Webserver ein Intranet mit einem eigenen Domainnamen bereitzustellen.

Die Installation

Diese Beschreibung wurde mit folgenden Distributionen getestet:
Diese Anleitung setzt die Kenntnis folgender Artikel vorraus:
Folgende Pakete (inkl. eventueller Abhängigkeiten) müssen installiert sein:
  • bind
  • bind-chrootenv
  • bind-libs
  • bind-utils
  • bind-debuginfo -
  • bind-devel
  • bind-doc
  • bind-lwresd -

(unter openSUSE 10.2 sind die mit einem - versehenen Pakete nicht verfügbar, auch nicht unbedingt nötig)


Unter SuSE 10.0 und openSUSE 10.2 ist es eher umständlicher den Namensserver mit YaST konfigurieren. Weiterhin ist es nicht unbedingt zu empfehlen, mit include Dateien zu arbeiten, da diese gerade in diesem Zusammenhang eher zu einer Unübersichtlichkeit führen. Einzig und allein bei den Forwarders, wird hier eine include Datei eingesetzt. Die Ausführung sind identisch mit dem wie es durch YaST DNS-Server von openSUSE vorgesehen ist.

Diese Beschreibung wurde mit folgender Hardware getestet:
  • PC-Client: G4 Name: apple IP:192.168.3.8
  • Linux und Windows Clients werden noch zugefügt.
  • PC-Server: AMD 1,8GHz SUSE Linux 10.0/openSUSE 10.2 Name: linux IP: 192.168.3.1


Konfigurationsdatei /etc/named.conf

Hier müssen lediglich die forwarders an die eigenen angepasst werden. Wird eine andere Domain, als heim.netz benutzt, ist dieses zu ändern. Bei der IP ist genauso zu verfahren. Es ist unbedingt darauf zu achten, dass nach dem letzten }; ein Absatz gemacht wird, da bind sonst nicht startet.

# /etc/named.conf
options {
	directory "/var/lib/named";
	notify no;
	include "/etc/named.d/forwarders.conf";
};

zone "." in {
	type hint;
	file "root.hint";
};

zone "0.0.127.in-addr.arpa" in {
	type master;
	file "127.0.0.zone";
};

zone "heim.netz" in {
	type master;
	file "master/heim.netz.zone";
};

zone "3.168.192.in-addr.arpa" in {
	type master;
	file "master/3.168.192.in-addr.arpa.zone";
};

Den Dateinamen kann man frei wählen, oft wird er nach der Zone benannt (wie oben - also die Adresse in umgekehrter Reihenfolge), hindert aber nicht daran, einen einfacheren Namen wie master/192.168.3.zone zu wählen.

Die hint-Zone:

zone "." in {
	type hint;
	file "root.hint";
};

muss seit bind9 nicht mehr eingebaut sein, da sie von bind automatisch eingelesen wird. Es schadet aber nicht, diese zone der Übersicht halber eingebaut zu lassen (bei openSUSE steht sie per default drin).<ref name="DNS & Bind">S. 79</ref>

Zonefile (Forward Mapping)

/var/lib/named/master/heim.netz.zone

; /var/lib/named/master/heim.netz.zone
$TTL 1D
@			IN SOA	linux.heim.netz. hostmaster.linux.heim.netz. (
				142	; Serial
				8H	; Refresh 8 Hours
				2H	; Retry   2 hours
				1W	; expiry  1 Week
				1D	; minimum 1 Day
			)
			IN NS		linux.heim.netz.			
			IN A		192.168.3.1

localhost		IN A		127.0.0.1
			IN AAAA		::1
linux			IN A		192.168.3.1
www			IN CNAME	linux
apple			IN A		192.168.3.8
windowsxp		IN A		192.168.3.15

Hier wird CNAME als Alias eingesetzt, um die Seite statt mit http://192.168.3.1 mit http://www.heim.netz aufzurufen, bzw. A 192.168.3.1, um auch http://heim.netz/ zu ermöglichen.

Zonefile (Reverse Lookup)

/var/lib/named/master/3.168.192.in-addr.arpa

$TTL 1D
@	IN SOA	linux.heim.netz. hostmaster.linux.heim.netz. (
		142	; Serial
		8H	; Refresh 8 Hours
		2H	; Retry   2 hours
		1W	; expiry  1 Week
		1D	; minimum 1 Day
	)
	IN NS	linux.heim.netz.			
	IN A	192.168.3.1

8	IN PTR	apple.heim.netz. 
1	IN PTR	linux.heim.netz.
15	IN PTR	windowsxp.heim.netz.

root.hint ist eine Datei. Da stehen die IP-Adressen der Rootnameserver des Internets drin. Die sind die Wurzel (deshalb ja auch root) des DNS. Ohne die gibt es dauerhaft kein DNS. Eine root.hint wird normalerweise mitgeliefert. Die muss ab und an mal aktualisiert werden. Dafür wird der dig Befehl genutzt:.

cd /var/lib/named
dig @a.root-servers.net . ns > root.hint

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:

rndc reload


Muss der ganze Nameserver neu gestartet werden, gibt man folgenden Befehl ein:

rndc stop
/usr/sbin/named -u named -g named

Damit läuft der named korrekt unter dem Kennungnamen.

Resolver und Clients konfigurieren

/etc/resolv.conf

In der /etc/resolv.conf gibt man an, welche Standarddomains für Kurznamen überprüft werden sollen, und welche Nameserver der Rechner abfragen soll.

search heim.netz
nameserver 192.168.3.1


/etc/sysconfig/network/config

Und in /etc/sysconfig/network/config sollte die Zeile so aussehen:

MODIFY_RESOLV_CONF_DYNAMICALLY="no"

/etc/host.conf

order	hosts, bind
multi	on

/etc/nsswitch.conf

Die folgende Zeile sollte drinestehen:

hosts: files dns

/etc/hosts

127.0.0.1	localhost 
#spezial IPv6 adresses
::1		localhost ipv6-localhost ipv6-loopback
192.168.3.1	linux.heim.netz
192.168.3.1	heim.netz www.heim.netz

Clients

OS X

Bei OS X --> Systemeinstellungen --> Netzwerk --> TCP/IP folgendes eingetragen:

OS X TCP-IP.png

Windows XP

Netzwerkumgebung --> Rechtsklick --> Eigenschaften --> LAN-Verbindung --> Rechtsklcik --> Eigenschaften --> Internetprotokoll[TCP/IP] --> Eigenschaften --> wie hier im Screenshot ausfüllen

Eigenschaften-XP-02.jpg

--> auf Erweitert --> nach dem Vorbild des Bildschirmfotos die Daten in die Felder eintragen

XP DNS.jpg

Ok drücken --> Noch mal Ok drücken --> schließen drücken --> Im Browserfenster auf Arbeitsplatz mit der rechten Maustaste klicken --> Eigenschaften --> Computername --> Den Inhalt der folgenden Ansicht nach entsprechender Anpassung übernehmen.

XP Computername.jpg

Fehlermeldung, Fehlersuche und Fehlerbehebung

cd /var/log 
grep -ilr named ./*

tail -f /var/log/messages


Quellen und weiterführende Links

<references/>

Editorentabelle

Editorentabelle

Autor:Yehudi


Ergänzungsautor:Jengelh


Lektor:


Designer:


Bilder:


Dank an:nbkr, baumpaul und Carsten


Artikel ins Wiki eingefügt von:


Wenn Du möchtest, dass Deine Arbeit wie die des Ursprungsautoren gewürdigt wird, trage Dich in dieser Tabelle entsprechend ein.


zurück zu DHCP und DNS