Frage Wie schiebe ich meinen eigenen DNS-Server nach OpenVPN?


Ich habe eine definiert ungebunden DNS-Server auf meinem VPS und es scheint zu funktionieren. Ich muss den DNS-Server anstelle von öffentlichen DNS-Servern verwenden, da einige ISPs öffentliche DNS-IPs blockiert haben. Meine openvpn.conf Datei ist:

    dev tun
    proto tcp

    # Notice: here I set the listening port to be 80 to avoid possible port blockage
    port 80

    ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
    cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
    key /etc/openvpn/easy-rsa/2.0/keys/server.key
    dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem

    user nobody
    group nogroup
    server 10.8.0.0 255.255.255.0

    persist-key
    persist-tun

    #status openvpn-status.log
    #verb 3
    client-to-client

    push "redirect-gateway def1"

    #pushing public DNS IPs

    push "dhcp-option DNS 208.67.222.222"
    push "dhcp-option DNS 208.67.222.220"

    comp-lzo

Wie es vorgeschlagen wird HierIch habe versucht, die IPs meines Servers zu verwenden (sagen wir 11.22.33.44). Also statt

    push "dhcp-option DNS 208.67.222.222"
    push "dhcp-option DNS 208.67.222.220"

Ich habe es einfach gesagt

push "dhcp-option DNS 11.22.33.44"

In der obigen openvpn.conf. Nach dem Neustart von openvpn sehe ich jedoch, dass mein Client immer noch eine Verbindung zum OpenVPN-Server herstellen kann, aber keine Seiten mehr gerendert werden können.

Was kann hier falsch sein? Wie kann ich dieses Problem lösen?


18
2017-10-05 03:18


Ursprung




Antworten:


Auf Windows 10 client Sie müssen folgende Anweisungen zur Konfigurationsdatei client.ovpn hinzufügen:

script-security 2                                                                                                       
dhcp-option DNS 192.168.1.1                                                                                           
dhcp-option DOMAIN example.lan                                                                                   

Für Windows sind keine weiteren Anweisungen erforderlich.

Auf Ubuntu 16.04 client Sie müssen folgende Anweisungen zur Konfigurationsdatei client.ovpn hinzufügen:

script-security 2                                                                                                       
dhcp-option DNS 192.168.1.1                                                                                           
dhcp-option DOMAIN example.lan                                                                                   

# Only on ubuntu client, you also need following directives:                                                              
up /etc/openvpn/update-resolv-conf                                                                                      
down /etc/openvpn/update-resolv-conf  

Neueste openvpn-Client-Versionen für Windows erkennen die Option nicht DOMAIN-SEARCH richtig und arbeitet mit Option DOMAIN.


17
2017-12-21 13:21



Benötigt dies eine bestimmte OpenVPN-Mindestversion? - 0xC0000022L


Sie sagen, dass das "es scheint zu arbeiten." Wie haben Sie das verifiziert? Basieren Sie darauf, dass der Server ohne Fehler gestartet wurde oder haben Sie tatsächlich einige Abfragen dagegen gemacht?

Als erstes würde ich nslookup oder dig verwenden, um eine Verbindung zum ungebundenen Server herzustellen und einige Abfragen durchzuführen. Ich weiß, dass dig heute mehr Mode ist, aber ich kenne nslookup besser.


$ nslookup
> server 11.22.33.44
Default server: 11.22.33.44
Address: 11.22.33.44#53
> set type=A
> www.google.com
Server:     11.22.33.44
Address:    11.22.33.44#53

Non-authoritative answer:
www.google.com  canonical name = www.l.google.com.
Name:   www.l.google.com
Address: 74.125.225.52
Name:   www.l.google.com
Address: 74.125.225.48
Name:   www.l.google.com
Address: 74.125.225.49
Name:   www.l.google.com
Address: 74.125.225.50
Name:   www.l.google.com
Address: 74.125.225.51

Wenn dies nicht funktioniert, müssen Sie erneut auf die DNS-Konfiguration zurückblicken.

Ist dies ein primärer DNS-Server oder ein Caching-DNS-Server? Versuchen Sie lokale Ressourcen oder Internetressourcen abzufragen? Funktioniert es wie erwartet, wenn Sie Ihren DNS-Server nicht auf den Client übertragen?

Wenn Sie all Ihren Datenverkehr über Ihren OpenVPN-Server weiterleiten, sollten Sie sich keine Sorgen darüber machen müssen, dass Ihr ISP öffentliche DNS-Server nicht mehr blockiert, da Sie für Ihren ISP nur Datenverkehr zu Ihrem VPS generieren. es sei denn das VPS ist hinter dem gleichen ISP.


7
2017-10-05 04:38



Nun, ubound könnte alle Tests bestehen, die du erwähnt hast, und noch mehr, also bin ich mir ziemlich sicher, dass das nicht das Problem ist. Warum ich meinen eigenen DNS-Server verwenden muss, habe ich festgestellt, dass die Clients im Iran (wo Millionen von Websites blockiert sind) keine Seite über ihre openvpn-Verbindung abrufen können, obwohl ich das öffentliche DNS wie oben verwende Sie können sich mit dem Openvpn-Server verbinden. Daher die Anstrengung. Vielen Dank - hbp
Haben Sie bestätigt, dass sie eine Webseite über eine IP-Adresse erhalten können, sobald sie verbunden sind? Dies würde nur sicherstellen, dass es wirklich DNS-Problem und kein Routing-Problem ist. Es ist sehr üblich, wenn OpenVPN eingerichtet wird, um eine Verbindung zum Server herstellen zu können, aber aufgrund einer fehlenden Rückleitung keinen Datenverkehr zurückbekommen. - digitaladdictions


Es stellt sich heraus, dass Sie, wenn Sie versuchen, eine Verbindung von einem Nicht-Windows-Client herzustellen, einige zusätzliche Schritte ausführen müssen:

Unter Linux

Setzen Sie diese Zeile in Ihre Client-Konfiguration (client.conf oder xxxx.ovpnDatei)

dhcp-option DNS 11.22.33.44

Rufen Sie den OpenVPN-Client auf folgende Weise an:

$ openvpn --script-security 2 --config xxxx.ovpn

Das hat für mich funktioniert.


2
2018-05-29 23:28





Getestet auf Ubuntu 18.04 am 13 Sep 2018

Es gibt noch weitere nützliche Befehle, um das, was Sie benötigen, über die Befehlszeile einzurichten. Aber in meinem Fall können Sie Ihre VPN-Verbindung sowohl über die Kommandozeile als auch über die GUI steuern.

sudo nmcli connection add type vpn vpn-type openvpn con-name la.vpn.contoso.com ifname --

ifname -- ist standardmäßig erforderlich, hat aber keine Auswirkungen

sudo nmcli connection modify la.vpn.contoso.com ipv4.dns 172.16.27.1 sudo nmcli connection modify la.vpn.contoso.com ipv4.dns-search int.contoso.com sudo nmcli connection modify la.vpn.contoso.com ipv4.never-default yes

never-default sollte das Remote-Gateway nicht als Standardroute verwenden

Und viel mehr letzter Schliff:

nmcli connection modify la.vpn.contoso.com vpn.data 'ca = /tmp/la.vpn.contoso.com/you/ca.crt, key = /tmp/you.key, dev = tun, cert = /tmp/you.crt, cert-pass-flags = 1, comp-lzo = adaptive, remote = la.vpn.contoso.com:1194, connection-type = tls'

Danach können Sie vpn mit GUI steuern oder folgende Befehle verwenden:

sudo nmcli --ask connection up la.vpn.contoso.com sudo nmcli connection down la.vpn.contoso.com


0
2017-09-13 14:38