Chromium neden / etc / hosts ve dnsmasq atlıyor?


51

Bazı web sitelerini engellemek için ana makineden dnsmasq ile birlikte Arch Linux'ta kullanıyorum, bunlardan biri facebook.comve www.facebook.com.

Her şeyin düzgün çalıştığını biliyorum çünkü basit bir ping facebook.com(ya da www.facebook.com) 127.0.0.1 döndürüyor. Ayrıca, bu web sitelerine Midori'den erişiyorsam , boş bir sayfa döndürülüyor (bu beklenen bir davranış, çünkü yerel sayfaları boş sayfaları döndürmek için kwakd arka planını kullanıyorum ).

Sadece Chromium benim blok listemi atlıyor gibi görünüyor. Facebook.com'a erişmek, doğrudan facebook ana sayfasına gitmemi sağlıyor.

Zamanın başlangıcından beri her şeyi temizledikten (Ctrl + Shift + Delete) ve Chromium'u yeniden başlattıktan sonra istenen davranışı elde ediyorum (= Facebook'a erişemiyorum).

Bununla birlikte, bir süre sonra (buna neyin sebep olduğunu tam olarak bilemiyorum), Chromium yerel dnsmasq DNS'mi tekrar görmezden geliyor ve facebook ana sayfasına başarıyla erişiyor.

Chromium'un DNS sorgularını önbelleğe alma ve önceden getirme hakkında bir şeyler okudum, ancak nasıl devre dışı bırakılacağından emin değilim.

Soru şudur: Chromium neden yerel DNS’imi atlıyor ve bunu durdurmak için ne yapabilirim?


2
Proxy kullanıyor musunuz? Bir proxy kullandığınızda, DNS istekleri proxy'de gerçekleştirilir.
Zoredache

Hayır, herhangi bir proxy kullanmıyorum, hostsblock bir tane gerektirmiyor.
thiagowfx

Aşağıdaki cevapların yöntemlerini denedim, ancak bir şekilde Chromium hala IP adreslerini alıyor… Chromium'da bazı kablolu adresler var mı?
Geremia

Yanıtlar:


41

Bu konudaki referansların çoğu eski. Chromium'un eski bir sürümüne sahipseniz , edvinas.me cevabını izleyin .

Chromium'un şu anki sürümleri için (bu yazı yazıldığı sırada: 33.), yapmanız gerekenler:

  1. Git chrome://settings
  2. "Gelişmiş ayarları göster ..." seçeneğini tıklayın.
  3. Sayfa yükleme performansını iyileştirmek için ağ tahminlerini gerçekleştir eylemlerinin işaretini kaldırın.
  4. DNS ön ayarının gerçekten de devre dışı bırakılıp bırakılmadığını kontrol edin chrome://dns. Orada DNS ön çözünürlüğü gibi bir şey görmelisiniz ve TCP ön bağlantısı devre dışıdır. Önceden alma işlemi devre dışı bırakılmazsa, orada bazı tablolar göreceksiniz.

Güncelleme

Chrome'un daha yeni sürümleri için (bu güncelleme sırasında: 55.), üçüncü madde şu şekildedir: Sayfaları daha hızlı yüklemek için bir tahmin hizmeti kullanın .

Referans


27

Güncellenmiş Cevap

Chrome'un önbelleğini temizlediğinizden emin olun. Bunu adres çubuğuna yazın:

chrome://net-internals/#dns

Ardından düğmesine Clear host cachetıklayın.

Eski cevap

Chromium varsayılan olarak Google’ın dahili DNS’sini kullanıyor (8.8.8.8 ve 8.8.4.4)

Devre dışı bırakmak için:

  1. Araçlar menüsüne tıklayın (küçük bir ingiliz anahtarı simgesi), sonra Seçenekler'e gidin.

  2. Kaputun Altındaki sekmesine tıklayın.

    3. “Gizlilik” bölümünde, sayfa yükleme performansını iyileştirmek için DNS önokumasını kullan onay kutusunun işaretini kaldırın.

    4. Kapat düğmesine tıklayın.

    5. Web sayfasını yeniden yüklemek için Yenile.


1
Söyledikleriniz yalnızca eski Chromium / Google Chrome sürümleri için geçerli olacaktır. Yeni sürümlerde artık bu ayar yoktur (ne "Başlığın Altında"). Belki de yeni ayar "Sayfa yükleme performansını iyileştirmek için ağ işlemlerini tahmin et" şeklindedir? Ne yazık ki, bu herhangi bir DNS'den bahsetmiyor, bu yüzden emin değilim.
thiagowfx

Chromium'un DNS önbelleğini temizleme konusunda bir yanıtı güncelledim. Lütfen bir göz atın, yardımcı olur umarım.
02

Teşekkürler! Yeni cevabınız kaydedilmiş bir DNS'yi temizlemenin en iyi yoludur (her şeyi Ctrl + Shift + Delete'deki gibi temizlemek yerine). Ancak sorundan kalıcı olarak kurtulmak için kendi cevabımın daha iyi uyduğunu düşünüyorum (emin olmak için hala biraz daha test etmek zorundayım).
thiagowfx

Peki, sadece önbelleği temizlemeden devre dışı bırakırsanız - önbellek sona erene kadar çalışmaz. Önbellek temizlendikten sonra Chromium'un bir şekilde gerçek IP'leri önceden getirebilmesi gerektiğini düşünmüyorum. Ön getirme açık olsa bile, engellenen değerleri önceden getirecektir. Neyse, en azından çözdün mü?
22'de phoops eder

2
"chrome: // net-internals / # dns" -> temizle, çalışmıyor.
Totty.js

2

Diğer bir belirsiz olasılık, sisteminizin otomatik bir proxy * .pac dosyası kullanacak şekilde ayarlanmış olmasıdır. Bu, normalde şirket ortamında bir bilgisayara sahip olmanız durumunda ve * .pac dosyası, tarayıcınıza URL'yi çözmek için bir proxy'den geçmesini söylüyor. Bu, / etc / hosts dosyanızdan daha önceliklidir ve eğer * .pac dosyasında PROXY'yi döndürecek bir kural yoksa, hiçbir şey eşleşmezse, Chrome'un / etc / hosts kodunu onurlandırmadığı anlaşılacaktır. Komut satırınız beklendiği gibi çalışıyorsa bu normalde böyle olacaktır, örneğin kazmak, ping vb.

Diğer çözümleri denediyseniz ve çalışmıyorsa, Chrome'un kullandığı bir otomatik proxy kurulumunuzun olmadığını kontrol edin.


1
Bu benim için çalıştı!
MediumOne

-2

Google Chrome için herhangi bir VPN Proxy eklentisi kullanıyorsanız ( Betternet gibi ), bu sorunla karşılaşabilirsiniz. Uzantıyı devre dışı bırakmak sorunu çözer.

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.