Orgapage







Konfiguration eines DNS-Servers unter Linux
Im folgenden wird die Einrichtung eines DNS-Servers unter Linux beschrieben.
Wegen der großen Verbreitungszahlen beschränken wir uns auf SUSE-Linux.

Inhalt:
  • Das Paket „Named“
  • Optionen
  • Konfigurationsdateien
  • localhost.zone
  • 127.0.0.zone
  • Zoneninformationen
  • Start

Das Paket „named“ befindet sich im BIND Paket.
Folgende Einträge in den Konfigurationsdateien

/etc/hosts, /etc/resolv.conf und /etc/nsswitch.conf, sind nötig:

/etc/hosts
In den einzelnen /etc/hosts Dateien auf sämtlichen Maschinen im Netz können alle Einträge bis auf 127.0.0.1 localhost wegfallen, da jetzt die Verwaltung aller Rechnernamen und IP-Adressen zentral über den Nameserver erfolgt.

/etc/resolv.conf
search home.nil
nameserver 192.168.10.243

/etc/nsswitch.conf
hosts: files dns


named.conf
Die zentrale Konfigurationsdatei des Nameservers ist die named.conf. Unter SuSE Linux liegt sie im Pfad /etc/named.conf.
Im folgenden wird ein Beispiel für eine Konfigurationsdatei für named angezeigt. Kommentare sind immer mit "#" markiert.
Sollen die Einstellungen aktiviert werden, genügt es, das # Zeichen zu entfernen .

#
# overall options of the server
#
options {
directory "/var/named";
# the default is to fail, if the master file is not correct
check-names master warn;

Der Eintrag directory weist auf das Verzeichnis, in dem alle relevanten weiteren Konfigurationsdateien liegen.

pid-file "/var/run/named.pid";
statistics-interval 0;
cleaning-interval 720;

datasize default;
stacksize default;
coresize default;
files unlimited;
recursion yes;

multiple-cnames no;

Fortgeschrittene Konfigurationen:

# list of DNS servers to ask
# forwarders {
# 192.168.10.243;
# 192.168.10.244;
#};
};


Unter forwarders werden die Nameserver aufgelistet.

# the default is to listen on port 53 on all available #interfaces
# you can also give a detailed list:
listen-on { 127.0.0.1; 192.168.10.243; };
#listen-on port 1234 { !1.2.3.4; 1.2/16; };

#
# predefined access control lists (acl):
# "any" allows all hosts
# "none" denies all hosts
# "localhost" allows the IP adresses of all interfaces of the # system
# "localnets" allows any host on a network of the local
# interfaces
#
# defining an additional ACL:
#acl can_download { 192.168.10.217; 192.168.10.218; };


Die ACLs oder "Access Control Lists" regelt die Zugriffe DNS-Abfragen. DNS-Abfragen und Zonentransfers können so bestimmten Nutzern erlaubt und bestimmten gesperrt werden.
Es ist dabei unwichtig, ob die Zugriffe von innen (innerhalb des Netzwerkes) oder von außen (von außerhalb des Netzwerkes) erfolgen. „Any“ gibt jedem Client Zugriff auf die Abfragen. „None“ verbietet allen Clients den Zugriff. „Localhost“ erlaubt nur Anfragen von allen Interfaces der lokalen Maschine. „Localnets“ erlaubt den allen Rechnern innerhalb des Netzwerkes den Zugriff.

Einen guten Schutz bietet nur die Erstellung einer eigenen ACL, wie folgendes Beispiel:

acl query { 192.168.10.243; 192.168.10.244};,

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

zone "localhost" IN {
type master;
file "localhost.zone";
check-names fail;
allow-update { none; };
};

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

zone "home.nil" IN {
type master;
file "home.nil.zone";
allow-query { localnets; };
allow-transfer { none; };
notify no;
};

zone "10.168.192.in-addr.arpa" IN {
type master;
file "192.168.10.zone";
allow-query { localnets; };
allow-transfer { none; };
notify no;


Die einzelnen zu durchsuchenden Zonen werden hier definiert. Außerdem wird auf die Datei root.ini verwiesen, welche die Namen und IP-Adressen aller Rootnameserver enthällt.
Zuerst versucht der Nameserver aus seinem Cache einen Eintrag zu finden.
Ist diese Suche erfolglos, so wird der DNS-Baum von oben nach unten durchsucht.
In der Datei root.ini sind die Adressen aufgelistet, welche gesucht werden sollen.

Die zone "localhost" und zone "0.0.127.in-addr.arpa" weisen auf die Zoneninformationen des lokalen Rechners.

Die zone "home.nil" und zone "10.168.192.in-addr.arpa" verwalten die Zoneninformationen über das lokale Netz.

sonstige Konfigurationsdateien

root.hint
Die Datei /var/named/root.hint enthält die Adressen aller Rootserver weltweit.

; This file holds the information on root name servers
; needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache . "
; configuration file of BIND domain name servers).
;

...

;
;
; formerly NS.INTERNIC.NET
;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; formerly NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
;
; formerly C.PSI.NET
;

...

. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
; End of File


localhost.zone und 127.0.0.zone
/var/named/localhost.zone enthält Daten über Rechner, auf dem der Nameserver läuft.

$TTL 3D
@ 1D IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

1D IN NS @
1D IN A 127.0.0.1


"$TTL .. gibt die Time-to-Live Spanne (Lebensdauer) der enthaltenen Daten an.

Resource Records (RR). Die wichtigsten Resource Records:

SOA Record (Start of Authority)
gibt an, wem die Authority zu dieser Domain zugeordnet ist (Welcher Nameserver die Informationen zu der Domain besitzt)
und enthällt die Email-Adresse des Administrators

NS Record (Nameserver Record)
listet die Nameserver einer Domain auf

A Record
A Records schlüsseln die Zuordnung von Namen zu IP-Adressen auf

PTR Record
Zuordnung von IP-Adressen zu Namen

serial
dient dem sekundären Server als Anhaltspunkt, ob sein Datenbestand aktuell ist

refresh
Diese Zeitangabe für sekundären Server, wann nach frischen Infos gefragt werden soll

retry
Zeitspanne, für Wiederholung der Anfrage an Master-Server

expiry
Zeitangabe, wie lange versucht werden soll, Infos abzufragen


Zoneninformationen
Für die Zuordnung der Rechnernamen zu den zugehörigen IP-Adressen des lokalen Netzes wird eine Datei /var/named/home.nil.zone mit folgendem Inhalt angelegt:

$TTL 3D
@ 1D IN SOA lanorga.home.nil. root.home.nil (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

1D IN NS lanorga.home.nil.
localhost 1D IN A 127.0.0.1
lanorga1 1D IN A 192.168.10.201
lanorga2 1D IN A 192.168.17.202
lanorga3 1D IN A 192.168.17.203
lanorga4 1D IN A 192.168.17.204


Startet man jetzt neu, kann man per nslookup rechnernamen eines lokalen Host auflösen.
Für die richtige Auflösung von IP-Adressen zu Namen, müssen wir noch eine Datei 192.168.10.zone Datei mit folgenden Inhalt erzeugen:

$TTL 3D
@ 1D IN SOA lanorga.home.nil. root.home.nil (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

1D IN NS lanorga.home.nil.

1 1D IN PTR lanorga1.home.nil.
2 1D IN PTR lanorga2.home.nil.
3 1D IN PTR lanorga3.home.nil.
4 1D IN PTR lanorga4.home.nil.



Der Start

Für die Autostart Funktion müssen wir noch in der Datei /etc/rc.config die Einstellung aufSTART_NAMED = “yes“ stellen

#
# start the named (package bind)? You have to configure the named first,
# before you can start it (man named).
#
START_NAMED="yes"


Manuell wird Named mit rcnamed start gestartet.



Weitere Seiten zu diesem Thema:
URL: Von:
Titel:  
Captcha:
Text bewerten:
Aktuelle Wertung: 0 (0x)
Seit der letzten nderung: 0 (0x)

Kommentare     Seite: [0] [1]
11. Sep. 2003 - 22:54 erstellt von Ludas
Webmin sch?n und gut, aber das kommt nur mit Bind 8 klar, nicht mit Bind 9. Am besten Redhat 9 nehmen, da ist alles drin und man kann es ?ber Desktop einrichten. Damit d?rfte es jeder schaffen das einzurichten.
16. Oct. 2003 - 18:27 erstellt von tell
m?glicherweise eine einfacherer DNS server:

http://www.posadis.org/ f?r win32, linux, bsd

hat auch noch einen kleinen Bruder SANS, der wohl angeblich, die grundlegensten Funktionen hat, und angeblich extrem einfach zu managen ist.
01. Nov. 2003 - 02:38 erstellt von soeren
probiert mal djbdns aus. (http://cr.yp.to)
wird ganz leicht ueber ein paar skripte verwaltet.
06. Sep. 2009 - 12:44 erstellt von Winchester
Neben einen ausgewachsenen DNS Server kann man auch gut das Programm Dnsmasq unter Linux verwenden. Er fungiert als DNS Forwarder f?r Internet Router, l?st aber auch lokale Adressen auf die in der hosts Datei stehen. Also ideal eigentlich f?r LAN Partys. Zudem ist es auch ein einfacher DHCP Server welcher der die per DHCP verteilelten Adressen ebenfalls im DNS einpflegt. So das jeder Rechner der via DHCP eine Adresse bekommen hat im LAN auch unter seinem Hostnamen erreichbar ist.

Hier zu finden: http://www.thekelleys.org.uk/dnsmasq/doc.html

In den meisten Distributionen l?sst er sich aber ?ber den Paketemanager nach installieren.

Die Kommentar-Funktion ist derzeit leider deaktiviert.
Bitte nutze das Forum statt dessen.