DNS 외부 차단, DNS 누출 수정 우분투 18.04 동안 dns 누출 테스트 를

VPN을 사용 하는 동안 dns 누출 테스트 를 사용하여 유출 된 것을 발견했습니다. NetworkManager를 통해 VPN을 설정했으며 누출을 제외하고 제대로 작동합니다.

먼저 block-outside-vpn구성 파일 /etc/NetworkManager/system-connections에 동일한 형식을 따르지 않는 것을 제외하고 구성 파일 에 추가하려고했습니다 . dns 누출에 대한 문서를 올바르게 작성하는 방법에 대한 문서를 찾을 수 없습니다.

또한 Ubuntu 18.04 resolv.conf를 사용하면 이전과 같이 작동하지 않으며 다른 모든 답변은이를 기반으로합니다.

간단히, Network Manager 구성 파일 또는 GUI를 사용하여 외부 DNS (누수)를 차단하는 방법은 무엇입니까?



답변

을 사용하는 것이 좋습니다 dnscrypt.

먼저 설치하십시오.

sudo apt install dnscrypt-proxy

기본적으로 127.0.2.1port 를 수신합니다 53.

127.0.2.1CLI를 사용 하여 VPN 또는 원하는 다른 연결을 편집 하고 DNS 서버로 설정하십시오 .

nmcli connection modify [CONNECTION-NAME] ipv4.dns 127.0.2.1

그리고 나가는 DNS 요청을 차단하는 경우를 대비하여 :

sudo ufw deny out 53

방화벽이 활성화되어 있는지 확인하십시오.

sudo ufw enable

답변

Ubuntu 18.04에서 DNS 누출을 해결하기 위해라는 파일을 편집 할 수 있습니다 /etc/dhcp/dhclient.conf. 매뉴얼 페이지에 따르면이 파일은 “동적 호스트 구성 프로토콜, BOOTP 프로토콜을 사용하거나 이러한 프로토콜이 실패한 경우 주소를 정적으로 할당하여 하나 이상의 네트워크 인터페이스를 구성하는 수단을 제공합니다.”

DNS 유출 문제를 해결하기 위해이 파일을 편집하겠습니다. 적절한 권한으로 파일을 열면 다음과 같이 주석 처리 된 행이 나타납니다.

#prepend domain-name-servers 127.0.0.53;

이 줄의 주석을 해제하고 domain-name-server를 OpenDNS와 같은 다른 것으로 변경하십시오 : 208.67.222.222. 이 OpenDNS 주소를 사용하면이 줄은 다음과 같습니다.

prepend domain-name-servers 208.67.222.222;

파일을 저장하고 시스템을 재부팅하면 Ubuntu 18.04에서 DNS 누출이 해결됩니다.


답변

browserleaks.com 또는 dnsleaktest.com 을 확인하여 표시된대로 DNS 누출이있는 경우
,

  1. VPN 연결을 종료하십시오

  2. 이미 시간을 낭비한 .conf 파일 편집을 취소합니다. 다양한 제안을 많이 시도했다면 새로 설치하는 것이 좋으며 Ubuntu에는 기본적으로 VPN 구성 가져 오기가 제공되지 않으므로 networkmanager-openvpn-gnome도 설치했는지 확인하십시오.

  3. dnsmasq 설치

    sudo apt update
    sudo apt install dnsmasq
    
  4. 해결 비활성화

    sudo systemctl disable systemd-resolved.service
    sudo systemctl stop systemd-resolved.service
    
  5. /를 제거 etc/resolv.conf하고 새로 만드 십시오 .

    sudo rm /etc/resolv.conf
    sudo nano /etc/resolv.conf
    
  6. .conf파일에 입력하십시오 :

    nameserver 127.0.0.1`         that's all!
    
  7. Ctrl+ x 를 눌러 편집기를 종료하십시오. 입력 y하여 저장 한 다음를 눌러 Enterresolv.conf파일 을 덮어 씁니다 .

  8. NetworkManager.conf 파일 편집

    sudo nano /etc/NetworkManager/NetworkManager.conf
    

    다음을 추가하십시오.

    dns=dnsmasq
    

    행 아래 (화살표 키를 사용하여 탐색), [main] 및 plugins = ifupdown 아래에 새 행이 추가 된 키 파일과 정확하게 일치합니다.

    [main]
    plugins=ifupdown, keyfile
    dns=dnsmasq
    

    Ctrl+ x를 눌러 편집기를 종료하십시오. 입력 y 하여 저장 한 다음을 눌러 Enter파일을 덮어 씁니다.

  9. 터미널에서 나와 시스템을 재부팅하고 dnsleak 테스트 사이트에서 결과를 확인하십시오.

Ubuntu / Network Manager의 Leaks 솔루션이 잘 연구되고 성공한 Anonymous VPN 덕분 입니다. 그들은 효과가 있었고 다른 해결책이 나를 위해 일하지 않았을 때 이것들이 효과가있었습니다. 위의 솔루션은 Ubuntu 17.x 및 18.04 LTS에서 작동합니다 . 16.04 LTS에 대한 그의 다른 솔루션을 참조하십시오 .


답변

https://unix.stackexchange.com/a/470940 에서 나를 위해 일한 솔루션을 찾기 전에 2 일 동안이 정확한 문제로 어려움을 겪었습니다.

TL; DR

$ cd /etc/NetworkManager/system-connections

여기에는 Network Manager로 작성된 연결이 저장됩니다.

$ sudo nmcli connection modify <vpn-connection-name> ipv4.dns-priority -42

연결 구성 파일을 수정하는 간단한 명령입니다. 수동으로도 수행 할 수 있지만이 방법이 더 쉽다고 생각합니다.

$ sudo service network-manager restart

변경 사항을 시스템에 적용하십시오.

기본적으로 위의 링크에서 붙여 넣어 원저자에게 제공합니다.

시스템에서 nmcli를 모르거나 Network Manager GUI를 사용하여 연결을 추가하면 오류가 발생하는 경우이 링크를 권장 합니다

이제 설명이 적고 설명이 많을수록 (단순히 나 자신이 아닙니다).

resolv.conf, dnsmasq 및 dnscrypt를 포함한 많은 솔루션을 시도했는데, 이로 인해 인터넷이 완전히 차단되거나 VPN 연결이 해제되었을 때 차단되었습니다. dnsleaktest.com 에 따르면 이들 중 어느 것도 dns 누출을 해결하지 못했습니다 . 이들 중 어느 것이라도 시도된다면, 바람직하지 않은 결과의 경우에 이들을 역전시킬 수 있도록 길을 따라 각 단계를 추적해야한다. 끊어진 인터넷 시간과 시간을 다시 고치려면 시간이 걸리지 않았습니다. 이 솔루션이 작동하지 않는다고 주장하지는 않으며 어딘가에 실수를했을 가능성이 큽니다.
그러나 내가 링크 한 솔루션은 일반적인 네트워크 설정을 망칠 것이 아니라 수정하려는 하나의 연결만으로도 큰 이점을 가지고 있습니다.

다음으로, 앞에서 언급했듯이 block-outside-dns는 Windows 전용 솔루션이며 우분투 시스템에서 인식되지 않는 옵션 오류를 던졌습니다.

ovpn cli 명령을 사용해도 누출이 해결되지 않았습니다.

내가 제공 한 링크 는 우분투 18.10에서 수정 된 일부 버전 불일치에 대한 설명 ( here )을 언급하며 ,이 주제에 대해 더 많은 전문 지식을 가진 사람이 추가 설명을 원할 수도 있습니다. 사실이라면 LTS 사용자는 내년 4 월 afaik을 기다려야합니다.

마지막으로 인터넷 검열이있는 국가 거주자의 경우 dns 누출은 트래픽에 대한 로컬 isp 액세스를 허용 할 수 있고 vpn에 연결되어 있어도 검열 된 도메인이 차단 될 수 있기 때문에 심각한 문제가됩니다. 나중에 중국 등을 방문 할 때는 미리 알아 두어야 할 사항입니다.

도움이 되었기를 바랍니다.


답변

사용해보십시오 update-systemd-resolved을 변경하지 않는 스크립트 resolv.conf, 대신에 사용하는 systemd-resolved그것의 DBUS API를 사용하여 서비스를

git에서 가져 와서 다음과 같이 설치하십시오.

git clone https://github.com/aghorler/update-systemd-resolved.git
cd update-systemd-resolved
make

이제 다음 nsswitch.conf으로 수정하십시오 .

sudo nano /etc/nsswitch.conf

다음으로 시작하는 줄을 변경 hosts:대답

hosts: files resolve dns myhostname

서비스를 활성화하고 자동으로 실행되는지 확인하십시오.

sudo systemctl enable systemd-resolved.service
sudo systemctl start systemd-resolved.service

참고 : 위의 단계를 따르고 싶지 않고 터미널을 사용하는 것이 괜찮다면 NetworkManager를 사용할 때만 DNS 누출이 발생합니다. 지금까지 터미널에서 openvpn을 실행하면 내 경험에서 발생하지 않습니다.sudo openvpn --config config.ovpn


답변

dns leak 문제를 해결하기 위해 온라인에서 찾을 수있는 모든 솔루션을 거의 시도했습니다. Openvpn은 정상적으로 시작되었지만 테스트 사이트에 갔을 때 누수가 있음을 보여주었습니다. 나는 모든 치료법을 시도하는 것을 즐거워하지 않고 Wi-Fi 및 이더넷 설정에 들어가서 ISP 대신 openvpn의 dns 서버를 사용했으며 그때부터 모든 것이 잘되었습니다. 나는 당신이 모든 곳에서 IP 주소를 보았을 것이라고 확신하지만, 여기에 당신이하지 않은 경우 : 208.67.222.222 및 208.67.220.220.


답변

당신이해야 할 일은

  1. IP 터널을 사용하여 VPN 터널을 통해 모든 것을 강제하십시오
  2. 선택한 DNS 서버로 고정 IP 주소를 갖도록 PC를 구성하십시오 (DHCP는 친구가 아닙니다)

자세한 내용은 https://github.com/OrangeReaper/abStartupManager/wiki/Some-notes-on-Ubuntu-Desktop-Security