Startseite>Unbound als zentraler DNS-Server und Adblocker
Aus Raspberry Pi Geek 06/2017

Unbound als zentraler DNS-Server und Adblocker

© Chavalit Kamolthamanon, 123RF

Gut gefiltert

Andreas Itzchak Rehberg

Mit Unbound sorgen Sie für blitzschnelle Antworten auf DNS-Anfragen – und sperren bei Bedarf lästige Web-Werbung aus.

Das Domain Name System fungiert quasi als Telefonbuch des Internets. Mit Unbound [1] auf einem Raspberry Pi optimieren Sie den Einsatz des Protokolls für die Geräte im LAN. So sorgen Sie für kürzere Antwortzeiten, mehr Privatsphäre und schützen die Clients vor unerwünschter Werbung. Dabei steht der Dienst zentral für alle Geräte bereit.

Bei der Einwahl ins Internet schicken Provider in der Regel die Einträge für DNS-Server mit, die die Router automatisch übernehmen. Das genügt normalen Anwendern, die lediglich mit dem Browser unterwegs sind.

Wer jedoch die Grenzen des Möglichen austesten will, stößt schnell auf Probleme – etwa wenn die DNS-Server der Telekom für einen nicht existierenden Namen auf ihre Suchseite umleiten, anstatt die korrekte Fehlermeldung (NX_NODOMAIN) zu liefern. Was für einen surfenden Anwender praktisch erscheint, ist für einen automatischen Dienst nicht unbedingt erwünscht.

Solche Probleme lassen sich umgehen, indem Sie einfach die entsprechenden Einträge im Router ersetzen. Trotzdem müssen Sie weiterhin für jede Anfrage eine Verbindung zum externen DNS-Server aufbauen – obwohl vielleicht ein anderer Rechner im LAN dieselbe Abfrage zuvor bereits gestellt hat.

Hier hilft Unbound als DNS-Server mit eigenem Cache dabei, das Auflösen der Namen auf Trab zu bringen. Die Möglichkeit, beliebig viele Upstream-Server zu konfigurieren, bietet dabei mehr Sicherheit gegen Ausfälle.

Darüber hinaus dient das dem Schutz der Privatsphäre: Da die konfigurierten Server im Round-Robin-Verfahren zum Einsatz kommen, streuen Sie so die Abfragen über verschiedene Anbieter. Auf diese Weise erhält niemand einen vollständigen Überblick über abgefragten Adressen. Verwenden Sie ausschließlich DNSSEC-fähige Upstream-Server, sind Sie außerdem gut geschützt gegen gefälschte Antworten.

In Ausgabe 03-04/2017 haben wir mit Pi-hole bereits ein ähnliches Projekt vorgestellt, dessen Fokus auf dem Blockieren von Werbung auf Webseiten liegt [2]. Diesen Teil deckt Unbound ebenfalls mit ab; eine entsprechende Liste mit zu blockierenden Einträgen aktualisieren Sie bei Bedarf sogar automatisch.

Im Vergleich zu Pi-hole kommt Unbound jedoch wesentlich schlanker daher: Es gibt keine grafische Oberfläche, die Konfiguration findet mit dem Editor statt. Die Abhängigkeiten fallen daher deutlich geringer aus.

Installation

Da sich Unbound in den Raspbian-Repos findet, gelingt die Installation mit einem einfachen apt-get install unbound in einem Terminal. Fehlende Abhängigkeiten installiert das Paketmanagement dabei automatisch mit.

Im Verzeichnis /etc/unbound finden Sie die Konfiguration. Für dynamische und modulare Bestandteile lädt die Software alle Dateien aus dem Verzeichnis /etc/unbound/unbound.conf.d automatisch nach, was Sie sich im Folgenden zunutze machen.

Um das Programm als einfachen, puffernden DNS-Server nutzen zu können, bedarf es lediglich einer simplen Konfiguration, wie sie Listing 1 zeigt. Über interface: 0.0.0.0 weisen Sie die Software an, auf allen Schnittstellen zu lauschen, also sowohl Anfragen an localhost beziehungsweise 127.0.0.1 als auch von anderen Rechnern im Netz anzunehmen (Zeile 5).

Listing 1

 

## Simple recursive caching DNS
## unbound.conf -- https://calomel.org
#
server:
  interface: 0.0.0.0
    access-control: 10.0.0.0/16 allow
    access-control: 127.0.0.0/8 allow
    access-control: 192.168.0.0/16 allow
    verbosity: 1
forward-zone:
  name: "."
  # definitely censor free & log free with DNSSEC Support:
  forward-addr: 84.200.69.80   # DNS Watch
  forward-addr: 84.200.70.40   # DNS Watch
  forward-addr: 77.109.148.136 # Xiala.net
  forward-addr: 77.109.148.137 # Xiala.net
  forward-addr: 91.239.100.100 # censurfridns.dk
  forward-addr: 89.233.43.71   # censurfridns.dk

Mit access-control legen Sie fest, wer den Dienst benutzen darf. Je nachdem, welcher Adressbereich in Ihrem Netz zum Einsatz kommt, passen Sie hier die Daten an (Zeilen 6 bis 8).

Im Abschnitt forward-zone definieren Sie mit name: "." die Upstream-Server (Zeile 11ff.). Alle hier festgelegten Rechner kommen im Round-Robin-Verfahren zum Einsatz. Die drei Dienste im Beispiel (DNS Watch, Xiala.net, Censurfridns.dk) erfüllen wichtige Kriterien: Sie unterstützen DNSSEC, speichern keine Logs und zensieren keine Abfragen.

Mit dieser Konfiguration wären, abgesehen vom Blockieren der Werbung, alle eingangs genannten Kriterien abgedeckt. Um DNSSEC zu aktivieren und Unbound als verantwortlichen Server für das LAN zu nutzen, sind jedoch noch weitere Schritte notwendig. Zuerst einmal konfigurieren Sie Unbound mit den zentralen Root-Servern des DNS:

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland