You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Blackyfff 092e2f9994 Reload external subdomain on change 3 weeks ago
README.md include more babel and statics to acl 1 month ago
dns-functions.sh option to exclude master-zone; support DNSSEC; fix GlueRecords 3 weeks ago
update-dns.sh Reload external subdomain on change 3 weeks ago
update-extzone.sh Reload external subdomain on change 3 weeks ago
update-hoodzone.sh fix: external zone links to internal; fix: hood zonefile creation; support for reverse entries w/o forward entries; simplifications 1 month ago
update-public-acl.sh routing tables fallback; external zone for direct access to external addresses 4 weeks ago
update-rdnszone.sh include more babel and statics to acl 1 month ago

README.md

fff-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. 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.

Installation

Systemanforderungen

curl

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

echo "dump" | nc ::1 33123

muss die babel routen ausgeben, ansonsten muss update-public-acl.sh angepasst werden

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)

git clone https://git.freifunk-franken.de/freifunk-franken/dns-scripts.git /usr/lib/ffdns

konfigurieren

In der Datei update-dns.sh die Konfigurationsparameter setzen.

Cron anlegen

Schließlich muss noch ein Cron angelegt werden, der regelmäßig das Skript aufruft:

1-59/5 *   * * *   /usr/lib/ffdns/update-dns.sh

DNS-Server konfigurieren

Dann muss nur noch der DNS Server, z.B. bind, eingerichtet werden.

Für bind werden durch die Scripte die include-Dateien angelegt (fff.community-[in|ex]ternal.conf|icvpn-acl.conf):

Konfiguration:

$ cat named.conf.local 
[..]

acl icvpnlocal {
	10.0.0.0/8;
	172.16.0.0/12;
	fc00::/7;
};
include "/etc/bind/icvpn-acl.conf"; # auto-generated

[..]

options {
	[..] # eigene Optionen

	check-names master warn; # Wichtig, da sonst Hostnamen mit _ (z.B.: HUAWEI_P30_lite ) bind nicht laden lassen
}

[..]

view "icvpn-internal-view" {    
	match-clients { icvpnrange; localhost; };
	allow-query-cache { any; }

    [..] # eigene Optionen


	include "/etc/bind/fff.community-internal.conf"; # auto-generated

	include "/etc/bind/icvpn-zones.conf"; # Nicht vergessen ;)

    [..]	
};

view "external-view" {
	match-clients { any; };
    [..] # eigene Optionen
	
	include "/etc/bind/fff.community-external.conf"; # auto-generated
    
    [..]	
};


[..]