OpenVPN: DNS über verschlüsselten Kanal

410
Daniel F

Ich teste ein Setup wie folgt:

  • Maschine A hat eine Firefox-Instanz, die so konfiguriert ist, dass sie über SOCKS v5 an einem bestimmten Port eine Verbindung zu Maschine B herstellt.

  • Maschine B verfügt über einen Alpine Linux Docker-Container, auf dem ein SSH-Server ausgeführt wird, der einen Port als SOCKS v5-Server überwacht. Firefox von Maschine A stellt eine Verbindung zu diesem Port auf Maschine B her und wird erfolgreich in den Docker-Container weitergeleitet. Alle Firefox-Anforderungen werden aus dem Docker-Container als Internet gesendet.

  • Dieser Docker-Container auf Maschine B kann OpenVPN auch als Client ausführen, der mit einem kommerziellen VPN-Anbieter verbunden ist. Wenn der OpenVPN-Client ausgeführt wird, stammen alle Firefox-Anforderungen nicht mehr vom Docker-Container, sondern werden mit dem OpenVPN-Anbieter getunnelt und von ihrem VPN-Server aus gestartet.

Das Problem ist, dass, wenn ich in Firefox die Option "SOCKS v5-Proxy für DNS-Anfragen verwenden" aktiviert habe, die DNS-Lookups von Computer B ausgegeben werden. Ohne diese Option werden sie von Computer A übernommen.

Ich möchte, dass diese DNS-Lookups auch über OpenVPN getunnelt werden. Ist das möglich? Ist dieses Problem das OpenVPN-DNS-Leck?

0

1 Antwort auf die Frage

0
danblack

Sie benötigen auf Maschine B eine /etc/resolv.conf-Konfiguration nameservereiner IP, die über das VPN an einen DNS-Server im Netzwerk des VPN-Providers geroutet wird.

Docker holt die DNS-Auflösung von der Maschine B /etc/resolv.conf

Während das SNAT-Routing des UDP auf Maschine B alle DNS-Anforderungen an den VPN-Anbieter weiterleiten kann, wird der Rückweg über die Nicht-OpenVPN-Route zurückgegeben.

ref: detailliertere Antwort auf das Routing