BIND9/rndc
Die Verwendung von rndc
BIND enthält das Utility rndc, mit dem Sie den named-Daemon über die Befehlszeile vom lokalen und von einem Remote Host verwalten können.
Um zu verhindern, dass nicht authorisierte Benutzer Zugriff zum named-Daemon erlangen, verwendet BIND eine Authentifizierungsmethode, auf einem gemeinsamen geheimen Schlüssel basierend, um Hostsystemen den Zugriff zu gewähren. Das heisst, das ein übereinstimmender Schlüssel in /etc/named.conf und der rndc Konfigurationsdatei /etc/rndc.conf existieren muss.
Konfigurieren von /etc/named.conf
Um die Verbindung von rndczu Ihrem named-Dienst zu ermöglichen, muss beim Start von named die controls-Anweisung in Ihrer /etc/named.conf-Datei vorhanden sein.
Das folgende Beispiel einer controls-Anweisung ermöglicht es Ihnen, rndc-Befehle vom lokalen Host auszuführen.
Controls { inet 127.0.0.1 allow { localhost; } keys { <key-name>; }; };
Diese Anweisung weist named an, am standardmäßigen TCP-Port 953 nach Loopback-Adressen zu suchen und lässt rndc-Befehle zu, die vom lokalen Host ausgeführt werden, wenn der richtige Schlüssel angegeben wird. Der <key-name> bezieht sich auf die key-Direktive, die sich auch in der /etc/named.conf-Datei befindet. Im nächsten Beispiel wird eine key-Anweisung veranschaulicht.
key "<key-name>" { algorithm hmac-md5; secret "<key-value>"; };
In diesem Beispiel benutzt <key-value> einen HMAC-MD5-Algorithmus. Mit dem nachfolgenden Befehl können Sie Ihre eigenen Schlüssel unter Verwendung eines HMAC-MD5-Algorithmus erstellen:
dnssec-keygen -a hmac-md5 -b <bit-length> -n HOST <key-file-name>
Es empfiehlt sich, einen Schlüssel mit einer Größe von mindestens 256 Bit zu erstellen. Der Schlüssel, der im <key-value>-Bereich gespeichert werden sollte, kann in der Datei <key-file-name>, welche von diesem Befehl erzeugt wurde, gefunden werden.
- Warnung
- Da /etc/named.conf von jedem gelesen werden kann, ist es angeraten, das key-Statement in eine separate Datei auszulagern, welche nur von root gelesen werden kann und ein include-Statement zu verwenden, um diese Datei einzubinden. Zum Beispiel:
include "/etc/rndc.key";
Konfigurieren von /etc/rndc.conf
Die key-Anweisung ist die wichtigste in der Datei /etc/rndc.conf.
key "<key-name>" { algorithm hmac-md5; secret "<key-value>"; };
<key-name> und <key-value> sollten exakt mit den Einstellungen in /etc/named.conf übereinstimmen.
Um den Schlüsseln, welche in /etc/named.conf auf dem Ziel-Server angegeben sind, zu entsprechen, fügen Sie folgende Zeilen zu /etc/rndc.conf hinzu.
Options { default-server localhost; default-key "<key-name>"; };
Diese Anweisung setzt den globalen Default-Schlüssel. Dierndc Konfigurationsdatei kann allerdings auch verschiedene Schlüssel für verschiedene Server verwenden, wie im folgenden Beispiel gezeigt:
server localhost { key "<key-name>"; };
- Achtung
- Stellen Sie sicher, dass jeweils nur ein root-Benutzer auf die Datei /etc/rndc.conf zugreifen kann.
Für weitere Informationen zur Datei /etc/rndc.conf, siehe die rndc.conf man-Seiten.
Befehlszeilenoptionen
Ein rndc-Befehl sieht wie folgt aus:
rndc <options> <command> <command-options>
Wenn rndc auf einem korrekt konfigurierten lokalen Host ausgeführt wird, stehen Ihnen folgende Befehle zur Verfügung:
- halt — Hält den named-Service sofort an.
- querylog — Protokolliert alle Abfragen, die von Clients auf diesem Name-Server durchgeführt wurden.
- refresh — Aktualisiert die Datenbank des Nameservers.
- reload — Weist den Name-Server an, die Zone-Dateien neu zu laden, aber alle vorher verarbeiteten Antworten zu behalten. Dadurch können Sie Änderungen in den Zone-Dateien durchführen, ohne dass die gespeicherten Auflösungen von Namen verloren gehen.
- Wenn sich Ihre Änderungen nur auf eine bestimmte Zone auswirken, können Sie lediglich diese Zone neu laden. Geben Sie hierzu nach dem reload-Befehl den Namen der Zone ein.
- stats — Schreibt die aktuellen named-Statistiken in die Datei /var/named/named.stats.
- stop — Stoppt den Server vorsichtig, und speichert dabei alle dynamischen Updates und die vorhandenen Incremental Zone Transfers (IXFR) Daten, vor dem Beenden.
Gelegentlich werden Sie bestimmt auch die Standardeinstellungen in der /etc/rndc.conf-Datei übergehen wollen. Hierzu stehen Ihnen folgende Optionen zur Verfügung:
- -c <configuration-file> — Gibt einen alternativen Speicherort der Konfigurationsdatei an.
- -p <port-number> — Legt für die rndc-Verbindung eine andere als die standardmäßige Portnummer 953 fest.
- -s <server> — Ermöglicht es Ihnen, einen anderen als den default-server in /etc/rndc.conf anzugeben.
- -y <key-name> — Ermöglicht es Ihnen, einen anderen als den default-key in der /etc/rndc.conf-Datei einzustellen.
Zusätzliche Informationen zu diesen Optionen finden Sie auf der rndc-man-Seite