Privacy Handbuch

Unbound ist ein populärer DNS Resolver, der technisch auf dem aktuellen Stand ist und in allen Linux Distributionen in den Repos bereitsteht. Die folgende Anleitung wurde mit Ubuntu getestet (Stand 2023), sollte aber auch für andere Linux Distributionen anwendbar sein.
  1. Unbound kann man mit dem bevorzugten Paketmanager installieren: > sudo apt install unbound
  2. Dann holt man den aktuellen Root Key für die DNSSEC Validierung: > sudo unbound-anchor
  3. Standardmäßig verwenden Ubuntu und Derivate systemd-resolved als DNS Cache Daemon. systemd-resolved ist zu deaktivieren, wenn man Unbound verwendet: > sudo systemctl disable systemd-resolved
  4. Außerdem soll sich der NetworkManager nicht in die Konfiguration der DNS Server einmischen, wenn der Unbound Daemon läuft. Dafür speichert man eine Konfigurations­datei nodns.conf im Verzeichnis "/etc/NetworkManager/conf.d/" mit folgendem Inhalt: [main]
    dns=none
    systemd-resolved=false
    Alternativ kann man die Einmischung in die DNS Konfiguration auch in den Verbindungungseinstellungen deaktivieren, indem man in den IPv4 und IPv6 Einstellungen beim Verbindungsaufbau nur die IP-Adressen vom DHCP-Server übernimmt:
  5. Man kann Unbound abgewöhnen, die eigene Versionsnummer und den Hostnamen des Rechners mit jeder DNS Suche zu verschicken. Der dritte Parameter schützt gegen Spoofing Versuche und aggressive-nsec verschärft die DNSsec Validierung. Dafür speichert man eine Datei im Verzeichnis "/etc/unbound/unbound.conf.d/" mit folgendem Inhalt: server:
       hide-identity: yes
       hide-version: yes
       use-caps-for-id: yes
       aggressive-nsec: yes
    Wenn man kein IPv6 verwenden kann oder möchte, muss man außerdem folgende Option in in der Sektion "server" hinzufügen:    do-ip6: no
  6. Wenn Unbound nicht nur für den lokalen Rechner seine Dienste anbieten soll, sondern auch für andere Rechner im lokalen LAN, dann kann man folgende Optionen in eine Konfigurations­datei im Verzeichnis "/etc/unbound/unbound.conf.d/" schreiben: server:
       interface: 0.0.0.0
       access-control: 127.0.0.0/8 allow
       access-control: 192.168.0.0/16 allow
  7. Die nötigen Anpassungen in der Datei "/etc/resolve.conf" macht Unbound automatisch: nameserver 127.0.0.1
Nach einem Reboot zur Aktivierung der Konfigurationen kümmert sich Unbound als stand-alone Resolver um die DNS Auflösung. Man kann prüfen, ob alle Features aktiv sind:

Upstream DNS Server mit DNS-over-TLS

Wenn man Unbound nicht als stand-alone Resolver betreiben möchte, sondern Upstream DNS Server nutzen möchte, um von deren großem Cache und evtl. erweiterten Sicherheits­features zu profitieren, kann man DNS-over-TLS nutzen um sicherzustellen, dass man wirklich mit den gewünschten Servern verbunden wird und die Daten nicht manipuliert wurden. Mit einem Neustart werden die Änderungen übernommen: > sudo systemctl restart unbound