OpenVPN 클라이언트 구성 파일을 사용하여 DNS 서버 설정


16

클라이언트 구성 만 사용하여 클라이언트에서 DNS 서버를 설정하는 방법 내 클라이언트는 Windows 시스템이며 VPN 연결을 끊을 때 클라이언트가 연결되고 원래 구성으로 되돌릴 때 DNS 서버를 변경하고 싶습니다.

지금까지 내가 찾은 모든 정보는 서버의 구성을 사용하여 DNS 구성을 클라이언트에 푸시하는 것과 관련이 있지만이 경우 서버 구성을 변경할 수 없으며 VPN에 연결할 때마다 현재 수동으로 수행합니다. 연결 기간 동안 로컬 시스템 DNS 서버를 설정하는 openvpn 구성 옵션이 좋습니다.

답변:


3

배치 스크립트를 사용하여 다음과 같은 작업을 수행 할 수 있습니다. 가정 DNS 서버는 1.1.1.1 및 2.2.2.2이고 VPN DNS 서버는 8.8.8.8 9.9.9.9라고 가정합니다.

vpn-connect.bat :

netsh interface ip set dns "Local Area Connection" static 8.8.8.8

netsh interface ip add dns "Local Area Connection" 9.9.9.9

vpn-disconnect.bat

netsh interface ip set dns "Local Area Connection" static 1.1.1.1

netsh interface ip add dns "Local Area Connection" 2.2.2.2

이 스크립트에는 연결 및 연결 해제 방법을 포함하려고했지만 OpenVPN에는 명령 줄을 통해 연결을 끊는 옵션이 표시되지 않습니다. 연결을 자동화하려면 다음과 같이하십시오.

C:\Program Files\bin\openvpn.exe C:\Program Files\conf\client.ovpn


15

클라이언트 구성 파일에 다음을 추가 할 수 있습니다.

dhcp-option DNS <dns_server_ip_address>

서버 측에서는 다음과 같습니다.

push "dhcp-option DNS <dns_server_ip_address>"

dhcp-option양쪽 에서 사용 하고있는 것 같습니다 . 당신도 같은 작업을 수행 할 수 있습니다 route.


4
비록 그것이 있어야하는 것처럼 보이지만 이것은 나를 위해 작동하지 않았습니다. 옵션이 생성 된 client.ovpn에 없습니다. 추가해도 여전히 작동하지 않습니다. 재고 펌웨어 3.0.0.4.376_3861이있는 Asus RT-N66U에서 실행
Shea

2
나는 이것을 <ca> 태그 바로 앞에 내 .ovpn 파일에 추가했으며 훌륭하게 작동했습니다! 감사합니다! OpenVPN 2.4.4 Windows 버전 6.2를 사용하여 Windows 컴퓨터에서 이것을 테스트했습니다.
Michael Kargl

6

Windows에서 적어도 Windows 2000 / XP / 7을 포함하여 잘못된 바인딩 순서에 문제가있는 것 같습니다. 이로 인해 Windows OpenVPN 클라이언트는 VPN 어댑터 설정 대신 기본 네트워크 어댑터의 DNS 설정을 사용하게됩니다.

이 문제를 해결하려면 VPN TUN 또는 TAP 장치를 로컬 네트워크 어댑터 위에 바인드 순서로 배치해야합니다.

  1. 의 출력을 확인하여 VPN 장치를 식별하십시오 ipconfig. 저에게는 이것이 "로컬 영역 연결 2"였습니다. 이 어댑터의 IP 주소를 기억하십시오.
  2. regedit.exe를 열고 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\InterfacesVPN 어댑터의 IP 주소와 일치 하는 키를 찾으십시오 . 이 어댑터의 GUID를 기억하십시오.
  3. 로 이동하여 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage두 번 클릭하십시오 Bind. 여기에는 어댑터의 GUID 목록이 포함됩니다. VPN 장치의 GUID에 해당하는 줄을 잘라내어 목록의 맨 위에 붙여넣고 목록을 저장하십시오.

VPN 장치의 DNS 항목이 사용됩니다 (VPN 연결이 활성화 된 동안에 만). @brunoqc의 답변에 따라 설정할 수 있습니다. 이 과정에서 block-outside-dnsDNS 쿼리가 유출되지 않도록 openvpn 옵션을 추가해야합니다 .

이 답변은 매우 유용한 블로그 게시물을 기반으로 합니다 .


그것은 꽤 잘 작동했습니다! 이 안내서를 작성해 주셔서 감사합니다
SeriousM

3

아래 두 가지 중 하나에 추가 :

dhcp-option DNS <dns_server_ip_address>          (add to client config)

또는

push "dhcp-option DNS <dns_server_ip_address>"   (add to server config)

Windows가 구성된 DNS를 사용하도록하려면 클라이언트 구성에도이를 추가하십시오.

register-dns
block-outside-dns

첫 번째는 Windows가 DHCP에서받은 다른 DNS 서버보다 구성된 DNS 서버를 선호하도록합니다. 두 번째는 구성된 서버 이외의 다른 DNS 서버로의 DNS 유출을 방지합니다.

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