Windows ホスト経由で特定の IP アドレスへのアクセスをブロックしたい。
これは IP アドレスです41.190.8.17
。そして、これが私のホスト ファイルの内容です。
# localhost name resolution is handle within DNS itself.
127.0.0.1 41.190.8.17
ブラウザで と入力すると41.190.8.17
、サイトに直接移動します。
なぜこれを無視しているのか誰か教えてもらえますか?
答え1
この方法では動作しません。ホスト ファイルは DNS 経由の名前解決にのみ使用されるためです。すでに IP アドレスであるため、Windows (またはアプリケーション) は DNS ルックアップを実行する必要はありません。
Windowsファイアウォールを使用してIPアドレスへのアクセスをブロックする必要があると思います。これ役立つでしょうが、使用している Windows のバージョンによって異なります。
答え2
ホスト ファイル経由で IP アドレスをブロックすることはできません。ドメイン解決のみ可能です。IP をローカルホストに転送する場合はプロキシ ルールを作成する必要がありますが、IP アドレス トラフィックのみをブロックする場合は、これを使用することをお勧めします。
これをblock.batとして保存します
set ip=%1
netsh advfirewall firewall add rule name="BLOCK IP ADDRESS - %ip%" dir=in action=block remoteip=%ip%
netsh advfirewall firewall add rule name="BLOCK IP ADDRESS - %ip%" dir=out action=block remoteip=%ip%
次に、管理コマンド ラインから、
block.bat 192.168.0.1
ブロックする IP アドレスを実行します。これにより、127.0.0.1 にリダイレクトされず、ブロックされるだけです。