openvpn에서 DNS 서버를 정의하는 방법은 무엇입니까? 게이트웨이에서 DPI로 인해 인증 모드를 사용할 수

정적 키를 사용하여 openvpn 서버를 설정했지만 (국가 게이트웨이에서 DPI로 인해 인증 모드를 사용할 수 없음) 연결 후 DNS를 자동으로 변경할 수 없습니다. 나는 인터넷과 SE를 통해 검색했으며 모든 사람이 사용을 제안합니다.dhcp-option .

이 줄을 추가하려고했습니다. client.ovpn

dhcp-option DNS 8.8.8.8

효과가 없습니다. 서버 conf 에이 줄을 추가하려고했습니다.

push "dhcp-option DNS 8.8.8.8"

어느 것도 영향을 미치지 않습니다.

실제로 매뉴얼에 따르면

–dhcp 옵션 유형 [parm]

확장 TAP-Win32 TCP / IP 속성을 설정하고 –ip-win32 동적 또는 –ip-win32 적응 형과 함께 사용해야합니다.

그러나 내 클라이언트는 Mac 컴퓨터, 서버 Linux입니다. 문제에 대한 해결책이 있습니까?



답변

Linux 시스템에서는 외부 스크립트를 실행해야합니다 .

설명서는 다음과 같습니다.
https://wiki.archlinux.org/index.php/OpenVPN#DNS

스크립트는 여기 또는 최신 Linux 버전 에서 찾을 수 있으며 openvpn 클라이언트 구성 에서 스크립트 를 추가하여 호출 할 수 있습니다.

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


답변

나는 전문가가 아니지만 man견적 아래 의 페이지 를 읽습니다 .

–dhcp 옵션 유형 [parm]

–dhcp-option을 –push를 통해 Windows 이외의 클라이언트로 푸시 하는 경우 옵션은 “foreign_option_ {n}”이라는 이름으로 up 스크립트가 호출되기 전에 클라이언트 환경에 저장됩니다.

foreign_option_ {n} 아래 :

foreign_option_ {n}

Windows가 아닌 시스템에서 –dhcp-option 과 같이 기본적으로 지원하지 않는 클라이언트에 –push를 통해 푸시 된 옵션은 –up 스크립트 실행 전에이 환경 변수 시퀀스에 기록됩니다
.

따라서 명령 행 openvpn클라이언트는 연결을 설정 한 후 OSX 시스템에서 DNS 설정을 자동으로 수정하지 않습니다. 그러나 DNS 옵션은 클라이언트 환경에 저장되므로 다음 옵션을 사용하여 푸시 된 서버를 시스템의 현재 DNS 구성에 추가하는 스크립트를 지정할 수 있습니다 --up.

–up cmd

TUN / TAP 장치가 성공적으로 열린 후 cmd 명령을 실행하십시오 (사전 –user UID 변경).

cmd는 선택적으로 인수가 오는 스크립트 (또는 실행 프로그램) 경로로 구성됩니다. 경로 및 인수는 백 슬래시를 사용하여 작은 따옴표 또는 큰 따옴표로 묶거나 이스케이프 할 수 있으며 하나 이상의 공백으로 구분해야합니다.

예를 들어 Tunnelblick 은이 스크립트 를 사용하여이를 수행합니다. 합니다.

또 다른 해결책은 OS X 클라이언트 용 DNS 의 openvpn 메일 링리스트에 게시 된 스크립트 일 수도 있습니다 .


답변

Linux OS (서버 및 클라이언트)에서 동일한 문제가 있었고 누락 된 서버에 dnsmasq를 설치하는 것을 해결했습니다.

그래서 내 단계 :

apt-get install dnsmasq

server.conf에서

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

그리고 서버 IP를 통해 도메인을 연결하고 탐색 할 수 있으며 DNS가 설정된 NetWorkManager와 자동으로 연결됩니다.


답변

이 명령을 클라이언트 측 conf 파일에 추가하십시오.

# put actual dns name here
dhcp-option DNS 10.11.12.13

확실히 작동합니다 ..


답변