假设一个网站没有像这样的域名www.google.com
,连接到它的唯一方法是使用像216.58.212.68
. 如果我添加一个/etc/hosts
看起来像的条目,它0.0.0.0 216.58.212.68
会阻止与该网站的连接吗?网络浏览器也会被阻止访问吗?
此外,这也适用于本地地址192.168.0.1
吗?
Tim*_*edy 14
不会。hosts 文件不会影响任何路由。它只影响名称查找。由于216.58.212.68
是 IP 地址,系统不会在主机表中查找它。
在此处阅读有关主机文件的更多信息:http : //manpages.ubuntu.com/manpages/trusty/man5/hosts.5.html
如果您想阻止从您的系统到 IP 地址的连接,有几种方法可以做到这一点,例如:
黑洞流量使用route
命令:
route add 216.58.212.68 gw 127.0.0.1 lo
Run Code Online (Sandbox Code Playgroud)使用以下route
命令拒绝流量:
route add -host 216.58.212.68 reject
Run Code Online (Sandbox Code Playgroud)空路由使用ip
命令:
ip route add blackhole 216.58.212.68/32
Run Code Online (Sandbox Code Playgroud)现在,如果您想按名称阻止流向系统的流量,您可以在主机文件中添加一个假条目,将该名称指向回送地址:
127.0.0.1 badactor.evil.com
Run Code Online (Sandbox Code Playgroud)
然后,任何试图从您的系统到达该主机的流量都将被伪造——只要您的系统设置为在 DNS 之前使用主机文件查找。任何特定的基于 DNS 的查找仍然有效,尽管您可以使用像Pi Hole这样的 DNSMASQ 服务器来阻止甚至 DNS 查找。
请确保您阅读了route
和ip
命令的手册页,以便您了解如何在需要时使这些命令在重新启动后保持不变。