Das Ändern von / etc / hosts hat keine Auswirkungen


17

Ich versuche, mich von zeitraubenden Websites fernzuhalten, nehme aber Änderungen an / etc / hosts vor. Beispielsweise:

127.0.0.1   localhost
127.0.1.1   ross-laptop

127.0.0.1   bing.com

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Ich kann in einem frisch geöffneten Chrome oder Firefox auf bing.com zugreifen - warum funktioniert das nicht?

Antworten:


17

Sie werden die Browser finden und das System wird die Dinge für Sie zwischenspeichern. Damit dies von Anfang an zutrifft, sollten Sie die Caches löschen und Ihren Browser neu starten. Um dies zu testen, versuchen Sie, eine DNS-Überprüfung von einem Terminal wie

ping bing.com

Sie sollten es von 127.0.0.1 zurückbekommen. Wenn dies funktioniert, ist die Änderung der Hosts-Datei in Ordnung, sie wird jedoch nur in Ihrem Browser zwischengespeichert.


Aber überlebt der Cache wirklich einen Neustart des Browsers? Ich bin auch darauf gestoßen. Es wäre schön, wenn es eine Möglichkeit gäbe, den Cache ungültig zu machen.
Loevborg

1
Nun, ich bin nicht 100% sicher, ob der DNS-Cache ein Browser-Reload überlebt. Ich weiß, dass der Dateicache funktioniert. Die Sache ist, dass Sie mit den heutigen Ajax / Multi-Request-Modellen der Webentwicklung nicht bei jeder Anfrage einen DNS-Treffer erzielen möchten, während Sie eine Seite laden. Jeder Browser führt seine eigenen Tricks aus, um dies zu beschleunigen. Daher müssen Sie die DNS-Caching-Mechanismen für jeden Browser / jede Browserversion einzeln überprüfen.
Rick

Es würde mich wundern, wenn der DNS-Cache bei einem Neustart des Browsers nicht erhalten bleibt, zumindest bei den meisten Browsern (wahrscheinlich allen wichtigen).
David Z

7

Haben Sie versucht, die 127.0.0.1Einträge in dieselbe Zeile zu setzen?

120.0.0.1 abc bing.com foo

Das sollte funktionieren.


3
Dies hat funktioniert, obwohl ich denke, dass es mit Browsern zu tun hat, die es zwischenspeichern und den Cache nicht richtig leeren.
Ross

0

Öffnen Sie das Terminal ( ALT+ F2).

Geben Sie sudo -iin das Eingabefeld ein. Aktivieren Sie die Option In Terminal ausführen. Klicken Sie abschließend auf die Schaltfläche Ausführen .

Geben Sie ggf. Ihr Passwort ein und drücken Sie die Eingabetaste. Geben Sie dann die folgenden Befehle ein.

gedit /etc/hosts

Sie erhalten das Fenster Gedit Text Editor.

Wenn wir beispielsweise Facebook blockieren müssen, fügen Sie die folgenden Zeilen direkt danach hinzu 127.0.0.1 localhost.

0.0.0.1 facebook.com    
0.0.0.1 www.facebook.com

Auf diese Weise wird die Site in allen Browsern blockiert, einschließlich Google Chrome, Chromium, Mozilla.

Das ist es. Wenn Sie jetzt www.facebook.com oder facebook.com öffnen , können Sie nicht darauf zugreifen. Entfernen Sie die von uns hinzugefügten Zeilen aus der Datei, um Facebook wieder zu aktivieren /etc/hosts.

Quelle - Subins Blog


-1

Denken Sie daran, dass Sie neben der CragM-Lösung auch alle 127.xxx-Adressen für diesen Zweck verwenden können. Wiederholen Sie nicht die gleiche Adresse.

127.0.0.1   localhost
127.0.0.2   ross-laptop
127.0.0.3   bing.com
127.0.0.4   foo.com
127.0.0.5   bar.com
......

1
Können Sie erklären, warum dieselbe Adresse nicht wiederholt wird?
8128,

@fluteflute, ich bin mir nicht sicher, aber ich habe das immer gemacht und es hat bei mir immer funktioniert.
Grokus

-1

Das Ändern von / etc / hosts sieht aus wie ein globaler Hack. Ich würde empfehlen, stattdessen einen lokalen HTTP-Proxy (Squid, Privoxy usw.) einzurichten und Ihren Browser darauf hinzuweisen. Auf diese Weise können Sie Blacklists flexibler auf Proxy-Ebene verwalten.


2
Es hört sich so an, als wäre das eine Menge Aufwand, verglichen mit dem Hinzufügen von ein paar Zeilen zu /etc/hosts? Können Sie erklären, warum dies eine bessere Lösung ist?
8128,

"Es klingt", weil Sie Vermutungen anstellen, ohne es zu versuchen. Die Ausgabe von apt-get install, das Bearbeiten einer Konfigurationsdatei und / oder einer Blacklist und das Verweisen des Browsers auf den lokalen Proxy ist nicht komplizierter. Es ist besser, weil Sie keine globalen Änderungen an Ihrem System vornehmen, sondern nur eine alternative Methode zum Blockieren einiger Sites einrichten. Wenn Sie jemals einen Vorgang rückgängig machen müssen, müssen Sie / etc / hosts nicht erneut bearbeiten. Sie müssen lediglich den Browser so einstellen, dass er direkt auf Websites zugreift, nicht über den Proxy.
vh1
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.