--- title: "Anycast DNS" date: 2022-11-17T23:33:56+01:00 --- Um die Routerconfiguration einfacher und robuster zu gestalten, gibt es mehrere DNS Server im Netz, die unter der selben Anycast IP erreichbar sind Bei den zur Verfügung stehenden Anycast-DNS Adressen entscheidet das aktuelle Routing im Freifunk-Netz an welchen Server die DNS-Anfragen geschickt werden. Man weiß also nicht ohne weiteres welcher 'physische' Server gerade erreicht wird und der Server kann auch bei Änderungen des Routings wechseln. ## Anycastadressen | IP | Art | |------------------------------|-------| | fd43:5602:29bd:ffff:1:1:1:1 | DNS | | fd43:5602:29bd:ffff:1:1:1:64 | DNS64 | ## Was tun bei Problemen? Die folgenden Kommandos geben einen ersten Einblick in das Routing und den erreichten Server: ```bash traceroute fd43:5602:29bd:ffff:1:1:1:1 ``` ```bash dig @fd43:5602:29bd:ffff:1:1:1:1 +nsid fff.community ``` ```bash dig @fd43:5602:29bd:ffff:1:1:1:1 +nsid example.com ``` Zusammen mit einer Fehlerbeschreibung kann man die Ausgabe der obigen Befehle an die Mailingliste schicken oder im Matrix-Raum [#freifunk-franken Anycast-DNS](https://matrix.to/#/#fff-any-dns:herpf.fff.community) melden. ## Anycast-DNS-Server Unicastadressen Für Analysen kann es hilfreich sein die Unicastadressen der Server zu kennen. | Server | Unicastadresse | |---------------------------|-----------------------------| | fff-gw1.fra2.sis-netz.de | fd43:5602:29bd:ffff::37 | | aquarius.gw.fff.community | fd43:5602:29bd:ffff::42 | | dns.herpf.fff.community | fd43:5602:29bd:ffff::43 | | dnsprim.dresel.systems | fd43:5602:29bd:ffff:a:a:a:a | ## Einen eigenen Server betreiben Bei jedem Anycast-Server muss sichergestellt sein, dass dieser auf alle Anfragen aus dem Freifunk-Netz (also alles was über das interne Freifunk-Routing zum Server gelangt) auch antwortet. Also alle routbaren ULA- und globalen Adressen. Zusätzlich sollte der Server mit einer NSID ([RFC 5001](https://datatracker.ietf.org/doc/html/rfc5001)) konfiguriert sein. Für bind sieht die Konfigurationszeile so aus (`` ersetzen): ``` server-id ""; ``` ## Monitor Ein statischer Monitor, welcher die Unicastadressen abfragt ist [hier](https://dns.herpf.fff.community/ffdns/anydnsmonitor.html)