Listing 7
#!/bin/bash
# Updating Unbound resources.
# Place this into e.g. /etc/cron.monthly or /etc/cron.weekly
###[ unbound_ad_servers ]###
curl -sS -L --compressed "http://pgl.yoyo.org/adservers/serverlist.php?hostformat=unbound&showintro=0&mimetype=plaintext" > /etc/unbound/unbound.conf.d/unbound_ad_servers.new
if [[ $? -eq 0 ]]; then
mv /etc/unbound/unbound.conf.d/unbound_ad_servers /etc/unbound/unbound.conf.d/unbound_ad_servers.bak
mv /etc/unbound/unbound.conf.d/unbound_ad_servers.new /etc/unbound/unbound.conf.d/unbound_ad_servers
unbound-checkconf >/dev/null
if [[ $? -eq 0 ]]; then
rm /etc/unbound/unbound.conf.d/unbound_ad_servers.bak
service unbound reload >/dev/null
else
echo "Warning: Errors in unbound configuration due to probably failed update of"
echo "/etc/unbound/unbound.conf.d/unbound_ad_servers:"
unbound-checkconf
mv /etc/unbound/unbound.conf.d/unbound_ad_servers /etc/unbound/unbound.conf.d/unbound_ad_servers.new
mv /etc/unbound/unbound.conf.d/unbound_ad_servers.bak /etc/unbound/unbound.conf.d/unbound_ad_servers
fi
else
echo "Download of unbound_ad_servers list failed!"
fi
###[ root.hints ]###
curl -o /etc/unbound/root.hints.new https://www.internic.net/domain/named.cache
if [[ $? -eq 0 ]]; then
mv /etc/unbound/root.hints /etc/unbound/root.hints.bak
mv /etc/unbound/root.hints.new /etc/unbound/root.hints
unbound-checkconf >/dev/null
if [[ $? -eq 0 ]]; then
rm /etc/unbound/root.hints.bak
service unbound reload >/dev/null
else
echo "Warning: Errors in newly downloaded root.hints file probably due to incomplete download:"
unbound-checkconf
mv /etc/unbound/root.hints /etc/unbound/root.hints.new
mv /etc/unbound/root.hints.bak /etc/unbound/root.hints
fi
else
echo "Download of unbound root.hints failed!"
fi
Diese Datei legen Sie einfach unter /etc/cron.weekly ab und vergeben entsprechende Rechte, damit das System sie ausführt (chmod 0755 unbound_updates.sh) – und schon gibt es wöchentlich frische Daten.
Wie Sie den neu eingerichteten Server im LAN bekannt machen, beschreibt der bereits erwähnte Artikel zu Pi-hole aus Ausgabe 03-04/2017 ausführlich. Sie finden diesen Artikel auf der diesem Heft beiliegenden DVD als PDF.
Eine Besonderheit sei noch erwähnt: Verschiedene Modelle vom Typ Fritzbox des Anbieters AVM erlauben es nicht, wie im genannten Artikel beschrieben, einen lokalen DNS in den Haupteinstellungen festzulegen. Ein Beispiel dafür wäre die Fritzbox 7390 mit Firmware 6.51. Eine passende Einstellung findet sich hier dennoch, aber versteckt unter Heimnetz | Heimnetzübersicht | Netzwerkeinstellungen | IPv4 Adressen | Lokaler DNS-Server (Abbildung 1).
Fazit
Dank Unbound reduzieren Sie die Anzahl der DNS-Anfragen ins Netz, sorgen für mehr Datenschutz und sperren außerdem lästige Werbung aus dem lokalen Netzwerk aus. Dabei gestaltet sich die Konfiguration recht einfach, und mithilfe eines Raspberry Pi lässt sich das Ganze energiesparend ins LAN integrieren.
Glossar
- Upstream-Server
-
Externer Server, den Unbound konsultiert, wenn er eine Anfrage nicht selbst (etwa aus dem Cache oder aufgrund der Konfiguration) beantworten kann.
- Round-Robin-Verfahren
-
Im Kontext von Unbound: Bei jeder Abfrage, deren Antwort noch nicht im Cache liegt, nutzt die Software jeweils der Reihe nach den nächsten Upstream-Server für die Anfrage.
- DNSSEC
-
Bei den Domain Name System Security Extensions handelt es sich um eine Reihe von Standards, um beim Domain Name System (DNS) die Authentizität und Integrität der Daten zu gewährleisten.
Infos
- Unbound: http://unbound.net
- Pi-hole: Christoph Langner, “Ausgesiebt”, RPG 03-04/2017, S. 46, http://www.raspi-geek.de/38303
- Root-Anchors: https://data.iana.org/root-anchors/
- Individuelle DNS-Einträge für Hosts im LAN: https://www.bentasker.co.uk/documentation/linux/279-unbound-adding-custom-dns-records






