【问题标题】:Localhost - meaning of fe80::1%lo0本地主机 - fe80::1%lo0 的含义
【发布时间】:2015-08-31 07:10:23
【问题描述】:

"fe80::1%lo0" 是什么意思 "fe80::1%lo0 localhost" Mac osx 上的私有/etc/hosts 文件

【问题讨论】:

  • 简而言之,它是典型的 IPv6 等价物 127.0.0.1,如果您想要更多使用 google 或阅读 ipv6 rfc
  • @sim,这是不正确的,::1 是相当于 IPv4 127.0.0.1 地址的 IPv6 地址。 FE80::/10 范围内的任何内容都是链接本地地址,更类似于但不等同于 169.254.0.0/16 IPv4 地址范围。 IPv6 接口可能分配了多个地址,并且 IPv6 要求每个接口上都有一个本地链路地址。链路本地地址范围在每个接口上,单个设备上每个接口的链路本地地址可能相同。
  • @RonMaupin 看看我的回答

标签: macos localhost ipv6


【解决方案1】:

fe80::/10 范围内的地址是链接本地地址。这些地址仅对它们所在的链路有意义,因此具有多个接口的设备可能具有相同的地址,并且肯定会在其所有接口上具有相同的链路本地网络。

这就是 % 符号发挥作用的地方。那是设备上的接口ID,它将区分地址所在的接口。不同的操作系统在 % 符号后会有不同的值。

【讨论】:

  • 其他地址类型是否也需要%之后的接口ID,还是fe80开头的地址?
  • @jez,RFC 6874 解释说:“为了限制这种风险,实现不得允许使用这种格式,除非是明确定义的用途,例如发送到前缀 fe80 下的链接本地地址::/10. 在撰写本文时,这是唯一已知的定义明确的用法。"
【解决方案2】:

我们正在考虑 OS X 中 /etc/hosts/ 文件中的记录 "fe80::1%lo0 localhost"

这意味着主机名“localhost”在区域"lo0" 中使用IPv6 链接本地地址"fe80::1"。本地链路意味着此地址不可路由,并且将被本地网络中的任何路由器丢弃(至少应该如此)。

当我们谈论 OS X 时,OS X "lo0" iface 的典型配置是:

洛0: inet6 ::1 前缀 128 inet 127.0.0.1 网络掩码 0xff000000 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1

从这里我们可以看出,这个链路本地地址的主要目标是支持链路本地地址空间中的环回网络通信。但是很少有应用程序使用它。

【讨论】:

  • 你混淆了两个不同的东西。 fe80::/10 地址范围与 ::1 本地主机地址无关。本地主机接口可以具有任何链路本地地址。默认为 fe80::1,但可以更改为 fe80::/10 范围内的任何地址。 IPv6 接口有多个地址,并且总是有一个本地链路地址。本地主机接口将具有 ::1 地址和链接本地地址。 fe80::1 可以分配给所有接口,因为它仅与分配它的链接相关,并且对于本地主机接口不是特定的或必需的。
  • @RonMaupin 我已经重写了我的答案以避免混淆
猜你喜欢
  • 2014-06-14
  • 1970-01-01
  • 1970-01-01
  • 2011-03-09
  • 1970-01-01
  • 2010-12-29
  • 2021-08-23
  • 2018-06-26
  • 2011-05-13
相关资源
最近更新 更多