12.4. 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.

12.4.1. 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.

WarnungWarnung
 

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";

12.4.2. 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>";
};

AchtungAchtung
 

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.

12.4.3. 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:

Gelegentlich werden Sie bestimmt auch die Standardeinstellungen in der /etc/rndc.conf-Datei übergehen wollen. Hierzu stehen Ihnen folgende Optionen zur Verfügung:

Zusätzliche Informationen zu diesen Optionen finden Sie auf der rndc-man-Seite