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 20.04 auf einem PC getestet, 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 ein­mischen, wenn Unbound 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
  5. Optional kann man Unbound abgewöhnen, die eigene Versionsnummer und den Hostnamen des Rechners mit jeder DNS Suche zu verschicken. Dafür speichert man eine Datei im Verzeichnis "/etc/unbound/unbound.conf.d/" mit folgendem Inhalt: hide-identity: yes
    hide-version: yes
  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