Laptop, der mit externem VPN verbunden ist, profitiert nicht mehr vom Pi-hole, obwohl dieser als DNS server verwendet werden sollte

Beobachtetes und erwartetes Verhalten

Habe einen funktionierenden Pi-hole in meinem Netzwerk. Im Normalzustand funktioniert alles (wenn ich eine Webseite aufrufe, bspw. chess.com, kann ich im Querylog vom Pi-hole die entsprechenden Queries sehen, und Werbung auf chess.com wird geblockt).

Verbinde ich nun aber den Laptop mit einem externen VPN (in diesem Fall NordVPN), geschieht kein Blocking mehr, obwohl die IP des Pi-holes in den VPN-Einstellungen als DNS-Server eingetragen ist:

Das sieht mir so aus, als würde der Laptop mit eingeschaltetem VPN eben nicht den Pi-hole für DNS nutzen.

Habe ich hier etwas falsch konfiguriert, oder stehe ich völlig auf dem Schlauch und was ich vorhabe ist so gar nicht möglich?

Hat hier vielleicht jemand Erfahrung mit einem derartigen Setup?

Da sich Dein Laptop direkt mit NordVPN verbindet, ist Pi-holes Nutzung wahrscheinlich nicht möglich.

Im Zweifel käme es darauf an, ob NordVPN die Ausleitung des DNS-Verkehrs an eine DNS-Server-IP-Adresse aus einem privaten IP-Adressbereich zulassen würde.

Für gewöhnlich erlauben VPN-Service-Anbieter aber genau das nicht, sondern leiten im Gegenteil DNS-Anfragen gezielt hart auf ihre eigenen DNS-Server um, um DNS-Lecks zu vermeiden.

Du solltest Dich mit dieser Fragestellung an den NordVPN-Support wenden.

1 Like

Alles klar, vielen Dank, das hatte ich befürchtet. Ich vermute, das ist dann wohl auch der Grund, warum im ganzen Netzwerk keine DNS-Auflösung mehr funktioniert, wenn das Pi-hole selbst über NordVPN ins Internet geht.

Und ich Naivling dachte, ich könnte einfach das beste aus beiden Welten miteinander verbinden. :sweat_smile:

Ich würde annehmen, dass nur Pi-holes ausgehende DNS-Anfragen dann von NordVPN gekapert werden.

Pi-hole empfängt eingehende DNS-Anfragen der Clients und sendet erlaubte DNS-Anfragen an seine konfigurierten Upstreams.
Die NordVPN-Client-Software fängt diese ausgehenden DNS-Anfragen ab und biegt sie auf seine eigenen DNS-Server um.

Das sollte funktionieren, sofern NordVPN nur ausgehende DNS-Anfragen abfängt.

Aber auch das wäre eine Frage für den NordVPN-Support.

1 Like

Eigentlich will man wegen DNS-Leaks genau so ein Setup nicht. Wenn man sich nicht über die Applikationen der Anbieter verbindet und z.B. einfach den normalen Wireguard-Client verwendet, dann kann man das konfigurieren.

Ich habe ein ähliches Setup, weil ich mich oft in Gegenden aufhalte, wo VPN nicht erwünscht/verboten sind (z.B. Ägypten).

Client -> wireguard über obfuscation protocol -> raspberry mit pihole (zuHause) -> mullvad vpn -> internet

Obiges hilft aber auch gegen Hotels, die VPN blocken etc.

1 Like

Danke, @Bucking_Horn! Du hast mir mit deinen Antworten auf beide Themen, die ich hier seit meiner Registrierung eröffnet habe, sehr geholfen. Zwar waren das beides (gut begründete) "Das geht so, wie du es dir vorstellst, wahrscheinlich nicht", aber jedes Mal mit wertvollen Informationen. Ganz abgesehen davon ist es einfach motivierend, zu sehen, wie jemand in einer Community so aktiv und hilfsbereit ist.

Und auch danke @buntspexxt, der noch geantwortet hat, während ich diesen Post schreibe! :smile:

Diese Motivation hat mich z.B. dazu gebracht, mir gestern die Nacht um die Ohren zu schlagen, um mein Problem zu lösen, ohne mit dem NordVPN Support kommunizieren zu müssen (aus irgendeinem Grund mag ich es nicht, Hilfe bei Leuten zu suchen, die dafür bezahlt werden, meine Anfrage möglichst schnell und effizient abzuschließen).

Das betrifft nun nicht direkt das Pi-hole, ich würde aber argumentieren, dass es dennoch einen Wert für diese Community hat (wer ein Pi-hole hat legt Wert auf Online-Privatsphäre, wer Wert auf Online-Privatsphäre legt, hat unter Umständen Interesse daran, seine IP beim surfen zu verschleiern). Deswegen würde ich meine Erkenntnisse hier kurz teilen für Leute, die diesen Post in der Zukunft finden. Bitte gerne verschieben oder löschen, wenn ich da falsch liege. :blush:

Was ich eigentlich wollte/brauchte, nennt sich split tunneling, wie ich nach einiger Recherche herausfand. Also, dass einige, bestimmte Applikationen (z.B. Firefox) ausschließlich den VPN-Tunnel nutzen, während alles andere ganz "normal" läuft.

Das direkt auf dem Hostrechner umzusetzen ist mit openVPN zwar möglich aber ein ziemliches Rabbit Hole :sweat_smile:, und speziell NordVPN unterstützt das nativ nur für Windows, Android und Android TV.

Und hier kommt Docker ins Spiel (dass ich da nicht selbst drauf gekommen bin... :facepalm:). Kurz zusammengefasst: Man lässt einen Container eine Verbindung zum (externen) VPN aufbauen, lässt die Applikation(en), die man tunneln möchte in (einem) weiteren Container(n) laufen und gibt diesen als einzige Verbindungsmöglichkeit den VPN-Container über ein Docker Network. Mit docker-compose ist das ganze in <100 Zeilen yaml konfiguriert.

Hier meine "Entdeckungsreise" kurz zusammengefasst, für Interessierte zum nachvollziehen:

Soweit meine gestrige Reise :smile:. Mir ist bewusst, dass das hier kein Pi-hole Thema per se ist, aber wie weiter oben erwähnt denke ich, eventuell dennoch wertvoll für manche aus der Community? Wie gesagt, falls das nicht so sein sollte, gerne verschieben oder löschen. :person_bowing: