Go to file
Blackyfff 0a29a12745 Ausgabe umgeleitet 2021-01-04 20:53:39 +01:00
README.md Umgestellt auf ash+posix; external-view möglich; Reload konfigurierbar nach System; Eigene Subdomain mit mehreren Subreversedomains möglich; Alles Zonefiles müssen in einem Ordner liegen (Forward&Reverse); Beschreibung aktualisiert 2021-01-04 20:53:39 +01:00
dns-functions.sh Umgestellt auf ash+posix; external-view möglich; Reload konfigurierbar nach System; Eigene Subdomain mit mehreren Subreversedomains möglich; Alles Zonefiles müssen in einem Ordner liegen (Forward&Reverse); Beschreibung aktualisiert 2021-01-04 20:53:39 +01:00
update-dns.sh External View standardmäßig abgeschaltet; Ordner-typo 2021-01-04 20:53:39 +01:00
update-extzone.sh Umgestellt auf ash+posix; external-view möglich; Reload konfigurierbar nach System; Eigene Subdomain mit mehreren Subreversedomains möglich; Alles Zonefiles müssen in einem Ordner liegen (Forward&Reverse); Beschreibung aktualisiert 2021-01-04 20:53:39 +01:00
update-rdnszone.sh Ausgabe umgeleitet 2021-01-04 20:53:39 +01:00

README.md

fff-scripts

Dieses Git enthält eine Sammlung an Scripten zur Aktualisierung der Zonendatei für fff.community. Außerdem gibt es Skripte, die aus der Forward-Zone und optional eigener Subdomain passende Reverse-Zones für unsere internen RFC 1918 und RFC 4193 Adressen erzeugen.

Installation

Systemanforderungen

curl named-checkzone (z.B. bei bind oder bind-tools enthalten)

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 absolulte Pfade verwendet (oder den Pfad in update-dns.sh anpassen)

git clone https://git.freifunk-franken.de/freifunk-franken/dns-scripts.git /srv/fff-scripts

konfigurieren

In der Datei update-dns.sh kann die Verwaltung einer Subdomain incl. Reversezone aktiviert werden.

Cron anlegen

Schließlich muss noch ein Cron angelegt werden, der regelmäßig das Skript aufruft, welches die Zonendatei aktualisiert und die Reverse-Skripte aufruft:

1-59/5 *   * * *   /srv/fff-scripts/update-dns.sh

DNS-Server konfigurieren

Dann muss nur noch der DNS Server, z.B. bind, für die entsprechenden Zonen eingerichtet werden:

Einfachste Konfiguration:

$ cat named.conf.local 
[..]

zone "50.10.in-addr.arpa" {
    type master;
    file "/var/lib/bind/db.50.10";
    allow-query { any; };
};
zone "83.10.in-addr.arpa" {
    type master;
    file "/var/lib/bind/db.83.10";
    allow-query { any; };
};
zone "d.b.9.2.2.0.6.5.3.4.d.f.ip6.arpa" {
    type master;
    file "/var/lib/bind/db.fd43-5602-29bd";
    allow-query { any; };
};

zone "fff.community" {
    type master;
    file "/srv/fff-dns/db.fff.community";
    allow-query { any; };
};

[..]

mit Split-View und eigener Subdomain:

$ cat named.conf.local 
[..]

acl icvpnlocal {
	10.0.0.0/8;
	172.16.0.0/12;
	fd00::/8;
};
acl icvpnrange {
	icvpnlocal;
	# Die via babel/bird verteilten IPv6-Netze mit src-prefix, diese sollten per Script as der fff-table aktuell gehalten werden
	#z.B. 2a00:1aa0:ffff::/48;
};

[..]
view "icvpn-internal-view" {    
	match-clients { icvpnrange; localhost; };

    [..] # eigene Optionen

	zone "<EIGENE SUBDOMAIN>.fff.community" {
		type master;
		file "/var/lib/bind/db.<EIGENE SUBDOMAIN>.fff.community";
	};
	
	zone "<EIGENES IPv4SUBNETZ>.50.10.in-addr.arpa" {
		type master;
		file "/var/lib/bind/db.<EIGENES IPv4SUBNETZ>.50.10";
	};
	
	zone "<EIGENES IPv6SUBNETZ>.d.b.9.2.2.0.6.5.3.4.d.f.ip6.arpa" {
		type master;
		file "/var/lib/bind/db.fd43-5602-29bd-<EIGENES IPv6SUBNETZ>";
	};
	
	
	zone "fff.community" {
		type master;
		file "/var/lib/bind/db.fff.community";
	};
	
	zone "50.10.in-addr.arpa" {
		type master;
		file "/var/lib/bind/db.50.10";
	};
	
	zone "83.10.in-addr.arpa" {
		type master;
		file "/var/lib/bind/db.83.10";
	};
	
	zone "d.b.9.2.2.0.6.5.3.4.d.f.ip6.arpa" {
		type master;
		file "/var/lib/bind/db.fd43-5602-29bd";
	};
	
	include "/var/lib/bind/icvpn-zones.conf"; # Nicht vergessen ;)

    [..]	
};

view "external-view" {
	match-clients { any; };
    [..] # eigene Optionen
	
	zone "<EIGENE SUBDOMAIN>.fff.community" {
		type master;
		file "/var/lib/bind/dbextern.<EIGENE SUBDOMAIN>.fff.community";
	};
	
	zone "fff.community" {
		type master;
		file "/var/lib/bind/dbextern.fff.community";
	};
    
    [..]	
};


[..]