Auf einem Debian läuft ein OpenVPN-Server, der ein DNS in die Serverkonfigurationsdatei überträgt:
drücke "dhcp-option DNS 8.8.8.8"
Gibt es eine Option, mit der die Benutzer diese DNS-Server auf der Clientseite ändern können?
Hier ist der Haken: Der OpenVPN-Server muss ein DNS pushen, da andernfalls viele OpenVPN-Clients Webseiten erst öffnen können, wenn die DNS-Server in den Netzwerkeinstellungen des Systems manuell festgelegt wurden.
Mein Ziel ist es, automatisch einen Standard-DNS-Server auf nicht technisch versierte Benutzer anzuwenden und gleichzeitig erfahrenen Computerbenutzern die Einrichtung eigener DNS-Server zu ermöglichen.
Beachten Sie, dass das einfache Ändern der DNS-Einstellungen auf dem PC, während die Option 'push "dhcp-option DNS 8.8.8.8"' auf dem openvpn-Server aktiv ist, nichts bewirkt. Das vom Server gepusste DNS bleibt unabhängig von den lokalen DNS-Einstellungen.
Irgendwelche Ideen?
OpenVPN-Serverkonfiguration:
# cat /etc/openvpn/openvpn.conf
server 10.186.35.0 255.255.255.0
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
ifconfig-pool-persist ipp.txt
#push "route 0.0.0.0 0.0.0.0"
#push "redirect-gateway"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group users
persist-key
persist-tun
status openvpn-status.log
verb 3
script-security 3
auth-user-pass-verify /etc/openvpn/auth-chap via-env
client-cert-not-required
duplicate-cn
management 127.0.0.1 5119
script-security 3 system
username-as-common-name
client-connect /etc/openvpn/scripts/clientconnect.sh
client-disconnect /etc/openvpn/scripts/clientdisconnect.sh
log-append /var/log/openvpn.log
log /var/log/openvpn.log
UPDATE: Die Client-Betriebssysteme sind Windows und Mac
Antworten:
Ab 2017 (OpenVPN 2.4) ist dies nun möglich. Fügen Sie diese Zeile Ihrer Client-Konfigurationsdatei hinzu:
und es werden alle Push-Konfigurationszeilen ignoriert, die mit dem zitierten Text beginnen.
Die Optionen werden von oben nach unten abgeglichen, sodass die erste Übereinstimmung verwendet wird. Sie können dies verwenden, um einige Routen zuzulassen und andere abzulehnen, wenn dies Ihren Anforderungen entspricht.
Die drei Aktions Schlüsselwörter sind
accept
,ignore
undreject
. Ich habe keinen Anwendungsfall für entdecktreject
.quelle
In der offiziellen OpenVPN-Dokumentation finden Sie:
Leider hat dies zusätzlich zu Ihren Fragen den Nebeneffekt, dass auch das von Ihrer Konfiguration bereitgestellte Redirect-Gateway deaktiviert wird. Dies kann für Ihren Fall ein Problem darstellen.
Was ich vorschlage, ist ein völlig anderer Ansatz.
Wie Sie ausdrücklich erwähnt haben: " Mein Ziel ist es, automatisch einen Standard-DNS-Server auf nicht technisch versierte Benutzer anzuwenden und gleichzeitig erfahrenen Computerbenutzern die Einrichtung eigener DNS-Server zu ermöglichen. " Anscheinend wissen Sie genau, welche Benutzer Sie bereitstellen möchten eine DNS-Konfiguration und welche Benutzer Sie eine solche Konfiguration nicht bereitstellen möchten.
Daher statt Ihre Konfigurations direkt in der Haupt OpenVPN Konfigurationsdatei drücken (... und als solche stellen solche config ALL Ihre Benutzer), können Sie eine pro-Benutzerkonfiguration implementieren . Sie können dies tun mit:
Was die Hauptkonfiguration betrifft, sollten Sie Folgendes entfernen :
und fügen Sie einen Verweis auf das Verzeichnis / etc / openvpn / userconf hinzu (als Beispiel. Sie können wählen, was Sie möchten ):
Erstellen Sie dann in einem solchen userconf-Verzeichnis eine Datei für jeden Benutzer, den Sie für ein solches DNS bereitstellen möchten, einschließlich der beiden oben gelöschten Zeilen in einer solchen Datei.
Natürlich können Sie die openvpn-Konfiguration für jeden Benutzer optimieren, ohne die Anpassung auf die beiden obigen Zeilen zu beschränken.
Als letzte Anmerkung könnte Sie auch der ccd-exklusive Parameter interessieren .
quelle
Mein Problem war nicht genau das gleiche, aber die Symptome waren ähnlich genug, damit diese Frage in den Suchergebnissen angezeigt wurde. Falls also jemand aus demselben Grund hier auftaucht:
Ich verwende Tunnelblick , eine OpenVPN-GUI für Mac OS. Mein OpenVPN-Server war nicht so eingestellt, dass er DHCP- oder DNS-Optionen überträgt, aber der Client verwendete weiterhin den DNS-Server über VPN anstelle des lokalen Nicht-VPN-DNS-Servers, den ich verwenden wollte.
Die Lösung gehen war in den Tunnel Konfigurationen → Registerkarte Einstellungen und ändert Set DNS / WINS , um nicht Set Name - Server durchführt .
quelle
Danke für @aldaviva, es funktioniert auf meinem macOS 10.11.
Hänge meinen Screenshot an.
quelle