DNS Server
Aus Fedorawiki.de
| |
Dieser Artikel ist noch nicht vollständig. Du kannst helfen, ihn zu bearbeiten. |
Die Hauptaufgabe vom Domain Name System (DNS) ist die Umsetzung von IP-Adressen in einen für Menschen besser lesbare Form. Dieser Vorgang wird forward lookup genannt. Das DNS ist eine weltweit auf tausende von Servern verteilte hierarchische Datenbank, die den Namensraum des Internets, welche in sogenannte Zonen unterteilt ist, verwaltet. Eine Internet unabhängige Nutzung in einem lokalen Netzwerk bringt diverse Vorteile und kann einem das Leben vereinfachen.
Als sehr einfache Lösung für kleine Netzwerke gibt es die Datei /etc/hosts. Diese Datei muss jedoch auf allen Maschinen im Netzwerk konsistent gehalten werden, was in einer grösseren Netzwerk-Umgebung mit Arbeit verbunden ist.
DNS zeichnet sich durch folgende Punkte aus.
- dezentrale Verwaltung
- hierarchische Strukturierung des Namensraums in Baumform
- Eindeutigkeit der Namen
- Erweiterbarkeit
Inhaltsverzeichnis |
Kurze Einführung in das DNS
BIND ist ein Begriff, der häufig in Bezug zu DNS fällt. Er ist die Abkürzung von Berkeley Internet Name Domain, welche Wartung der DNS-relevanten Software-Teile für Linux macht. Der bekannteste teil aus diesem Programm ist der DNS-Server mit dem Namen named.
Soll ein Host in einem Netzwerk zu einem anderen Host über desen Hostnamen (FQDN - fully qualified domain name) verbinden, wird DNS verwendet, um die IP-Adressen des Rechner über desen Hostnamen zu bestimmen.
Der FQDN
server01.homenet.example.com
bildet mit Ausnahme des Hostnamens für jeden Bereich eine Zone. Diese sind einem bestimmten Namespace (Namensbereich) zugeordnet. Der Namespace kontrolliert die Bezeichnung der Subdomains auf der linken Seite. Und so funktioniert auch die Auflösung, sie erfolgt von rechts nach links. Diese Bereiche werden im DNS in einer Hierarchie, ähnlich wie bei einem Baum mit Hauptstamm mit den entsprechenden Abweigungen angeordnet.
Es gibt diverse Nameserver-Type
- Master — speichert die massgeblichen Zonen für einen bestimmten Namespace und beantwortet Anfragen von anderen Nameservern zu diesem Namespace
- Slave — beantwortet ebenfalls die Anfragen anderer Nameserver bezüglich des Namespace, er erhalten seine Informationen über ein Namespace von Master-Nameservern.
- Caching-Only — bietet Services für IP-Auflösungen und speichert die Anfragen eine gewisse Zeit
- Forwarding — leitet Anfragen zum Auflösen an eine Liste von Nameservern weiter.
Installation
Die Installation eines DNS-Servers ist mit yum, yumex oder pirut sehr einfach.
Konfiguration
Die Datei /etc/named.conf beinhaltet eine Ansammlung von Direktiven, die in verschachtelte, geschweifte Klammern platzierte { }-Optionen verwenden.
named.conf
// Example named.conf file
options {
directory "/var/named";
allow-query { 10.0.0.0/8; localhost; };
allow-recursion { 10.0.0.0/8; localhost; };
forward first;
forwarders {
0.0.0.0;
1.1.1.1;
};
topology {
10/8;
};
};
// Enable RNDC connections from this host.
controls {
inet 127.0.0.1 allow { localhost; } keys { rndc_key; };
};
// This is the root servers zone file, already present on this system.
zone "." {
type hint;
file "named.ca";
};
// This is the localhost zone file, already present on the system.
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
// This is the reverse zone file for localhost, already present on the system.
zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
allow-update { none; };
};
// This is the zone file for our domain. Edit this entry to reflect your domain.
zone "homenet.example.com" {
allow-transfer { 10.0.0.0/8; localhost; };
allow-query { any; };
allow-update { none; };
type master;
file "homenet.example.com";
};
// This is the reverse zone file for our domain. Edit it to reflect the IP network
// assigned to you. (note - in reverse! network 10.1.2.0 becomes 2.1.10.in-addr.arpa)
zone "2.1.10.in-addr.arpa" {
allow-transfer { 10.0.0.0/8; localhost; };
allow-query { any; };
allow-update { none; };
type master;
file "2.1.10.in-addr.arpa";
};
// A key file needs to be referenced for use by rndc.
include "/etc/rndc.key";
Generieren des RNDC Schlüssel
Dieser Schlüssel wird von named für den Betrieb benötigt .
Zone-Dateien
Die Zonen-Dateien enthalten alle Informationen über einen bestimmten Namespace.
forward
Dieses Beispiel ist für eine forward-Zone.
$ORIGIN example.com
$TTL 86400
@ IN SOA ns.homenet.example.com. hostmaster.example.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
localhost A 127.0.0.1
server A 10.1.2.1
ns A 10.1.2.1
dhcp-01 A 10.1.2.10
dhcp-02 A 10.1.2.11
dhcp-03 A 10.1.2.12
reverse
Nun die reverse-Variante
$ORIGIN 1.0.10.in-addr.arpa
$TTL 86400
@ IN SOA ns.homenet.example.com. hostmaster.example.com. (
2001062501 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
NS server.homenet.example.com.
1 PTR server.homenet.example.com.
10 PTR dhcp-01.homenet.example.com.
11 PTR dhcp-02.homenet.example.com.
12 PTR dhcp-03.homenet.example.com.
DNS-Server soll sich selber nutzen
Als root kann folgender Befehl ausgeführt werden, damit sich der DNS-Server selber braucht zum Auflösen der Adressen.
cat <<END_ENTRY > /etc/resolv.conf nameserver 127.0.0.1 search homenet.example.com END_ENTRY
Verwendung
Wenn alles wunschgemäss funktioniert sollte, sollte named bereits beim Start ausgeführt werden.
Starten
Neustarten
Damit named beim System-Start gestartet wird, muss
Siehe auch
Links