내 DNS 서버를 OpenVPN으로 푸시하는 방법은 무엇입니까?


27

VPS에 언 바운드 DNS 서버를 정의 했는데 작동하는 것 같습니다. 일부 ISP가 퍼블릭 DNS IP를 차단했기 때문에 퍼블릭 DNS 서버 대신 DNS 서버를 사용해야합니다. 내 openvpn.conf 파일은 다음과 같습니다

    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

여기 에 제안 된대로 서버의 IP를 사용하려고했습니다 (예 : 11.22.33.44). 그래서 대신

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

방금 뒀어

push "dhcp-option DNS 11.22.33.44"

위의 openvpn.conf에서. 그러나 openvpn을 다시 시작한 후에도 클라이언트는 여전히 OpenVPN 서버에 연결할 수 있지만 더 이상 페이지를 렌더링 할 수 없습니다.

여기서 무엇이 잘못 될 수 있습니까? 이 문제를 어떻게 해결할 수 있습니까?

답변:


31

Windows 10클라이언트, 다음과 같은 지시를합니다 추가 할 필요가 client.ovpn:

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

더 이상 지시문이 창에 필요하지 않습니다.

Ubuntu 16.04고객, 당신은 다음과 같은 지침을 필요에 추가 할 수 있습니다 client.ovpn:

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

Windows 용 최신 OpenVPN 클라이언트 버전이 옵션을 DOMAIN-SEARCH올바르게 인식하지 못하고로 작업합니다 DOMAIN.


특정 최소 OpenVPN 버전이 필요합니까?
0xC0000022L

라우터의 로컬 게이트웨이 IP 주소 (192.168.1.1)가 아닌 VPN 게이트웨이 IP (10.0.8.1)를 사용해야한다고 생각합니다. 신뢰할 수없는 네트워크 라우터가 192.168.1.1 주소에있을 가능성이있는 일반적인 라우터 IP 주소입니다.
carlin.scott

8

"작동하는 것 같습니다"라고 말합니다. 이것을 어떻게 확인 했습니까? 서버가 오류없이 시작되었다는 사실에 근거하고 있습니까? 아니면 실제로 일부 쿼리를 수행 했습니까?

가장 먼저 할 일은 nslookup 또는 dig를 사용하여 바인딩되지 않은 서버에 연결하고 일부 쿼리를 수행하는 것입니다. 나는 발굴이 요즘 유행한다는 것을 알고 있지만 nslookup을 더 잘 알고 있습니다.


$ 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

이것이 작동하지 않으면 DNS 구성을 다시 살펴 봐야합니다.

이것이 기본 DNS 서버입니까 아니면 캐싱 DNS 서버입니까? 로컬 리소스 나 인터넷 리소스를 쿼리하려고합니까? DNS 서버를 클라이언트로 푸시하지 않으면 예상대로 작동합니까?

OpenVPN 서버를 통해 모든 트래픽을 전달하는 경우 ISP가 우려하는 한 ISP가 VPS에 대한 트래픽 만 생성하므로 ISP가 더 이상 퍼블릭 DNS 서버를 차단하지 않아도됩니다. VPS가 동일한 ISP 뒤에 있지 않는 한.


잘 ubound는 당신이 언급 한 모든 테스트를 통과 할 수 있으며 더 이상 문제가되지 않을 것이라고 확신합니다. 왜 내 DNS 서버를 사용해야하는지에 대해 위와 같이 퍼블릭 DNS를 사용할 때이란 (수백만 개의 사이트가 차단 된)의 클라이언트가 openvpn 연결을 통해 어떤 페이지도 가져올 수 없다는 사실을 경험했습니다. 그들은 openvpn 서버에 연결할 수 있습니다. 따라서 노력. 감사합니다
hbp

1
연결되면 IP 주소를 통해 웹 페이지를 얻을 수 있음을 확인 했습니까? 이렇게하면 라우팅 문제가 아닌 DNS 문제인지 확인할 수 있습니다. OpenVPN을 설정할 때 서버에 연결할 수 있지만 반환 경로가 없어서 트래픽을 다시 얻지 못하는 것은 매우 일반적입니다.
digitaladdictions

3

Windows 이외의 클라이언트에서 연결하려는 경우 몇 가지 추가 단계를 수행해야합니다.

리눅스에서

이 줄을 클라이언트 구성 ( client.conf또는 xxxx.ovpn파일) 에 넣으십시오.

dhcp-option DNS 11.22.33.44

이런 식으로 OpenVPN 클라이언트를 호출하십시오.

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

그것은 나를 위해 일했다.


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

1

2018 년 9 월 13 일 우분투 18.04에서 테스트

명령 행을 통해 필요한 것을 설정하는 또 다른 유용한 명령이 있습니다. 그러나 제 경우에는 명령 줄과 GUI를 사용하여 VPN 연결을 제어 할 수 있습니다.

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

ifname -- 기본적으로 필요하지만 아무런 영향을 미치지 않습니다

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 원격 게이트웨이를 기본 경로로 사용해서는 안됩니다

그리고 훨씬 더 흥미로운 최종 손길 :

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'

나중에 GUI를 사용하여 VPN을 제어하거나 다음 명령을 사용할 수 있습니다.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.