it-swarm.com.de

Warum umgeht Chromium / etc / hosts und dnsmasq?

Ich verwende hostsblock zusammen mit dnsmasq unter Arch Linux, um einige zu blockieren Websites, eine davon ist facebook.com und www.facebook.com.

Ich weiß, dass alles richtig funktioniert, da ein einfacher Ping an facebook.com (oder www.facebook.com) 127.0.0.1 zurückgibt. Wenn ich von Midori aus auf diese Websites zugreife, wird eine leere Seite zurückgegeben (dies ist ein erwartetes Verhalten, da ich algo den kwakd Daemon benutze, um leere Seiten auf localhost zurückgeben).

Nur Chrom scheint meine Sperrliste zu umgehen. Wenn ich von dort auf facebook.com zugreife, gehe ich direkt zur Facebook-Startseite.

Nachdem ich seit dem Start von Chromium alles bereinigt (Strg + Umschalt + Entf) und neu gestartet habe, erhalte ich das gewünschte Verhalten (= kann nicht auf Facebook zugreifen).

Obwohl Chromium nach einer Weile (ich bin nicht genau sicher, was dies verursacht) mein lokales DNSmasq-DNS wieder ignoriert und erfolgreich auf die Facebook-Homepage zugreift.

Ich habe etwas über das Zwischenspeichern und Vorabholen von DNS-Abfragen von Chromium gelesen, bin mir aber nicht sicher, wie ich sie deaktivieren soll.

Die Frage ist: Warum umgeht Chromium mein lokales DNS und was kann ich tun, um es zu stoppen?

48
thiagowfx

Die meisten Referenzen zu diesem Thema sind alt. Wenn Sie eine alte Version von Chromium haben, folgen Sie der edvinas.me Antwort.

Für aktuelle Versionen von Chromium (zu der Zeit, als dieser Beitrag geschrieben wurde: 33.), ist hier, was Sie tun sollten:

  1. Gehe zu chrome://settings
  2. Klicken Sie auf "Erweiterte Einstellungen anzeigen ..."
  3. Deaktivieren Sie das Kontrollkästchen Netzwerkaktionen vorhersagen, um die Leistung beim Laden von Seiten zu verbessern .
  4. Überprüfen Sie, ob das DNS-Prefetching wirklich deaktiviert ist, indem Sie zu chrome://dns wechseln. Dort sollte etwas wie DNS-Vorauflösung und TCP Vorverbindung deaktiviert sein. Wenn der Vorabruf nicht deaktiviert ist, werden dort einige Tabellen angezeigt .

Aktualisieren

Bei neueren Chrome-Versionen (zum Zeitpunkt dieses Updates: 55.) lautet das dritte Element wie folgt: Verwenden Sie einen Vorhersage-Service, um Seiten schneller zu laden .

Referenz

41
thiagowfx

Aktualisierte Antwort

Stellen Sie sicher, dass Sie den Cache von Chrome leeren. Geben Sie dies in die Adressleiste ein:

chrome://net-internals/#dns

Klicken Sie dann auf die Schaltfläche Clear Host cache.

Alte Antwort

Chromium verwendet standardmäßig das interne DNS von Google (8.8.8.8 und 8.8.4.4).

So deaktivieren Sie es:

  1. Klicken Sie auf das Menü Extras (ein kleines Schraubenschlüsselsymbol) und gehen Sie zu Optionen.

  2. Klicken Sie auf die Registerkarte Unter der Haube.

    3. Deaktivieren Sie im Abschnitt "Datenschutz" das Kontrollkästchen "DNS-Vorabruf verwenden", um die Leistung beim Laden von Seiten zu verbessern.

    4. Klicken Sie auf die Schaltfläche Schließen.

    5. Aktualisieren Sie, um die Webseite neu zu laden.

26
phoops

Eine andere undurchsichtige Möglichkeit ist, dass Ihr System für die Verwendung einer automatischen Proxy * .pac-Datei eingerichtet ist. Dies ist normalerweise der Fall, wenn Sie einen Computer in einer Unternehmensumgebung erhalten haben und die * .pac-Datei Ihren Browser auffordert, einen Proxy zu verwenden, um die URL aufzulösen. Dies hat Vorrang vor Ihrer/etc/hosts-Datei. Wenn in der * .pac-Datei die Regel enthalten ist, dass PROXY zurückgegeben wird, wenn nichts übereinstimmt, erkennt Chrome die Datei/etc/hosts anscheinend nicht an. Dies ist normalerweise der Fall, wenn Ihre Befehlszeile wie erwartet funktioniert, z. Graben, pingen usw.

Wenn Sie andere Lösungen ausprobiert haben und diese nicht funktionieren, stellen Sie sicher, dass Sie kein von Chrome verwendetes Auto-Proxy-Setup haben.

2
Elijah Lynn