IT-Academy Logo
Sign Up Login Help
Home - Betriebssysteme - Linux - Server/Internet/Netzwerk - Primary DNS unter Linux



Primary DNS unter Linux

Es gibt immer mehr Administratoren und Freaks die ihren eigenen DNS-Server betreiben möchten. Hier der schnelle Weg zum eigenen Primary-DNS-Server.


Autor: Martin Puaschitz (onestone)
Datum: 23-01-2002, 19:06:57
Referenzen: Albitz P. & Liu C. - DNS and BIND; O'Reily 1998
Schwierigkeit: Anfänger
Ansichten: 8943x
Rating: Bisher keine Bewertung.

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Der erste Schritt ist, das Paket BIND8 (für diese gelten die folgenden Konfigurationen) zu installieren. Viele Administratoren sind der Meinung, dass BIND4 wesentlich einfacher in der Konfigurations ist. Das mag sein, aber ich glaube, es wird unübersichtlich, sobald viele Einträge notwendig werden - und so kompliziert ist BIND8 nun auch wieder nicht. Die Installation machen wir bei S.u.S.E am besten über Yast falls es noch nicht installiert sein sollte (oft ist es bereits installiert).

Nachdem BIND8 auf unserem System ist, müssen wir anfangen, die notwendigen Dateien zu konfigurieren. Das wichtige dabei ist, dass die DNS-Server (master und secondary) problemlos funktionieren müssen, bevor (!) man der Domainverwaltungsstelle (internic, nic.at und andere) oder dem Provider die neuen Daten der DNS-Server übermittelt bzw. eine neue Domain registriert. Das ist deshalb notwendig, da die Vergabestellen unseren DNS-Server testen, ob auch korrekte Informationen ausgegeben werden (mehr oder weniger eine Konfigurationskontrolle).

Bei BIND8 sieht die Konfiguration folgendermaßen aus: Es gibt eine Hauptdatei in welcher alle einzelnen Zonen eingelesen werden. In dieser Datei wird festgelegt, was der Server für welche Zone darstellt. In den einzelnen Zonen (jede in einer seperaten Datei) werden hingegen die Daten der einzelnen Zonen (=Domains) gespeichert.

Der erste Schritt ist also, den master-DNS zu konfigurieren. Die Hauptkonfigurationsdatei ist /etc/named.conf. Der Inhalt sieht in etwa wie folgt aus:

Verzeichnis festgelegt, in welchem die einzelnen
"/var/named/";

check-names master warn;
pid-file "/var/run/named.pid";

sinnvoll.
datasize default;
stacksize default;
coresize default;
files unlimited;
recursion yes;
multiple-cnames no;

};

erste Zone ist Default. Nicht löschen.
zone "." IN {
type hint;
file "root.hint";
};

löschen.
zone "localhost" IN {
type master;
file "/var/named/localhost.zone";
check-names fail;
allow-update { none; };
};

"0.0.127.in-addr.arpa" IN {
type master;
file "127.0.0.zone";
check-names fail;
allow-update { none; };
};

eingetragen.
{
(secondary) ist:
angegeben. Zu beachten ist,
Verzeichnis festgelegt haben. Deshalb ist hier nur der Dateiname
"foo.com";'
Zone zu übertragen:
yes;
};

/etc/named.conf Daten für master und für slave-zonen beinhalten - das ist sogar sinnvoll! Die einzige (nicht notwendige) Unterteilung könnte sein, dass oben in der Datei die master- und unten die Slave-Server angegeben werden. Das ist allerdings Geschmackssache. Siehe auch Konfiguration von Slave-DNS-Servern: http://www.it-academy.cc/article.php?ID=0000000022.

Nun wäre also die Hauptkonfiguration abgeschlossen. Bis jetzt haben wir also die lokalen Zonen (die jeder DNS Server braucht) definiert, und die Domain foo.com als master angegeben. In weiterer Folge erlauben wir nur "ip-adresse-secondary-dns" den Transfer der Zone. Nun geht es allerdings daran, die Zone foo.com zu konfigurieren. Hierzu wechseln wir in das Verzeichnis /var/named/. Dort sind folgende Dateien (Zonen) enthalten:

-rw-r--r-- 1 named root 228 Jul 29 2000 127.0.0.zone
-rw-r--r-- 1 named root 184 Jul 29 2000 localhost.zone
-rw-r--r-- 1 named root 1637 Sep 21 2000 root.hint

Diese Filenamen haben wir bereits in /etc/named.conf in den oberen drei Zonen-Definitionen gesehen. Wir brauchen diese Zonen nicht zu ändern um einen funktionierenden DNS-Server zu erhalten. Deswegen legen wir einfach ein neues File an, indem wir die Zone foo.com definieren (Achtung, hier bei der Vergabe der Rechte aufpassen - "chmod 644 Dateiname" ist danach sinnvoll). Wir können die Zone benennen, wie wir möchten, allerdings muss es dem Dateinamen, den wir in /etc/named.conf angegeben haben, entsprechen.

Wichtig: Kommentare werden hier nicht mit " ;;
$TTL 2d
;;
;; "hausmeister.foo.com." entspricht dem vollständigen Domainnamen,
;; inklusive Rechnernamen (=hausmeister). Zu beachten ist der "."
;; NACH dem Domain - wichtig! ;) "martin.puaschitz.at." entspricht
;; "martin@puaschitz.at." und ist die Emailadresse des Administrators.
;; Der Punkt danach ist wiederum wichtig!
;;
@ 86400 IN SOA hausmeister.foo.com. martin.puaschitz.at. (
;;
;; Die Serial ist wichtig, da der Secondary-DNS die Zone nur
;; überträgt, wenn diese Zahl höher ist, als in der von ihm
;; gespeicherten Zone. Das Datum + Zwei Ziffern (für Änderungen
;; am gleichen Tag) hat sich hier oft bewährt.
;;
2000103101 ; serial
;;
28800 ; refresh
7200 ; retry

;;
;; Zonen müssen nach einer gewissen Zeit wieder ungültig werden,
;; damit sie neu angefordert werden. Das ist wichtig, da Änderungen
;; an der Konfiguration sonst nicht schnell verbreitet werden und
;; jeder DNS-Server "alte" Daten gespeichert hat. Angaben in
;; Sekunden.
;;
604800 ; expire
86400 ) ; Minimum ttl

;;
;; Wir definieren den Namen unseres master-DNS-Servers.
;; Punkt am Ende beachten.
;;
IN NS ns.foo.com.
;;
;; Wir definieren den Namen unseres secondary-DNS-Servers.
;; Punkt am Ende beachten.
;;
IN NS ns1.bar.com
;;
;; Wir definieren ein Mail-Exchange damit E-Mails ankommen.
;; Die Zahlt definiert eigentlich, welche Priorität dieses Gerät hat,
;; wenn es um die Mailauslieferung geht. Wenn hier also mehrere
;; Geräte angeführt werden, ist es möglich, Proritäten zu vergeben.
;;
IN MX 5 mail
;;
;; Unsere IP-Adresse:
IN A unsere-ip-adresse
;;
;; Es folgen Standard-Definitionen
;; (Abstände sollten Tabulator entsprechen).
;;
localhost IN A 127.0.0.1
;;
;; Unsere IP-Adresse zwei Mal.
;;
ns A unsere-ip-adresse
;;
;; Damit neben http://foo.com auch http://www.foo.com gilt:
;;
www A unsere-ip-adresse
;;
mail.foo.com (hier brauchen wir nicht mehr die IP-Adresse sondern
;; können schon www verwenden).
;;
mail CNAME www
;;
;; Alternativ kann hier auch stehen:
;; mail CNAME IP-ADRESSE.
;; Somit wird auf Anfragen für mail.foo.com eine andere IP-Adresse
;; als die von foo.com angegeben.
;;
;; Ende von /var/named/foo.com

So gesehen, sind wir bereits fertig mit der Konfiguration. Wie gesagt, müssen die Rechte der Zonen-Datei korrekt vergeben sein (siehe oben). Danach kann man bereits den DNS-Server mit "/sbin/init.d/named restart" starten. Nun sollten wir unserem System nur noch angeben, dass es für Anfragen den eigenen DNS-Server verwenden soll (hier ist meist der des Providers eingestellt). Dazu bearbeiten wir die Datei /etc/resolv.conf wie folgt. Falls man die Warnung im Kommentar dieses File nicht zu bearbeiten, zu ernst nimmt, kann man dies auch über Yast umändern. Allerdings gibt es keine Probleme, die Datei manuell zu ändern.

/etc/resolv.conf
nun möglich sind mit z.B. "nslookup slashdot.com" die IP-Adresse des Servers ausfindig zu machen. Die Ausgabe sollte dann wie folgt aussehen:

nslookup www.slashdot.org
Server: foo.com
Address: unsere-ip-adresse

Name: slashdot.org
Address: 64.28.67.150
Aliases: www.slashdot.org



[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04510
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06247
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1157
Comments: 0