Zum Inhalt springen

BIND/rndc

Aus Foxwiki

BIND/rndc - remote name daemon control


Beschreibung

Werkzeug zur Verwaltung

BIND stellt mit rndc (Remote Name Daemon Control) ein Werkzeug zur Verwaltung des named-Daemons über eine authentifizierte TCP-Verbindung bereit.

  • Kommunikation erfolgt standardmäßig über TCP-Port 953.
  • Die Authentifizierung basiert auf einem gemeinsam genutzten TSIG-Schlüssel (HMAC).
  • Schlüsseldefinitionen in der named-Konfiguration und in der rndc-Konfiguration müssen übereinstimmen.

Standardverhalten

  • Unter Debian wird rndc in der Regel ohne eigene /etc/bind/rndc.conf betrieben
  • Stattdessen verwendet rndc standardmäßig die automatisch erzeugte Schlüsseldatei /etc/bind/rndc.key
  • Diese Datei wird ebenfalls mit rndc-confgen -a erstellt
  • Als Ziel wird automatisch der lokale named auf 127.0.0.1, Port 953 angenommen

Konfiguration in /etc/bind/named.conf

Für die Nutzung von rndc muss eine controls-Direktive in der named-Konfiguration vorhanden sein.

controls-Direktive
controls {
 inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; };
 inet ::1    allow { localhost; } keys { "rndc-key"; };
};

Diese Anweisung veranlasst named, auf 127.0.0.1:953 und ::1:953 Verbindungen zu akzeptieren und nur Anfragen zu erlauben, die mit dem Schlüssel "rndc-key" signiert sind.

key-Definition
key "rndc-key" {
 algorithm hmac-sha256;
 secret "BASE64-KEY";
};
  • algorithm hmac-sha256; – empfiehlt sich als aktueller Standard für TSIG-Schlüssel.
Schlüsselgenerierung mit rndc-confgen

In typischen Installationen wird der Schlüssel automatisch mit rndc-confgen erzeugt:

rndc-confgen -a

Dieser Befehl erzeugt eine Datei /etc/bind/rndc.key mit einer passenden key-Definition und setzt dabei restriktive Dateirechte (z. B. Modus 0600).

Der generierte Schlüssel befindet sich in der zugehörigen .key-Datei (z. B. Krndc-key.+161+12345.key) und wird in das Feld secret übernommen.

Hinweis
Klartext-Schlüssel sollten nicht direkt in einer global lesbaren Konfigurationsdatei stehen. Schlüsseldefinitionen werden in eine separate, nur für root lesbare Datei ausgelagert und per include eingebunden, z. B.:
include "/etc/bind/rndc.key";

Konfiguration in /etc/bind/rndc.conf

Die Datei /etc/bind/rndc.conf beschreibt, mit welchen Schlüsseln und gegen welche Server rndc arbeitet. Auf vielen Systemen genügt die automatisch erzeugte Datei /etc/bind/rndc.key; eine explizite rndc.conf ist dann optional.

  • Die rndc-Konfiguration ermöglicht die Authentifizierung zwischen rndc und BIND.


Minimalbeispiel
key "rndc-key" {
 algorithm hmac-sha256;
 secret "BASE64-KEY";
};

options {
 default-server 127.0.0.1;
 default-key "rndc-key";
};

server 127.0.0.1 {
 key "rndc-key";
};
  • key – definiert den gemeinsam genutzten Schlüssel.
  • options – setzt globale Vorgaben wie default-server und default-key.
  • server – ermöglicht serverbezogene Einstellungen, beispielsweise abweichende Ports oder Schlüssel.
Hinweis
/etc/bind/rndc.conf und die verwendeten Schlüsseldateien (z. B. /etc/bind/rndc.key) sollten nur für root lesbar sein (Modus 0600), um unbefugten Zugriff auf Geheimschlüssel zu verhindern.

Für Detailinformationen zu allen Direktiven steht die Manpage rndc.conf(5) zur Verfügung.

Dienst neu starten

Nach Änderungen an den Schlüsseln oder der rndc-Konfiguration muss der Dienst bind9 neu gestartet werden.

sudo systemctl restart bind9

Installation

Aufruf

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Erneuten Domaintransfer

Am Slave starten

rndc retransfer <DOMAIN>

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch



Dokumentation

Projekt