it-swarm.com.de

Wie definiere ich einen DNS-Server in openvpn?

Ich habe einen OpenVPN-Server mit statischem Schlüssel eingerichtet (der Zertifikatmodus kann aufgrund von DPI am nationalen Gateway nicht verwendet werden), kann den DNS jedoch nach der Verbindung nicht automatisch automatisch ändern. Ich habe über das Internet und SE gesucht, und jeder schlägt die Verwendung von dhcp-option.

Ich habe versucht, diese Zeile zu client.ovpn

dhcp-option DNS 8.8.8.8

Es gibt keine Wirkung. Ich habe versucht, diese Zeile in Server Conf hinzuzufügen

Push "dhcp-option DNS 8.8.8.8"

Beides hat keine Wirkung.

In der Tat, nach dem Handbuch,

--dhcp-option type [parm]

Festlegen erweiterter TAP-Win32-TCP/IP-Eigenschaften, muss mit --ip-win32 dynamic oder --ip-win32 adaptive verwendet werden.

Aber mein Client ist ein Mac, Server Linux. Irgendwelche Lösungen für das Problem?

17
Siyuan Ren

Auf einem Linux-System müssen Sie ein externes Skript ausführen.

Hier ist die Dokumentation: https://wiki.archlinux.org/index.php/OpenVPN#DNS

Skripte finden Sie auf hier oder einer neueren Linux-Version hier und Sie können sie aufrufen, indem Sie dies in der openvpn-Client-Konfiguration hinzufügen:

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
7
Damien

Ich bin kein Experte, aber vom Lesen der Seite man unter Ihrem Zitat:

--dhcp-option type [parm]

...

Beachten Sie, dass wenn - dhcp-Option über --Push auf einen Nicht-Windows-Client übertragen wird, die Option vor dem in der Client-Umgebung gespeichert wird Das up-Skript wird unter dem Namen "alien_option_ {n}" aufgerufen.

und unter Foreign_option_ {n}:

fremde_Option_ {n}

Eine Option, die über --Push an einen Client gesendet wird, der sie nicht nativ unterstützt, wie z. B. - dhcp-Option auf einem Nicht-Windows-System vor vor der Ausführung des Skripts in dieser Umgebungsvariablensequenz aufgezeichnet werden.

Daher ändert der Befehlszeilen-Client openvpn das DNS-Setup auf Ihrem OSX-Computer nach dem Herstellen der Verbindung nicht automatisch. Da die DNS-Optionen jedoch in der Clientumgebung gespeichert sind, können Sie mit der Option --up Ein Skript angeben, um die Push-Server an die aktuelle DNS-Konfiguration des Systems anzuhängen:

--up cmd

Führen Sie den Befehl cmd nach erfolgreichem Öffnen des TUN/TAP-Geräts aus (Änderung der UID vor dem Benutzer).

cmd besteht aus einem Pfad zum Skript (oder einem ausführbaren Programm), optional gefolgt von Argumenten. Der Pfad und die Argumente können in einfache oder doppelte Anführungszeichen gesetzt und/oder mit einem Backslash maskiert werden und sollten durch ein oder mehrere Leerzeichen getrennt werden.

Z.B. Tunnelblick tut dies auch, indem es dieses Skript verwendet.

Eine andere Lösung könnte ein Skript sein, das in der OpenVPN-Mailingliste unter DNS für OS X-Clients - das endgültige Handbuch veröffentlicht wurde.

5
FloHimself

Ich hatte das gleiche Problem mit Linux-Betriebssystemen (Server und Client) und habe es gelöst, indem ich dnsmasq auf einem fehlenden Server installiert habe

also meine Schritte:

apt-get install dnsmasq

in server.conf

Push "redirect-gateway def1" Push "dhcp-option DNS 8.8.8.8" Push "dhcp-option DNS 8.8.4.4"

Und ich konnte Domänen über die Server-IP verbinden und durchsuchen und mich mit NetWorkManager verbinden, wobei DNS automatisch eingestellt war

4
Maddish