什么是本地主机的 IPV6和0.0.0.0?

众所周知,localhost的 IPv4地址是 127.0.0.1(环回地址)。什么是 localhost0.0.0.0的 IPv6地址,因为我需要阻止一些广告主机。

208951 次浏览

Ipv6本地主机是 ::1。未指定的地址是 ::。这是在 RFC 4291第2.5节中定义的。

众所周知,localhost的 IPv4地址是 127.0.0.1(环回地址)。

实际上,127.0.0.0/8中的任何 IPv4地址都是环回地址。

在 IPv6中,环回范围的直接模拟是 ::1/128。因此,::1(长形式的 0:0:0:0:0:0:0:1)是唯一的 IPv6环回地址。


虽然主机名 localhost通常会解析为 127.0.0.1::1,但我见过有人将其绑定到一个不是环回地址的 IP 地址的情况。这有点疯狂,但有时人们会这么做。

我之所以说“这太疯狂了”,是因为这样做可能会打破应用程序的假设; 例如,应用程序可能试图对环回 IP 进行反向查找,但没有得到预期的结果。在最坏的情况下,一个应用程序可能会意外地通过一个不安全的网络发送敏感的流量... ... 尽管您可能还需要犯其他错误来“实现”这一点。


阻止 0.0.0.0毫无意义。在 IPv4中,它永远不会被路由。IPv6中的等价物是 ::地址(长形式的 0:0:0:0:0:0:0:0) ... 它也永远不会被路由。

0.0.0.0::地址保留为“任意地址”。因此,例如,一个提供 Web 服务的程序可以通过 绑定0.0.0.0端口80来接受通过主机的任何 IPv4地址的 HTTP 连接。这些地址作为 IP 包的源地址或目的地址无效。


最后,一些评论提出了关于 ::/128::/0::的问题。

这有什么区别?

严格来说,前两个是 CIDR 标记,而不是 IPv6地址。它们实际上指定了 IP 地址的 射程。CIDR 由一个 IP 地址和一个指定网络掩码中位数的附加数字组成。这两者一起指定了一个地址范围; 也就是说,通过忽略被给定地址掩盖的位而形成的一组地址。

所以:

  • ::意味着只有 IPv6地址 0:0:0:0:0:0:0:0
  • ::/128表示带有由128位组成的网络掩码的 0:0:0:0:0:0:0:0。这给出了一个网络范围,其中只有一个地址。
  • ::/0表示带有由0位组成的网络掩码的 0:0:0:0:0:0:0:0。这给出了一个包含2128地址的网络范围; 也就是说,它是整个 IPv6地址空间!

要了解更多信息,请阅读维基百科关于 IPv4和 IPv6地址以及 CIDR 标记的页面:

IPv6本地主机

::1是 IPv6中的 回环地址。

网址内

在 URL 中,使用方括号 []:

  • http://[::1]/ < br/> 默认设置为端口80。
  • 指定端口。

< em > RFC 2732-网址 中的文字 IPv6地址格式中定义了用于 URL 的方括号中的 IPv6文本。

/etc/hosts文件中,作为一种简单的广告阻塞技术,0.0.0.0地址被广泛使用,因为它会导致请求立即失败,甚至不需要尝试,因为它不是一个有效的或可路由的地址。相比之下,在那个地方使用127.0.0.1,它至少会检查您自己的计算机是否正在监听请求的端口80,然后才会出现“连接被拒绝”的错误。这些域名的主机文件中使用的任何一个地址都会阻止任何通过实际网络发出的请求,但是0.0.0.0已经受到青睐,因为出于上述原因,它更“优化”。“127”IP 会试图攻击你自己的计算机,任何其他 IP 都会导致一个请求被发送到路由器尝试路由它,但是对于0.0.0.0甚至没有地方发送请求到。

总而言之,在主机文件中列出 任何 IP 来阻止域就足够了,而且您不需要或者也不想在主机文件中放入一个 ipv6地址,除非——可能的话——您根本没有启用 ipv4。如果是这样的话,我会很惊讶的。尽管如此,我还是认为当你没有启用 ipv4的时候,如果主机出现在/etc/hosts 中,并且显示一个糟糕的 ipv4地址,那么 还是会给你你正在寻找的结果,而不是查找真正的 DNS,比如 adserver-example.com ,然后得到一个 v4或 v6的 IP 地址。

只是为了完整起见: 有 IPv4映射的 IPv6地址,您可以在 IPv6地址中嵌入一个 IPv4地址(可能不是所有 IPv6设备都支持)。

示例: 我在自己的机器上运行一个服务器,可以通过 http://127.0.0.1:19983/solr访问它。如果我通过 IPv4映射的 IPv6地址访问它,那么我通过 http://[::ffff:127.0.0.1]:19983/solr(它将被转换为 http://[::ffff:7f00:1]:19983/solr)访问它