Alle Einstellungen für den BIND-Namenserver selbst sind in der Datei /etc/named.conf
gespeichert. Die Zonendaten für die zu bearbeitenden Domänen, die aus Hostnamen, IP-Adressen usw. bestehen, sind jedoch in gesonderten Dateien im Verzeichnis /var/lib/named
gespeichert. Einzelheiten hierzu werden weiter unten beschrieben.
/etc/named.conf
lässt sich grob in zwei Bereiche untergliedern. Der eine ist der Abschnitt options
für allgemeine Einstellungen und der zweite besteht aus zone
-Einträgen für die einzelnen Domänen. Der Abschnitt logging
und die Einträge unter acl
(access control list, Zugriffssteuerungsliste) sind optional. Kommentarzeilen beginnen mit #
oder mit //
. Eine Minimalversion von /etc/named.conf
finden Sie in Beispiel 22.2, „Eine Grundversion von /etc/named.conf“.
Beispiel 22.2. Eine Grundversion von /etc/named.conf
options { directory "/var/lib/named"; forwarders { 10.0.0.1; }; notify no; }; zone "localhost" in { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" in { type master; file "127.0.0.zone"; }; zone "." in { type hint; file "root.hint"; };
Dateiname
";
Gibt das Verzeichnis an, in dem BIND die Dateien mit den Zonendaten finden kann. In der Regel ist dies /var/lib/named
.
ip-adresse
; };
Gibt die Namenserver (zumeist des Anbieters) an, an die DNS-Anforderungen weitergeleitet werden sollen, wenn sie nicht direkt aufgelöst werden können. Ersetzen Sie IP-Adresse
durch eine IP-Adresse wie 192.168.1.116
.
Führt dazu, dass DNS-Anforderungen weitergeleitet werden, bevor versucht wird, sie über die Root-Namenserver aufzulösen. Anstatt forward first
kann forward only
verwendet werden. Damit werden alle Anforderungen weitergeleitet, ohne dass sie an die Root-Namenserver gesendet werden. Dies ist bei Firewall-Konfigurationen sinnvoll.
IP-Adresse
; \};
Informiert BIND darüber, an welchen Netzwerkschnittstellen und Ports Client-Abfragen akzeptiert werden sollen. port 53
muss nicht explizit angegeben werden, da 53
der Standardport ist. Geben Sie 127.0.0.1
ein, um Anforderungen vom lokalen Host zuzulassen. Wenn Sie diesen Eintrag ganz auslassen, werden standardmäßig alle Schnittstellen verwendet.
Informiert BIND darüber, welcher Port auf IPv6-Client-Anforderungen überwacht werden soll. Die einzige Alternative zu any
ist none
. Bei IPv6 akzeptiert der Server nur Wildcard-Adressen.
Dieser Eintrag ist erforderlich, wenn eine Firewall ausgehende DNS-Anforderungen blockiert. Dadurch wird BIND angewiesen, Anforderungen extern von Port 53 und nicht von einem der Ports mit den hohen Nummern über 1024 aufzugeben.
Informiert BIND darüber, welcher Port für IPv6-Abfragen verwendet werden soll.
net
; };
Definiert die Netzwerke, von denen aus Clients DNS-Anforderungen aufgeben können. Ersetzen Sie Netz
durch Adressinformationen wie 192.168.2.0/24
. Der Wert /24
am Ende ist ein abgekürzter Ausdruck für die Netzmaske, hier 255.255.255.0
.
Legt fest, welche Hosts Zonentransfers anfordern können. Im vorliegenden Beispiel werden solche Anforderungen mit ! *
vollständig verweigert. Ohne diesen Eintrag können Zonentransfer ohne Einschränkungen von jedem beliebigen Ort aus angefordert werden.
Ohne diesen Eintrag generiert BIND in der Datei /var/log/messages
pro Stunde mehrere Zeilen mit statistischen Informationen. Setzen Sie diesen Wert auf "0", um diese Statistiken vollständig zu unterdrücken, oder legen Sie ein Zeitintervall in Minuten fest.
Diese Option legt fest, in welchen Zeitabständen BIND den Cache leert. Jedes Mal, wenn dies geschieht, wird ein Eintrag in /var/log/messages
ausgelöst. Die verwendete Einheit für die Zeitangabe ist Minuten. Der Standardwert ist 60 Minuten.
BIND durchsucht die Netzwerkschnittstellen regelmäßig nach neuen oder nicht vorhandenen Schnittstellen. Wenn dieser Wert auf 0
gesetzt ist, wird dieser Vorgang nicht durchgeführt und BIND überwacht nur die beim Start erkannten Schnittstellen. Anderenfalls wird das Zeitintervall in Minuten angegeben. Der Standardwert ist 60 Minuten.
no
verhindert, dass anderen Namenserver informiert werden, wenn Änderungen an den Zonendaten vorgenommen werden oder wenn der Namenserver neu gestartet wird.
Der Umfang, die Art und Weise und der Ort der Protokollierung kann in BIND extensiv konfiguriert werden. Normalerweise sollten die Standardeinstellungen ausreichen. In Beispiel 22.3, „Eintrag zur Deaktivierung der Protokollierung“ sehen Sie die einfachste Form eines solchen Eintrags, bei dem jegliche Protokollierung unterdrückt wird.
Beispiel 22.3. Eintrag zur Deaktivierung der Protokollierung
logging { category default { null; }; };
Beispiel 22.4. Zoneneintrag für "example.com"
zone "example.com" in { type master; file "example.com.zone"; notify no; };
Geben Sie nach zone
den Namen der zu verwaltenden Domäne (example.com
) an, gefolgt von in
und einem Block relevanter Optionen in geschweiften Klammern, wie in Beispiel 22.4, „Zoneneintrag für "example.com"“ gezeigt. Um eine Slave-Zone zu definieren, ändern Sie den Wert von type
in slave
und geben Sie einen Namenserver an, der diese Zone als master
verwaltet (dieser kann wiederum ein Slave eines anderen Masters sein), wie in Beispiel 22.5, „Zoneneintrag für "example.net"“ gezeigt.
Beispiel 22.5. Zoneneintrag für "example.net"
zone "example.net" in { type slave; file "slave/example.net.zone"; masters { 10.0.0.1; }; };
Zonenoptionen:
Durch die Angabe master
wird BIND darüber informiert, dass der lokale Namenserver für die Zone zuständig ist. Dies setzt voraus, dass eine Zonendatei im richtigen Format erstellt wurde.
Diese Zone wird von einem anderen Namenserver übertragen. Sie muss zusammen mit masters
verwendet werden.
Die Zone .
vom Typ hint
wird verwendet, um den root-Namenserver festzulegen. Diese Zonendefinition kann unverändert beibehalten werden.
example.com.zone
oder Datei „slave/example.net.zone“;
In diesem Eintrag wird die Datei angegeben, in der sich die Zonendaten für die Domäne befinden. Diese Datei ist für einen Slave nicht erforderlich, da die betreffenden Daten von einem anderen Namenserver abgerufen werden. Um zwischen Master- und Slave-Dateien zu unterscheiden, verwenden Sie das Verzeichnis slave
für die Slave-Dateien.
server-ip-adresse
; };Dieser Eintrag ist nur für Slave-Zonen erforderlich. Er gibt an, von welchem Namenserver die Zonendatei übertragen werden soll.
Mit dieser Option wird der externe Schreibzugriff gesteuert, der Clients das Anlegen von DNS-Einträgen gestattet. Aus Sicherheitsgründen wird davon abgeraten, den Clients Schreibzugriff zu gewähren. Ohne diesen Eintrag sind überhaupt keine Zonenaktualisierungen zulässig. Der oben stehende Eintrag hat dieselbe Wirkung, da ! *
solche Aktivitäten effektiv unterbindet.