blok luar dns, perbaiki dns kebocoran ubuntu 18.04

10

Menggunakan tes kebocoran dns saat di bawah VPN saya, saya menemukan bahwa itu bocor. Saya sudah mengatur VPN saya melalui NetworkManager dan berfungsi dengan baik kecuali untuk kebocoran.

Pertama, saya sudah mencoba menambahkan block-outside-vpnke file konfigurasi kecuali di /etc/NetworkManager/system-connectionsbawahnya tidak mengikuti format yang sama. Saya tidak dapat menemukan dokumen tentang cara menulis yang benar untuk kebocoran dns.

Juga, menggunakan Ubuntu 18.04 resolv.conf tidak berfungsi seperti sebelumnya, semua jawaban lain didasarkan pada itu.

Secara singkat, bagaimana cara memblokir luar dns (kebocoran) menggunakan file konfigurasi Network Manager atau GUI?

Pobe
sumber
block-outside-vpnbiasanya hanya opsi koneksi Windows OpenVPN. Memperbaiki DNS "kebocoran" adalah dengan menggunakan server DNS khusus yang hanya ada di sisi lain dari VPN. Apa hasil Uji Kebocoran DNS yang Anda lihat? (mereka relevan)
Thomas Ward

Jawaban:

3

Saya sarankan menggunakan dnscrypt.

Pertama instal:

sudo apt install dnscrypt-proxy

Secara default akan mendengarkan 127.0.2.1port 53.

Edit VPN Anda atau koneksi lain yang Anda suka dan tetapkan 127.0.2.1sebagai server DNS-nya, menggunakan CLI yang dapat Anda jalankan:

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

Dan kalau-kalau memblokir permintaan DNS keluar:

sudo ufw deny out 53

Dan pastikan firewall diaktifkan:

sudo ufw enable
Ravexina
sumber
DNS saya masih bocor sesuai uji kebocoran DNS. Penting juga untuk menyebutkan bahwa menonaktifkan VPN saat ufw diaktifkan akan membuat internet tidak tersedia (port 53 yang diblokir).
Pobe
Jalankan perintah ini: nmcli connection modify [CONNECTION-NAME] ipv4.ignore-auto-dns yeslihat apakah itu membantu.
Ravexina
3

Untuk memperbaiki kebocoran DNS pada Ubuntu 18.04, Anda dapat mengedit file yang disebut /etc/dhcp/dhclient.conf. Menurut halaman manual, file ini "menyediakan sarana untuk mengkonfigurasi satu atau lebih antarmuka jaringan menggunakan Protokol Konfigurasi Host Dinamis, protokol BOOTP, atau jika protokol ini gagal, dengan secara statis memberikan alamat."

Adapun untuk memperbaiki kebocoran DNS Anda, kami akan mengedit file ini. Buka dengan izin yang tepat, Anda akan melihat baris berkomentar yang terlihat seperti ini:

#prepend domain-name-servers 127.0.0.53;

Batalkan komentar pada baris ini, dan ubah domain-name-server ke yang lain, seperti OpenDNS: 208.67.222.222. Menggunakan alamat OpenDNS ini, baris ini sekarang akan terlihat seperti ini:

prepend domain-name-servers 208.67.222.222;

Setelah menyimpan file dan mem-boot ulang sistem Anda, ini akan memperbaiki kebocoran DNS pada Ubuntu 18.04.


sumber
Atau Anda bisa mengedit koneksi Anda dalam GUI dan mendapatkan hasil yang sama: buka jendela edit untuk koneksi Anda => Pengaturan IPv4 / IPv6, ubah "Metode" menjadi "Otomatis, alamat saja" dan tambahkan "Server DNS" milik Anda.
GoodGuyNick
Metode @GoodGuyNick melalui GUI tidak bekerja untuk saya. Saya telah meng-google masalah ini sepanjang hari, dan hanya trik "domain-nama-server" yang berhasil yang berhasil. Haleluya untuk jawaban ini. Segala sesuatu yang saya coba (termasuk GUI untuk server DNS) semakin ditimpa dan tidak selamat reboot.
pestophagous
3

Jika Anda memiliki kebocoran DNS seperti yang ditunjukkan dengan memeriksa browserleaks.com atau dnsleaktest.com ,

  1. Matikan koneksi VPN Anda

  2. Coba batalkan semua pengeditan file .conf yang sudah Anda buang-buang waktu. Jika Anda telah mencoba banyak saran, peluang terbaik Anda mungkin adalah melakukan instalasi baru dan memastikan Anda juga telah menginstal networkmanager-openvpn-gnome karena Ubuntu tidak memiliki impor konfigurasi VPN yang disediakan secara default.

  3. Instal dnsmasq

    sudo apt update
    sudo apt install dnsmasq  
    
  4. Nonaktifkan terselesaikan

    sudo systemctl disable systemd-resolved.service
    sudo systemctl stop systemd-resolved.service 
    
  5. Hapus / etc/resolv.confdan buat yang baru:

    sudo rm /etc/resolv.conf
    sudo nano /etc/resolv.conf  
    
  6. Masukkan ke dalam .conffile kosong Anda :

    nameserver 127.0.0.1`         that's all!
    
  7. Tekan Ctrl+ x untuk keluar dari editor. Masukkan yuntuk menyimpan dan kemudian tekan Enteruntuk menimpa resolv.conffile baru Anda .

  8. Edit file NetworkManager.conf Anda

    sudo nano /etc/NetworkManager/NetworkManager.conf 
    

    dan tambahkan yang berikut ini:

    dns=dnsmasq 
    

    di bawah garis (navigasi menggunakan tombol panah), [main] dan plugins = ifupdown, keyfile persis seperti ini dengan baris baru ditambahkan.

    [main]
    plugins=ifupdown, keyfile
    dns=dnsmasq
    

    Tekan Ctrl+ xuntuk keluar dari editor. Masuk y untuk menyimpan dan kemudian tekan Enteruntuk menimpa file.

  9. Kembali keluar dari terminal, dan reboot sistem dan periksa situs tes dnsleak Anda untuk hasilnya.

Dengan terima kasih kepada Anonymous VPN yang solusinya untuk Kebocoran pada Ubuntu / Network Manager tampaknya diteliti dengan baik dan berhasil. MEREKA BEKERJA dan ketika tidak ada solusi lain yang bekerja untuk saya, ini berhasil. Solusi yang ditunjukkan di atas bekerja untuk Ubuntu 17.x dan 18.04 LTS . Lihat solusi lainnya untuk 16,04 LTS .

Dosenfleisch
sumber
Saya telah menguji solusi ini pada VM dan semuanya bekerja. Kemudian saya sudah mencoba pada mesin utama dan melihat dns dari VPN dan dns bocor. Pada VM nameserverberubah dari 127.0.2.1ke 192.168.122.1dan ketika saya terhubung ke VPN dalam resolv.confsaya melihat dua nameserverbaris, satu dengan 192.168.122.1dan yang lainnya dengan VPN dns tapi pada mesin utama saya selalu melihat dua baris search lan nameserver 127.0.1.1.
GoodGuyNick
bagaimana saya bisa melakukan apa tanpa manajer jaringan? cukup letakkan dns di / etc / network / interfaces?
Mehdi
1

Saya telah berjuang dengan masalah persis ini selama 2 hari sebelum menemukan solusi yang bekerja untuk saya di sini: /unix//a/470940

TL; DR

$ cd /etc/NetworkManager/system-connections

Di sinilah koneksi yang dibuat dengan Network Manager disimpan.

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

Perintah sederhana untuk mengubah file konfigurasi koneksi. Bisa dilakukan secara manual juga tapi cara ini saya percaya lebih mudah.

$ sudo service network-manager restart

Buat perubahan berlaku untuk sistem Anda.

Pada dasarnya salin disisipkan dari tautan di atas, kredit ke penulis asli.

Jika sistem Anda tidak tahu nmcli, atau menambahkan koneksi menggunakan Network Manager GUI menimbulkan kesalahan, saya sarankan tautan ini

Sekarang untuk apa yang kurang dari penjelasan dan lebih dari komentar (agak tidak mengerti sendiri).

Saya mencoba banyak solusi termasuk resolv.conf, dnsmasq dan dnscrypt, yang semuanya menyebabkan internet saya diblokir seluruhnya atau ketika koneksi vpn dimatikan. Tidak ada dari mereka yang memecahkan kebocoran dns, menurut dnsleaktest.com . Jika salah satu dari ini dicoba, setiap langkah di sepanjang jalan harus dilacak agar dapat membalikkan mereka dalam kasus hasil yang tidak diinginkan. Tidak butuh waktu singkat untuk memperbaiki waktu dan waktu internet saya yang rusak tanpa, coba tebak, internet. Saya tidak mengklaim bahwa solusi ini tidak berfungsi periode, saya sangat mungkin membuat kesalahan di suatu tempat.
Solusi yang saya tautkan memiliki imho keuntungan besar yang tidak mengacaukan pengaturan jaringan umum, tetapi hanya dengan satu koneksi yang Anda modifikasi.

Selanjutnya, block-outside-dns, seperti yang disebutkan di sini sebelumnya, adalah solusi windows saja dan melemparkan semacam kesalahan opsi yang tidak dikenal pada sistem ubuntu saya.

Menggunakan perintah ovpn cli tidak menyelesaikan kebocoran baik untuk saya.

Tautan yang saya berikan menyebutkan penjelasan (di sini ) tentang beberapa ketidakkonsistenan versi yang diperbaiki di ubuntu 18.10, mungkin seseorang dengan keahlian lebih pada topik ini ingin menjelaskan lebih lanjut. Jika itu benar, pengguna LTS harus menunggu April tahun depan.

Terakhir saya ingin menunjukkan bahwa bagi penduduk negara dengan sensor internet, kebocoran dns menimbulkan masalah besar karena memungkinkan akses ISP lokal ke lalu lintas Anda dapat dan akan menyebabkan domain yang disensor diblokir meskipun terhubung ke vpn. Jadi untuk kunjungan mendatang ke Cina dll., Ini adalah sesuatu yang ingin Anda urus sebelumnya.

Semoga ini membantu.

Wbes
sumber
0

Coba gunakan update-systemd-resolvedskrip yang tidak membuat perubahan pada resolv.conf, dan sebagai gantinya gunakansystemd-resolved layanan menggunakan DBus API itu

Dapatkan dari git dan instal dengan:

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

Sekarang edit nsswitch.confdengan:

sudo nano /etc/nsswitch.conf

dan kemudian ubah garis mulai dengan hosts:mengatakan

hosts: files resolve dns myhostname

Aktifkan layanan dan pastikan itu berjalan secara otomatis:

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

CATATAN: Jika Anda tidak ingin mengikuti langkah-langkah di atas dan Anda baik-baik saja dengan menggunakan terminal, kebocoran DNS hanya terjadi ketika menggunakan NetworkManager, sejauh ini menurut pengalaman saya tidak terjadi ketika Anda menjalankan openvpn dari terminal dengansudo openvpn --config config.ovpn

Amith KK
sumber
Apa yang akan menjadi baris di config.ovpn yang akan memblokir kebocoran? Apakah Anda punya contohnya? (Solusi di atas tidak berhasil untuk saya).
Pobe
0

Saya telah mencoba hampir setiap solusi yang dapat saya temukan online untuk memperbaiki masalah kebocoran dns. Openvpn mulai dengan baik tetapi menunjukkan bahwa itu bocor ketika saya pergi ke lokasi pengujian. Setelah saya tidak merasa senang mencoba semua solusi, saya pergi ke wifi saya dan pengaturan ethernet dan menggunakan server dns openvpn bukan ISP saya dan semuanya baik-baik saja sejak saat itu. Saya yakin Anda telah melihat alamat IP di semua tempat tetapi di sini mereka adalah jika Anda belum: 208.67.222.222 dan 208.67.220.220.

John LaFramboise
sumber