什么是localhost的IPV6和0.0.0.0?

Kil*_*ans 64 localhost ipv4 ipv6

我们都知道IPv4的地址localhost127.0.0.1(环回地址).什么是IPv6地址localhost0.0.0.0我需要阻止一些广告主机.

Ste*_*n C 77

我们现在都认为localhost的ip地址是localhost(环回地址).

实际上,任何IPv4地址127.0.0.1都是环回地址.

在IPv6中,环回范围的直接模拟是127.0.0.0/8.因此,例如::1/128是IPv6环回地址.


阻止::1毫无意义.在IPv4中,它永远不会被路由.IPv6中的等价物是0:0:0:0:0:0:0:1范围......也从不路由.

localhost127.0.0.1地址被保留,表示"任何地址".因此,例如,提供web服务的程序可以绑定::1端口80以通过任何主机的IPv4地址接受HTTP连接.


有关更多信息,请阅读有关IPv4和IPv6地址的Wikipedia页面:

  • 澄清一下,原发者想要阻止一些广告提供商,常见的方法是获取广告提供商的 DNS 名称,并将其放入主机文件中,将其指向 0.0.0.0 或 127.0.0.1,因此主机名变得无法访问。 (4认同)

Tom*_*chi 47

对于URL使用::1[]


pro*_*erq 40

ipv6 localhost是::1.未指定的地址是::.这在RFC 4291第2.5节中定义.


小智 7

只是为了完整性:有IPv4-mapped 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