Ubuntu /etc/hosts 地址格式为 *.*.*.*

Ubuntu /etc/hosts 地址格式为 *.*.*.*

假设一个网站没有类似 的域名www.google.com,连接到该网站的唯一方法是使用类似 的 IP 地址216.58.212.68。如果我在其中添加一个/etc/hosts类似于 的条目0.0.0.0 216.58.212.68,它会阻止与该网站的连接吗?网络浏览器也会被阻止访问它吗?

此外,这也适用于本地地址吗192.168.0.1

答案1

不会。hosts 文件不会影响任何路由。它只会影响名称查找。由于216.58.212.68是 IP 地址,因此系统不会在 hosts 表中查找它。

有关主机文件的更多信息,请阅读此处:http://manpages.ubuntu.com/manpages/trusty/man5/hosts.5.html

如果您想阻止系统与某个 IP 地址的连接,有多种方法可以实现,例如:

  1. 使用命令的黑洞流量route

    route add 216.58.212.68 gw 127.0.0.1 lo
    
  2. 使用以下命令拒绝流量route

    route add -host 216.58.212.68 reject
    
  3. 使用命令的空路由ip

    ip route add blackhole 216.58.212.68/32
    

现在,如果您想按名称阻止流向系统的流量,您可以在主机文件中添加一个虚假条目,将该名称指向环回地址:

127.0.0.1    badactor.evil.com

然后,只要您的系统设置为在 DNS 之前使用主机文件查找,任何试图从您的系统到达该主机的流量都将被伪造。任何基于特定 DNS 的查找仍然有效,尽管您可以使用 DNSMASQ 服务器,例如皮孔甚至阻止 DNS 查找。

请务必阅读routeip命令的手册页,以便您了解如何在需要时使这些命令在重新启动后保持不变。

相关内容