dns dışında engelle, dns sızıntısı ubuntu 18.04 düzelt


10

VPN'imin altında dns sızıntı testi kullanarak sızıntı olduğunu keşfettim. VPN'imi NetworkManager üzerinden ayarladım ve sızıntı dışında düzgün çalışıyor.

İlk olarak, block-outside-vpnaltında /etc/NetworkManager/system-connectionsaynı formatı izlememesi dışında yapılandırma dosyasına eklemeyi denedim . DNS sızıntıları için doğru bir şekilde nasıl yazılacağına dair dokümanı bulamadım.

Ayrıca, Ubuntu 18.04 resolv.conf kullanmak daha önce olduğu gibi çalışmaz, diğer tüm cevaplar buna dayanır.

Kısaca, Ağ Yöneticisi yapılandırma dosyalarını veya GUI'yi kullanarak dns (sızıntı) dışını nasıl engellerim?


block-outside-vpngenellikle yalnızca bir Windows OpenVPN bağlantı seçeneğidir. DNS "sızıntısını" gidermek, yalnızca VPN'nin diğer tarafında bulunan belirli bir DNS sunucusu kullanmak olacaktır. Gördüğünüz DNS Sızıntı Testi sonuçları nelerdi? (
Thomas Ward

Yanıtlar:


3

Ben kullanmanızı öneririm dnscrypt.

İlk önce kurun:

sudo apt install dnscrypt-proxy

Varsayılan olarak 127.0.2.1bağlantı noktasını dinler 53.

VPN'inizi veya istediğiniz herhangi bir bağlantıyı 127.0.2.1düzenleyin ve çalıştırabileceğiniz CLI'yi kullanarak DNS sunucusu olarak ayarlayın :

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

Ve giden DNS isteklerini engellemek durumunda:

sudo ufw deny out 53

Güvenlik duvarının etkin olduğundan emin olun:

sudo ufw enable

DNS sızıntı testine göre DNS'im hala sızdırıyor. Ufw etkinken VPN'yi devre dışı bırakmanın interneti kullanılamayacağını da belirtmek önemlidir (53 numaralı bağlantı noktası engellenmiştir).
Pobe

Bu komutu çalıştırın: nmcli connection modify [CONNECTION-NAME] ipv4.ignore-auto-dns yesyardımcı olup olmadığına bakın.
Ravexina

3

Ubuntu 18.04'teki DNS sızıntılarını gidermek için, adlı dosyayı düzenleyebilirsiniz /etc/dhcp/dhclient.conf. Kılavuz sayfasına göre, bu dosya "Dinamik Ana Bilgisayar Yapılandırma Protokolü, BOOTP protokolünü kullanarak veya bu protokoller başarısız olursa, statik olarak bir adres atayarak bir veya daha fazla ağ arayüzünü yapılandırmak için bir araç sağlar."

DNS sızıntılarınızı düzeltmeye gelince, bu dosyayı düzenleyeceğiz. Uygun izinlerle açtığınızda, şuna benzer bir yorum satırı görürsünüz:

#prepend domain-name-servers 127.0.0.53;

Bu satırı kaldırın ve etki alanı adı sunucusunu OpenDNS gibi farklı bir adla değiştirin: 208.67.222.222. Bu OpenDNS adresini kullanarak, bu satır şu şekilde görünecektir:

prepend domain-name-servers 208.67.222.222;

Dosyayı kaydettikten ve sisteminizi yeniden başlattıktan sonra, Ubuntu 18.04'teki DNS sızıntıları düzeltilmelidir.


Veya bağlantınızı bir GUI'de düzenleyebilir ve aynı sonucu elde edebilirsiniz: bağlantınız için düzenleme penceresini açın => IPv4 / IPv6 Ayarları, "Yöntem" i "Otomatik, yalnızca adresler" olarak değiştirin ve "DNS sunucularını" ekleyin.
GoodGuyNick

@ GoodGuyNick'in GUI üzerinden yöntemi benim için çalışmadı. Ben bütün gün bu sorunu googled ve sadece "etki alanı adı sunucuları başa" hile çalıştı. Bu cevap için Hallelujah. Denediğim her şeyin (DNS sunucuları için GUI dahil) üzerine yazılıyor ve yeniden başlatılamıyordu.
pestophagous

3

Kontrol ederek belirtildiği gibi bir DNS sızıntısı varsa browserleaks.com veya dnsleaktest.com ,

  1. VPN bağlantınızı kapatın

  2. Zaten harcadığınız zaman .conf dosya düzenlemelerini geri almayı deneyin. Çok çeşitli öneriler deniyorsanız, en iyi şansınız yeni bir kurulum yapmak ve ayrıca Ubuntu'nun varsayılan olarak sağlanan VPN yapılandırması içe aktarma özelliği olmadığından networkmanager-openvpn-gnome yüklediğinizden emin olmak olabilir.

  3. Dnsmasq yükleyin

    sudo apt update
    sudo apt install dnsmasq  
    
  4. Çözülmüş olanları devre dışı bırak

    sudo systemctl disable systemd-resolved.service
    sudo systemctl stop systemd-resolved.service 
    
  5. Kaldır etc/resolv.confve yeni bir tane oluştur:

    sudo rm /etc/resolv.conf
    sudo nano /etc/resolv.conf  
    
  6. Boş .confdosyanıza girin :

    nameserver 127.0.0.1`         that's all!
    
  7. Editörden çıkmak için Ctrl+ tuşuna basın x. Kaydetmek yiçin Enter tuşuna basın ve ardından Enteryeni resolv.confdosyanızın üzerine yazmak için tuşuna basın .

  8. NetworkManager.conf dosyanızı düzenleyin

    sudo nano /etc/NetworkManager/NetworkManager.conf 
    

    ve aşağıdakileri ekleyin:

    dns=dnsmasq 
    

    satırların altında (ok tuşlarını kullanarak gezinin), [ana] ve eklentiler = ifupdown, yeni satır eklenmiş şekilde tıpkı bunun gibi anahtar dosyası.

    [main]
    plugins=ifupdown, keyfile
    dns=dnsmasq
    

    Editörden çıkmak için Ctrl+ tuşuna basın x. Kaydetmek y için Enter tuşuna basın ve ardından Enterdosyanın üzerine yazmak için tuşuna basın .

  9. Terminalden çıkın ve sistemi yeniden başlatın ve dnsleak test sitenizde sonuç olup olmadığını kontrol edin.

Ubuntu / Network Manager'da Leaks için çözümleri iyi araştırılmış ve başarılı görünen Anonymous VPN sayesinde . İŞİNİZ ve benim için başka hiçbir çözüm işe yaramadığında bunlar işe yaradı. Yukarıda gösterilen çözüm Ubuntu 17.x ve 18.04 LTS için çalışır . 16.04 LTS için diğer çözümüne bakın .


Bu çözümü bir VM üzerinde test ettim ve hepsi çalıştı. Sonra bir ana makinede denedim ve VPN'den dns ve dns sızıntısı gördüm. Bir VY'de nameserverdeğiştirildi 127.0.2.1etmek 192.168.122.1ve bir de VPN bağlandığınızda resolv.confİki bkz nameserverhatları, bir kez 192.168.122.1ben her zaman iki satırları görmek bir ana makinede ve diğer VPN dns ile değil search lan nameserver 127.0.1.1.
GoodGuyNick

ağ yöneticisi olmadan ne yapabilirim? sadece / etc / network / arabirimlerine dns?
Mehdi

1

Benim için işe yarayan çözümü bulmadan önce 2 gündür bu sorunla uğraşıyorum: https://unix.stackexchange.com/a/470940

TL; DR

$ cd /etc/NetworkManager/system-connections

Burası, Ağ Yöneticisi ile oluşturulan bağlantıların saklandığı yerdir.

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

Bağlantı yapılandırma dosyasını değiştirmek için basit komut. Elle de yapılabilir ama bu şekilde daha kolay olduğuna inanıyorum.

$ sudo service network-manager restart

Değişikliklerin sisteminize uygulanmasını sağlayın.

Temel olarak yukarıdaki bağlantıdan yapıştırılan kopyayı orijinal yazara kopyalayın.

Sisteminiz nmcli bilmiyorsa veya Ağ Yöneticisi GUI'sini kullanarak bağlantı eklemek bir hata veriyorsa, bu bağlantıyı öneririm

Şimdi daha az bir açıklama ve daha fazla yorum için (oldukça kendim clueless).

İnterneti tamamen veya vpn bağlantısı kapatıldığında tamamen engellenmesine neden olan resolv.conf, dnsmasq ve dnscrypt gibi birçok çözümü denedim. Dnsleaktest.com'a göre hiçbiri dns sızıntısını çözmedi . Bunlardan herhangi biri denenirse, istenmeyen bir sonuç olması durumunda yol boyunca her adımın tersine çevrilebileceği izlenmelidir. Benim kırık internet zaman ve tekrar tekrar, tahmin etmek ne, internet olmadan düzeltmek için kısa bir süre aldı. Bu çözümlerin çalışmadığını iddia etmiyorum, büyük olasılıkla bir yerde bazı hatalar yaptım.
Bununla birlikte, bağlandığım çözüm, genel ağ ayarlarıyla değil, yalnızca değiştirdiğiniz tek bağlantıyla uğraşmaması imho büyük avantajı var.

Daha sonra, burada daha önce de belirtildiği gibi, blok-dış-dns, sadece bir windows çözümüdür ve ubuntu sistemimde bir tür tanınmayan seçenek hatası attı.

Ovpn cli komutlarını kullanmak da benim için sızıntıyı çözmedi.

Sağladığım bağlantı, ubuntu 18.10'da düzeltilen bazı sürüm tutarsızlıkları hakkında bir açıklamadan ( burada ) bahsediyor , belki de bu konuda daha fazla uzmanlığa sahip biri daha fazla açıklamayı umuyor. Bu doğruysa, LTS kullanıcılarının önümüzdeki yıl afaik'i beklemesi gerekecek.

Son olarak, internet sansürü olan ülkelerin sakinleri için, dns sızıntısının ağır bir sorun oluşturduğunu, çünkü yerel isp'in trafiğinize erişmesine izin vermenin bir vpn'ye bağlı olmasına rağmen sansürlenmiş alanların engellenmesine neden olabileceğini ve buna yol açacağını belirtmek istiyorum. Gelecekte Çin vb. Ziyaretler için, bu önceden ilgilenmek istediğiniz bir şeydir.

Bu yardımcı olur umarım.


0

Üzerinde update-systemd-resolveddeğişiklik yapmayan resolv.confve bunun yerine systemd-resolvedDBus API'sını kullanarak hizmeti kullanan komut dosyasını kullanmayı deneyin

Git'ten alın ve kurun:

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

Şimdi düzenle nsswitch.conf:

sudo nano /etc/nsswitch.conf

ve daha sonra başlayarak hattını değiştirmek hosts:demek

hosts: files resolve dns myhostname

Hizmeti etkinleştirin ve otomatik olarak çalıştığından emin olun:

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

NOT: Yukarıdaki adımları takip etmek istemiyorsanız ve terminali kullanmakta sorun yaşıyorsanız, DNS sızıntısı yalnızca NetworkManager'ı kullanırken gerçekleşir, şu ana kadar deneyimlerime terminalden openvpn çalıştırdığınızda gerçekleşmez.sudo openvpn --config config.ovpn


Config.ovpn dosyasında sızıntıyı engelleyecek olan çizgi ne olurdu? Bunun bir örneği var mı? (Yukarıdaki çözüm benim için işe yaramadı).
Pobe

0

DNS sızıntısı sorununu çözmek için çevrimiçi bulabildiğim hemen hemen her çözümü denedim. Openvpn iyi başladı ama test sitelerine gittiğimde sızıntı olduğunu gösterdi. Tüm ilaçları denemekten sonra neşe duyduktan sonra, wifi ve ethernet ayarlarına gittim ve benim ISS'm yerine openvpn'ın dns sunucularını kullandım ve o zamandan itibaren her şey iyiydi. Eminim ip adreslerini her yerde görmüşsünüzdür, ancak henüz yapmadıysanız: 208.67.222.222 ve 208.67.220.220.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.