DNS

Aus wiki.freifunk.net
Wechseln zu: Navigation, Suche

Viele Communities betreiben eine eigene Top-Level-Domain, die nicht im Internet erreicht werden kann. Damit diese im eigenen Netz genutzt werden können, muss ein DNS-Server konfiguriert werden, der die Authorativen Nameserver anderer Communities abfragt.

Konfiguration

Da die Zahl der Communities ist in den letzten Jahre so stark gewachsen, dass die Konfiguration heute automatisiert von Skripten generiert wird. Hierzu werden Daten aus icvpn-meta herangezogen, wo kollaborativ die jeweils aktuellen Parameter hinterlegt werden.

git clone https://github.com/freifunk/icvpn-scripts.git
git clone https://github.com/freifunk/icvpn-meta.git
cd icvpn-scripts
./mkdns -f bind -s ../icvpn-meta/

Der Prozess,

  • die Repositories aktuell zu halten
  • die neue Konfiguration wegzuschreiben
  • den DNS-Server neu zu laden

sollte mindestens einmal täglich (z.B. per Cronjob) durchgeführt werden um Konfigurationsänderungen anderer Communities zu ermöglichen.

Die eigene Community sollte hierbei mit -x communityname von der Einbindung ausgeschlossen werden.

Derzeit werden als Resolver unterstützt:

  • dnsmasq
  • bind
  • bind-forward
  • unbound

Weitere Optionen via ./mkdns --help:

Usage: mkdns [options]

Options:
  -h, --help            show this help message and exit
  -f FMT, --format=FMT  Create config in format FMT.
                        Possible values: dnsmasq, bind, bind-forward, unbound. Default:
                        dnsmasq
  -s DIR, --sourcedir=DIR
                        Use files in DIR as input files. Default: data/
  -x COMMUNITY, --exclude=COMMUNITY
                        Exclude COMMUNITY (may be repeated)
  --filter=FILTER       Only include certain servers.
                        Possible choices: v6, v4

Externe Netze

Viele Freifunk-Communities peeren zusätzlich noch mit dem DN42 oder dem ChaosVPN. In icvpn-meta sind bereits Einträge enthalten, so dass auch für diese Netze DNS-Auflösung möglich wird. Ist das nicht gewünscht, so kann man die Netze zum einen im BGP-Daemon filtern, sie aber auch mittels -x dn42 oder -x chaosvpn ausschließen. Derzeit hinterlegte externe Netze: