Erstellt für IPv6 Prefix-Delegation entsprechende Reverse und Forward DND-Zones für KNOT
Find a file
2026-02-26 12:03:39 +01:00
conf.d/zones.reverse.d Initial commit 2026-02-26 12:03:39 +01:00
zones Initial commit 2026-02-26 12:03:39 +01:00
generate_knot_ipv6_pd_zones.py Initial commit 2026-02-26 12:03:39 +01:00
README.md Initial commit 2026-02-26 12:03:39 +01:00

IPv6 PD Generator fuer Knot DNS

Dieses Projekt erzeugt aus einem IPv6-Parent-Netz automatisch:

  • Forward-Zonen-Dateien
  • Reverse-Zonen-Dateien (ip6.arpa)
  • Knot mod-synthrecord Konfigurationen pro PD-Netz

Das Skript basiert auf einem vorhandenen Zone-Template:

  • zones/_blank.zone

Voraussetzungen

  • Python 3.8+
  • Schreibrechte auf die Zielordner
  • Fuer --uid knot --gid knot in der Regel Root-Rechte (wegen chown)

Projektstruktur

  • generate_knot_ipv6_pd_zones.py: Generator-Skript
  • zones/_blank.zone: Template fuer neue Zone-Dateien
  • conf.d/zones.reverse.d/: Ziel fuer erzeugte .conf-Dateien

Verwendung

./generate_knot_ipv6_pd_zones.py <parent_network> <pd_cidr> <base_domain> [optionen]

Pflichtparameter

  • parent_network: IPv6-Masternetz, z. B. 2a04:df80:f4d7::/48
  • pd_cidr: Prefixlaenge der PD-Netze, z. B. 56
  • base_domain: Basis-Domain, z. B. net1248.pet-sch.de.rsm-connect.net

Optionen

  • --zones-dir (Default: zones)
  • --conf-dir (Default: conf.d/zones.reverse.d)
  • --uid (Default: knot) Benutzername oder numerische UID
  • --gid (Default: knot) Gruppenname oder numerische GID
  • --chmod (Default: 660) Dateirechte in Oktal (660, 0640, 0o640)

Beispiel

./generate_knot_ipv6_pd_zones.py \
  2a04:df80:f4d7::/48 \
  56 \
  net1248.pet-sch.de.rsm-connect.net \
  --uid knot \
  --gid knot \
  --chmod 660

Namensschema

Fuer ein PD wie 2a04:df80:f4d7:100::/56 wird u. a. erzeugt:

  • Forward-Domain:
    • 2a04-df80-f4d7-48-01-56.net1248.pet-sch.de.rsm-connect.net
  • Reverse-Domain:
    • 1.0.7.d.4.f.0.8.f.d.4.0.a.2.ip6.arpa.

Erzeugte Dateien pro PD

  • zones/<forward-domain>.zone
  • zones/<reverse-zone>.ip6.arpa.zone
  • conf.d/zones.reverse.d/<forward-domain>.conf

Alle drei Dateien werden mit den gewuenschten Owner-/Mode-Werten gesetzt.

Hinweise

  • Parent- und PD-Prefix muessen Nibble-Grenzen sein (Vielfache von 4), z. B. /48, /56, /64.
  • Das Skript beendet sich mit klarer Fehlermeldung bei ungueltigen Prefixen, fehlendem Template oder fehlenden Rechten fuer chown.