BIND/rndc
BIND/rndc - Remote Name Daemon Control
Beschreibung
- Werkzeug zur Verwaltung von BIND
- Authentifizierung
- gemeinsam genutzter TSIG-Schlüssel (HMAC)
- TCP-Verbindung
- TCP-Port 953
Installation
Aufruf
rndc [Optionen] Befehl [Optionen]
Befehle
| Befehl | Parameter | Beschreibung |
|---|---|---|
| status | Status des Servers, Versionsinformationen und die Zahl der geladenen Zonen | |
| reload | Konfiguration und Zonendateien neu laden, ohne den Prozess neu zu starten | |
| reconfig | Konfiguration neu einlesen, oder entfernte Zonen erkennen, ohne alle Zonendateien neu zu laden | |
| reload | <zonenname> | lädt die angegebene Zone neu |
| refresh | <zonenname> | startet einen sofortigen SOA-Refresh für eine Slave-Zone |
| freeze | <zonenname> | friert eine dynamische Zone ein. Journaldaten werden in die Zonendatei geschrieben, weitere Updates werden blockiert |
| thaw | <zonenname> | hebt freeze auf und erlaubt wieder dynamische Updates |
| sync | <zonenname> | schreibt Journaldaten in die Zonendatei. Mit -clean wird das Journal anschließend gelöscht |
| flush | leert den gesamten Resolver-Cache | |
| flushname | <name> | entfernt nur Einträge für einen bestimmten Namen aus dem Cache |
| flushtree | <name> | entfernt alle Einträge unterhalb eines Namensbaums aus dem Cache |
| halt | beendet den named-Dienst sofort, ohne dynamische Zonendaten zuerst zu sichern | |
| stop | stoppt named kontrolliert und speichert zuvor dynamische Updates und IXFR-Informationen | |
| querylog | schaltet die ausführliche Protokollierung von Anfragen ein oder aus | |
| stats | schreibt Statistikdaten in die von statistics-file konfigurierte Datei (unter Debian typischerweise beispielsweise /var/cache/bind/named.stats) |
Konfigurationsdatei
Vorgaben aus Konfigurationsdateien überschreiben
- Vorgaben überschreiben
| Option | Parameter | Beschreibung |
|---|---|---|
| -c | Datei | Konfigurationsdatei |
| -p | Port | Port |
| -s | Server | Server |
| -y | Keyname | key |
Weitere Details
Parameter
Umgebungsvariablen
Exit-Status
| Wert | Beschreibung |
|---|---|
| 0 | Erfolg |
| >0 | Fehler |
Konfiguration
- 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";
/etc/bind/rndc.conf
- 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
Debian
rndc wird 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
Dateien
| Datei | Beschreibung |
|---|---|
Anwendung
- Erneuten Domaintransfer
Am Slave starten
rndc retransfer <DOMAIN>
Problembehebung
- Übereinstimmung der Schlüsseldefinitionen
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks