Senden Sie den DNS-Server per OpenVPN per Fernzugriff an den Client

6768
wishi

Wenn ich versuche, einen DNS-Server über die OpenVPN-Server-Konfiguration zu pushen, verstehe ich nicht, dass dieser Server der erste DNS-Server auf dem verbundenen Clientsystem ist. Es wird als alternativer DNS-Server angegeben.

push "dhcp-option DNS 89.238.75.146" # DNS-Server 1 (local djbdns) 

Um bestimmte Netzwerkeinschränkungen zu überwinden, verwende ich 443 TCP. - Das bedeutet, dass meine DNS-Abfragen über TCP gesendet werden (wenn ich den DNS-Server manuell neu konfiguriere), was aus Performance-Sicht nicht sehr gut skalierbar ist.

Gibt es dafür Kewl-Lösungen?

Marius

4
Etwas unklar ... Wollen Sie damit sagen, dass Sie DNS an Port 443 (https) ausführen? Auf welchem ​​Betriebssystem laufen Ihre Kunden? emgee vor 14 Jahren 0
- Der OpenVPN-Dämon auf dem Remote-Server funktioniert auf 443. Die DNSd wird auf einer Linux-Box ausgeführt. Wenn ich den Verkehr durch den OpenVPN-Tunnel leite, wird der DNS-Verkehr auch über 443 geleitet. wishi vor 14 Jahren 0
Gotcha, also ist das Hauptproblem, das Sie zu überwinden versuchen, die gesendeten DNS-Einstellungen nicht als primär, sondern als sekundär. emgee vor 14 Jahren 0
Das und auch wenn ich es konfiguriere - TCP und DNS skalieren nicht zusammen. wishi vor 14 Jahren 0

2 Antworten auf die Frage

4
Jimmy Hedman

Ich habe festgestellt, dass es sich je nach "Client" unterscheidet. Wenn ich den Netzwerkmanager verwende, bekomme ich den DNS, aber wenn ich den "normalen" openvpn-Dienst (in Ubuntu) verwende, bekomme ich keinen DNS. Ich habe mich nicht näher damit befasst, da der Netzwerkmanager normalerweise meine VPN-Verbindung herstellen lässt.

Entschuldigung für das Annehmen dieser Antwort ziemlich spät ... Ich denke, hier stimmt etwas mit meinem Kontoverbindung auf StackOF und so weiter ... wishi vor 13 Jahren 0
Ich wollte die Antwort von Jimmy abgeben, aber da ich es nicht kann, möchte ich in diesem Beitrag die Daumen aufgeben: Das openvpn-Plugin von NetworkManager aktualisiert die Datei /etc/resolv.conf effektiv mit den vom openvpn-Server geschalteten DNS-Optionen . Arno Teigseth vor 11 Jahren 1
Ich stimme zu, NetworkManager schafft das richtig * seufz * Hier hoffen wir mal auf saubere `.ovpn`-Kompatibilität ... charneykaye vor 8 Jahren 0
Siehe http://serverfault.com/a/590722/82338 Gajus vor 7 Jahren 0
0
charneykaye

Wenn Sie für den openvpnTerminal-Vektor festgelegt sind, fügen Sie ein Bash-Skript ~/bin/m0vpn(genannt für ein VPN m0) ein, damit ich eine Verbindung herstellen kann, indem Sie einfach ein Terminal öffnen und Folgendes eingeben:

m0vpn 

Hier ist das Skript:

#!/bin/bash OVPNFILE="$HOME/.config/vpn/m0/client.ovpn" TEMPRESOLV="nameserver 10.0.0.2\ndomain prd1.m0\n" # The next two lines create a temporary /etc/resolv.conf which includes the original. # For extra security you may modify this behavior (to use Only your own DNS server) # ^ But then, you must connect to an IP address (no hostname) from your .ovpn file! sudo printf "$TEMPRESOLV" | cat - /run/resolvconf/resolv.conf > /tmp/resolv.conf sudo mv /tmp/resolv.conf /etc/resolv.conf printf "Temporary /etc/resolv.conf:\n$TEMPRESOLV" sudo openvpn $OVPNFILE sudo ln -sf /run/resolvconf/resolv.conf /etc/resolv.conf echo "Reset resolv.conf" 

Und vielleicht kann eines Tages NetworkManagerdie .ovpnDatei einfach verwendet werden.