From 44dfd87e58a45291eda28f248b612057c6d171fe Mon Sep 17 00:00:00 2001 From: Blackyfff Date: Tue, 13 Jul 2021 20:30:15 +0200 Subject: [PATCH] Update Readme Signed-off-by: Blackyfff --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 61da13a..6568572 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,14 @@ -# fff-scripts +# dns-scripts Dieses Git enthält eine Sammlung an Scripten zur Aktualisierung der Zonen für fff.community. Dabei werden aus der Forward-Zone und optional eigener Subdomain (durch community-Zonefile gesteuert) auch passende Reverse-Zonen für unsere internen RFC 1918 und RFC 4193 Adressen erzeugen. -Weiterhin werden bei eigener Subdomain die momentan vergebenen Adressen von dnsmasq und odhcpd (alles unter /tmp/hosts/) inkludiert. +Es werden bei eigener Subdomain die momentan vergebenen Adressen von dnsmasq und odhcpd (alles unter /tmp/hosts/) inkludiert. Das ermöglicht eine Namensauflösung für Freifunk-Teilnehmer ohne manuelle Konfiguration. Damit kann jeder Freifunk-Teilnehmer ein gültiges TLS-Zertifikat bekommen, sofern DHCPv6 am Gateway aktiviert ist. +Unterstützt wird Split-DNS für Freifunk-interne und -externe Anfragen, dabei kann auch eine Subdomain angelegt werden unter welcher nur extern erreichbare IPs herausgegeben werden. + DNSSEC wird für jede Zone unterstützt, allerdings nur für die Hauptzone mit mehreren Servern. Für Subdomainserver darf mit DNSSEC nur jeweils ein Server authorativ sein. ## Installation @@ -23,14 +25,17 @@ für DNSSEC: delv; bind9 >= 9.16.18 #### dns-scripts klonen -Die Scripte müssen geklont werden, oder anderweitig in einem Ordner auf dem Server abgelegt werden. Dabei ist aktuell noch die Position wichtig, da das Skript derzeit absolute Pfade verwendet (oder den Pfad in update-dns.sh anpassen) +Die Scripte müssen geklont werden, oder anderweitig auf dem Server abgelegt werden. Die Ordner sind im Git vorgegeben. /usr/lib/ffdns für die Scripte und /etc/ffdns für die Konfigurationsdateien. ``` -git clone https://git.freifunk-franken.de/freifunk-franken/dns-scripts.git /usr/lib/ffdns +git clone https://git.freifunk-franken.de/freifunk-franken/dns-scripts.git ``` #### konfigurieren -In der Datei update-dns.sh die Konfigurationsparameter setzen. +Die Datei /etc/ffdns/community.conf wird für eine Community konfiguriert(vorzugsweise im Git), und sollte nicht lokal geändert werden. +Die Datei /etc/ffdns/local.conf muss serverspezifisch konfiguriert werden. + +Für die Konfiguration der Zonendatei siehe https://git.freifunk-franken/freifunk-franken/dns #### Cron anlegen Schließlich muss noch ein Cron angelegt werden, der regelmäßig das Skript aufruft: @@ -39,7 +44,7 @@ Schließlich muss noch ein Cron angelegt werden, der regelmäßig das Skript auf ``` #### DNS-Server konfigurieren -Dann muss nur noch der DNS Server, z.B. `bind`, eingerichtet werden. +Dann muss noch der DNS Server `bind` eingerichtet werden. Andere Distributionen sind auch möglich, aber DNSSEC und automatische Konfiguration der verschiedenen Zonen müssen dann selbst gelöst werden. Für bind werden durch die Scripte für jeden view include-Dateien angelegt (z.B. icvpn-internal-view.conf) und zusätzlich eine icvpn-acl.conf: @@ -113,3 +118,36 @@ dnssec-policy { # Name muss in der config gesetzt werden [..] ``` +## Konfiguration der Zonendatei +### Einträge generell +Alle Einträge sollten im relativen Schema vorliegen, also ohne die Rootdomain und ohne abschließenden Punkt. + +### Subdomains + +Subdomains der Rootzone können von Root-Servern selbst oder auch von jedem anderen Server gehostet werden. + +Subdomains sollten im folgenden Format angelegt werden +``` + IN NS [ ; Subnets:[ /| /]+]? + +``` +z.B.: +``` +herpf IN NS dns.herpf.fff.community. ; Subnets: 10.50.250.0/24 fd43:5602:29bd:62::/64 +``` + +Serverhostname muss mit der Konfiguration in local.conf übereinstimmen und muss absolut sein (mit abschließendem Punkt). + +Die Subnetzparameter sind für die Delegierung und Erstellung der Reversezonen notwendig. + +Sofern noch nicht vorhanden wird dann eine neue Zonendatei für diese Subdomain erstellt. Diese darf dann auch oberhalb der Zeile +``` +;### Leases ### +``` +wie die Rootzonendatei editiert werden. + +### Subsubdomains + +Auch unterhalb von bereits delegierten Subdomains können beliebig viele weitere Subdomains bedient werden. + +Dazu muss in local.conf angegeben werden wo die Zonendatei der nächst höheren Zone zu erreichen ist. \ No newline at end of file