/ etc / hostsを変更しても効果はありません


17

時間の無駄になるウェブサイトから自分自身をブロックしようとしていますが、/ etc / hostsに変更を加えています。例えば:

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

新しく開いたChromeまたはFirefoxでbing.comにアクセスできます-なぜこれが機能しないのですか?

回答:


17

ブラウザが見つかると、システムがキャッシュします。これをすぐに適用するには、キャッシュをクリアしてブラウザを再起動する必要があります。これをテストするには、次のような端末からdnsチェックを実行してください。

ping bing.com

127.0.0.1から返信する必要があります。これが機能する場合、hostsファイルの変更は適切ですが、ブラウザにキャッシュされているだけです。


しかし、キャッシュは本当にブラウザを再起動しても生き残りますか?私もこれに遭遇しました。キャッシュを無効にする方法があればいいでしょう。
-loevborg

1
DNSキャッシュがブラウザのリロードに耐えられるかどうかは100%わかりません。私はファイルキャッシュがすることを知っています。問題は、今日のWeb開発のajax / multiリクエストモデルでは、ページの読み込み中にすべてのリクエストでDNSヒットを実行したくないということです。各ブラウザはそれを高速化するために独自のトリックを実行するため、ブラウザ/ブラウザのバージョンごとにDNSキャッシングメカニズムを確認する必要があります。
リック

少なくともほとんどのブラウザ(おそらくすべての主要なブラウザ)で、ブラウザの再起動を通じてDNSキャッシュが保持されない場合、私は驚くでしょう。
デビッドZ

7

127.0.0.1同じ行にエントリを入れてみましたか?

120.0.0.1 abc bing.com foo

うまくいくはずです。


3
これはうまくいきましたが、ブラウザがそれをキャッシュし、キャッシュを適切にクリアしないことに関係していると思います。
ロス

0

ターミナル(ALT+ F2)を開きます。

入力sudo -i入力フィールドに。ターミナルで実行オプションをチェックします。最後に「実行」ボタンをクリックします。

必要に応じてパスワードを入力し、Enterキーを押します。次に、次のコマンドを入力します。

gedit /etc/hosts

Gedit Text Editorウィンドウが表示されます。

たとえば、Facebookをブロックする必要がある場合は、の直後に次の行を追加します127.0.0.1 localhost

0.0.0.1 facebook.com    
0.0.0.1 www.facebook.com

これにより、Google Chrome、Chromium、Mozillaを含むすべてのブラウザーでサイトがブロックされます。

それでおしまい。www.facebook.comまたはfacebook.comを開くと、アクセスできません。バックFacebookを有効にするには、ファイルから追加した行を削除します/etc/hosts

ソース-Subinのブログ


-1

CragMのソリューションに加えて、この目的ですべての127.xxxアドレスを使用できることを忘れないでください。同じアドレスを繰り返さないでください。

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
同じ住所が繰り返されない理由を説明できますか?
8128

@fluteflute、私にはわからないが、私はこれを行うために使用し、それは常に私のために働いた。
grokus

-1

/ etc / hostsの変更は、グローバルなハックのように見えます。代わりにローカルhttpプロキシ(squid、privoxyなど)を設定し、ブラウザでそれを使用するように設定することをお勧めします。これにより、プロキシレベルでブラックリストをより柔軟に管理できるようになります。


2
に数行を追加するのに比べて、それは多くの努力のように思え/etc/hostsますか?これがより良い解決策である理由を説明できますか?
8128

あなたはそれを試さずに仮定をしているからです。apt-getインストールを発行し、設定ファイルやブラックリストを編集し、ブラウザでローカルプロキシを指定することは、それほど複雑ではありません。システムにグローバルな変更を加えることはなく、一部のサイトをブロックする別の方法を設定するだけなので、より良い方法です。元に戻す必要がある場合は、/ etc / hostsを再度編集する必要はありません。プロキシを介さずにサイトに直接アクセスするようにブラウザを設定するだけです。
vh1
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.