
내 노트북과 서버 사이에 OpenVPN 연결을 사용하고 있습니다. 구성은 오늘까지 작동했지만(단순히 실행했습니다 apt update && apt upgrade
) OpenVPN에 연결한 후 DNS 설정이 "잘못"되었습니다.
OpenVPN 서버에 연결한 후 DNS Domain: ~.
내 systemd-resolve
구성에 두 개의 "catch all" DNS 도메인 항목( )이 생겼습니다.
다음의 제거된 출력 systemd-resolve --status
:
Link 11 (tun0)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.X.Y
DNS Domain: ~.
Link 2 (enp0s25)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 10.16.X.Y
10.16.X.Y
DNS Domain: ~.
따라서 이제 DNS 쿼리는 VPN을 통해 안전하게 터널링되지 않지만 일반 네트워크를 통해 전송될 수도 있습니다.
이로 인해 DNSLeak이 발생하고 더욱 악화됩니다. VPN 내부 호스트 이름이 올바르게 확인되지 않습니다(가끔).
DNS Domain: ~.
나는 해결을 위해 tun0-Interface에 항목을 추가하는 옵션만 알고 있습니다 . 하지만 실제 인터페이스에서 이미 존재하는 것을 어떻게 제거합니까?
저는 이미 이 구성을 사용하여 OpenVPN client.conf에서 systemd-resolved를 업데이트하고 있습니다.
# Upate systemd-resolvd
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
down-pre
dhcp-option DOMAIN-ROUTE .
누구든지 이 문제를 해결하는 방법을 알고 있나요?
// 업데이트: 이는 NetworkManager가 루트 DNS 도메인을 링크에 무작위로 연결하기 시작하면서 오랫동안 알려진 문제인 것 같습니다. 이에 대한 흥미로운 토론이 있습니다.GitHub 문제스크립트 개발자의 저장소에 있습니다 update-systemd-resolved
.
// 아마이 커밋NetworkManager로 인해 문제가 발생했습니다. 모든 인터페이스 동작에 대한 기본 DNS 경로를 도입했기 때문입니다.
답변1
OpenVPN 서버에서 다운로드한 클라이언트 구성 파일(확장자가 .ovpn인 파일)에 다음 줄을 추가합니다.
dhcp-option DOMAIN-ROUTE .
아시다시피, 이 줄을 추가하기 전에 Ubuntu 18.04에서는 다음 update-systemd-resolved
에 설명된 대로 스크립트를 설치해야 합니다.https://github.com/jonathanio/update-systemd-resolved
그래도 작동하지 않으면 내부 DNS 서버도 추가해야 할 수 있습니다. .ovpn 파일 끝에 추가하는 줄이 다음과 같은지 확인하세요.
script-security 2
dhcp-option DNS 10.1.0.1 # replace this IP with your DNS server IP.
dhcp-option DOMAIN yourinternaldomain.local # replace this with your internal domain name.
dhcp-option DOMAIN-ROUTE .
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
down-pre
UI(gnome)를 사용하여 연결하는 경우
마지막으로, UI VPN 아이콘을 사용하여 VPN에 연결하는 경우 .ovpn 수정 파일을 다시 가져와야 합니다.
그렇게 하려면 터미널에서 실행하세요:
sudo apt install openvpn openvpn-systemd-resolved resolvconf
sudo apt install network-manager-openvpn network-manager-openvpn-gnome
Ubuntu 시작 메뉴를 클릭합니다.
"네트워크"라는 단어를 입력하고 네트워크를 클릭합니다. 다음과 같이 표시되어야 합니다.
"를 클릭하세요.+" VPN에 로그인하고 "파일에서 가져오기" 옵션을 클릭하세요.
가져온 후에는 이름을 추가하고 대화 상자 오른쪽 상단에 있는 "추가" 버튼을 클릭하세요.
당신 준비 다 됐어요!
VPN에 연결하려면 네트워크 아이콘을 클릭한 다음 자물쇠 아이콘을 클릭하세요.