Kendi DNS sunucumu OpenVPN'e nasıl gönderebilirim?


27

VPS'mde bağlanmamış bir DNS sunucusu tanımladım ve çalışıyor gibi görünüyor. Bazı ISS'ler genel DNS IP'lerini engellediğinden, genel DNS sunucuları yerine DNS sunucusunu kullanmam gerekiyor. Openvpn.conf dosyam şudur:

    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

Önerilmiştir gibi burada , benim sunucunun IP'leri kullanmaya çalıştı (11.22.33.44 derler). Yani yerine

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

Sadece koydum

push "dhcp-option DNS 11.22.33.44"

Yukarıdaki openvpn.conf dosyasında. Ancak, openvpn'yi yeniden başlattıktan sonra, istemcimin OpenVPN sunucusuna hala bağlanabileceğini, ancak artık sayfa görüntülenemediğini görüyorum.

Burada ne yanlış olabilir? Bu sorunu nasıl çözebilirim?

Yanıtlar:


31

On Windows 10müşterileri, aşağıdaki yönergeleri eklemek gerek client.ovpn:

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

Pencereler için daha fazla yönergeye gerek yoktur.

On Ubuntu 16.04müşterileri, aşağıdaki yönergeleri gerekmez ekleme yapabilirsiniz client.ovpn:

up /etc/openvpn/update-resolv-conf                                                                                      
down /etc/openvpn/update-resolv-conf  

En son Windows için OpenVPN istemci sürümleri seçeneği DOMAIN-SEARCHdoğru olarak tanımıyor ve birlikte çalışıyor DOMAIN.


Bu, belirli bir minimum OpenVPN sürümünü gerektiriyor mu?
0xC0000022L

Yönelticinin yerel ağ geçidi ip adresini (192.168.1.1) değil VPN ağ geçidi IP'sini (10.0.8.1) kullanmanız gerektiğini düşünüyorum. Bu, o kadar yaygın bir yönlendirici ip adresidir ki, doğrudan bağlandıkları güvenilmeyen ağ yönlendiricisi, 192.168.1.1 adresinde olacaktır.
carlin.scott

8

"Çalışıyor gibi görünüyor" diyorsunuz. Bunu nasıl doğruladınız? Sunucunun herhangi bir hata yapmadan başladığı gerçeğine mi dayanıyorsunuz, yoksa gerçekten bazı sorgulamalar yaptınız mı?

Yapacağım ilk şey nslookup kullanmak ya da unbound sunucuya bağlanmak ve bazı sorgular gerçekleştirmek için kazı yapmak. Günümüzde kazıların moda olduğunu biliyorum, ancak daha iyi olduğunu biliyorum.


$ 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

Bu işe yaramazsa, DNS yapılandırmasına tekrar bakmak zorundasınız.

Bu bir birincil DNS sunucusu mu yoksa önbellek DNS sunucusu mu? Yerel kaynakları veya internet kaynaklarını sorgulamaya mı çalışıyorsunuz? DNS sunucunuzu istemciye zorlamazsanız, beklendiği gibi çalışıyor mu?

Tüm trafiğinizi OpenVPN sunucunuz üzerinden geçirirseniz, ISS'nizin genel DNS sunucularını engellemesi konusunda endişelenmenize gerek kalmaz, çünkü ISS’niz söz konusu olduğunda yalnızca VPS’nize trafik çekiyorsunuzdur; VPS aynı İSS'nin arkasında olmadığı sürece.


Ubound, bahsettiğiniz tüm testlerden geçebilir ve biraz daha fazla olabilir, bu yüzden sorun olmadığından eminim. Neden kendi DNS sunucumu kullanmam gerektiğine ilişkin olarak, yukarıdaki gibi halka açık DNS kullandığımda, İran’daki müşterilerin (milyonlarca sitenin engellendiği), açık ağ bağlantısı üzerinden herhangi bir sayfa alamadıklarını, openvpn sunucusuna bağlanabilirler. Bu nedenle çaba. Thanks
hbp

1
Bağlandıktan sonra IP adresi üzerinden bir web sayfası alabileceklerini onayladınız mı? Bu sadece DNS problemi olduğundan ve yönlendirme problemi olmadığından emin olacaktır. OpenVPN'i sunucuya bağlanabilmek, ancak eksik bir dönüş rotası nedeniyle geri trafik alamamak için kurarken çok yaygındır.
digitaladdictions

3

Windows olmayan bir istemciden bağlanmaya çalışıyorsanız, birkaç ek adım yapmanız gerekeceği ortaya çıktı:

Linux'ta

Bu satırı müşteri yapılandırmanıza ( client.confveya xxxx.ovpndosyaya) yerleştirin.

dhcp-option DNS 11.22.33.44

OpenVPN istemcisini şu şekilde arayın:

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

Bu benim için çalıştı.


Unrecognized option or missing or extra parameter(s) in [CMD-LINE]:1: script-security
Javier Buzzi

1

Ubuntu 18.04 tarihinde 13 Eylül 2018'de test edilmiştir.

İhtiyacınız olanı komut satırı ile ayarlamak için başka bir yararlı komut var. Ancak benim durumumda VPN bağlantınızı hem komut satırı hem de GUI ile kontrol edebilirsiniz.

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

ifname -- Varsayılan olarak gereklidir, ancak hiçbir şeyi etkilemez

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 uzak ağ geçidini varsayılan yol olarak kullanmamalı

Ve çok daha fazla ilgilenen son dokunuş:

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'

Daha sonra vpn'yi GUI ile kontrol edebilir veya aşağıdaki komutları kullanabilirsiniz:

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.