Falls ihr schon einen Pi-Hole in Eurem Netzwerk betreibt, um Werbung und gefährliche Seiten zu reduzieren, habt Ihr schon einen großen Schritt in Richtung Sicherheit getan.
Im Pi-Hole können auch alternative DNS-Server angegeben werden, sodass der ISP keine DNS-Sperrlisten aktivieren kann.
Allerdings ist es dem ISP und weitere Interessenten möglich, Eure DNS-Anfragen mitzulesen.
Um dies zu verhindern, können diese Anfragen verschlüsselt im Tunnel gesendet und empfangen werden. Dabei kommt das DNSoverHTTPS zum Einsatz.
Wie das bei einem Ubuntu 20.04 funktioniert möchte ich im Folgenden kurz erläutern:
Zur Verschlüsselung benötigen wir das CloudFlare Paket (wir werden aber nicht die CloudFlare-Server abfragen).
Das Repository wird angehängt:
echo 'deb http://pkg.cloudflare.com/ focal main' | sudo tee /etc/apt/sources.list.d/cloudflare-main.list
Der GPG-Key wird importiert:
curl -C - https://pkg.cloudflare.com/pubkey.gpg | sudo apt-key add -
Danach wird das Paket installiert:
sudo apt-get update sudo apt-get install cloudflared-stable-linux-amd64.deb
Und die Version von CloudFlare wird kontrolliert:
cloudflared -v
Nun kommen wir zur Konfiguration, dazu wird das Verzeichnis /etc/cloudflared angelegt:
mkdir /etc/cloudflared/
Danach in diesem Verzeichnis die Datei config.yml
nano /etc/cloudflared/config.yml
mit folgenden Inhalt:
proxy-dns: true proxy-dns-port: 5053 proxy-dns-upstream: - https://1.1.1.1/dns-query - https://1.0.0.1/dns-query - https://8.8.8.8/dns-query - https://9.9.9.9/dns-query
Hier sind noch Server von Cloudflare, Quad9 und Google eingetragen. Wer weitere und Freie sowie Unabhängige Server sucht findet diese unter https://github.com/curl/curl/wiki/DNS-over-HTTPS#publicly-available-servers.
Nun noch CloudFlared installieren und starten:
cloudflared service install --legacysystemctl start cloudflared systemctl status cloudflared
Mit dig kann getestet werden:
dig @127.0.0.1 -p 5053 ibeit.de
Das DNSoverHTTPS muss danach nur noch dem Pi-Hole bekannt gemacht werden: