/ etc / hosts中“ fe80 :: 1%lo0 localhost”的相关性是什么?


35

以下是我的文章/etc/hosts

我想知道最后一个条目(fe80::1%lo0 localhost)是什么。

127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost

3
%lo0是IPv6区域标识符,大多数系统在名称服务中不支持此标识符。
史蒂夫·

3
哪些应用程序将使用此信息?换句话说,如果要编辑该行,它将中断什么?

Answers:


25

这是一个IPv6地址。fe80 ::块保留用于链接本地地址。链路本地地址用于仅发送到直接连接的设备(未路由)的数据包。网络发现协议(NDP)是链接本地地址的最大用户(NDP排序替代了IPv6中的ARP和DHCP)。

您的每个接口都将具有不同的链接本地地址,以fe80 ::开头,(通常)以修改后的版本结束,接口的MAC地址(EUI-64格式)可确保您的网段具有唯一的地址。在使用环回接口的情况下,没有任何其他连接,因此它可以使用fe80 :: 1的地址而不必担心冲突,这就是为什么通常将fe80 :: 1用作“ localhost”地址的原因-相当于127.0.0.1的IPv6。


4
我还应该提到“%lo0”部分是必需的,因为如果未明确将其链接到接口,则任何本地链接地址都将是模棱两可的。
食者2010年

1
没有NDP对回interfase和::1使用IPv6的equivavelent 127.0.0.1,没有fe80::1%lo0
citrin

如果我的实际回送接口名称是简单的(由ifconfig报告)lo而不是lo0怎么办?还为什么要为本地主机包含2个IPv6主机记录?
伊万

5

食者以上的出色回答。IPv6链路本地地址,如上面所说的,形式的fe80:*实际上fe80::/10意味着前十位仅是针对匹配fe8*:*这样的范围是FE80 :: 0 .. febf:*。检查我的算术。

这些地址等同169.254.\*.\*于IPv4中的地址,尽管IPv4对应物使用得很少。

在ipv6中有多个地址而在IPv4中只有一个地址是很常见的。既有fe80::地址又有全球意义的可路由IPv6地址(2001:*例如)并非例外。不幸的是,应用程序和操作系统在IPv4中往往不会做同样的事情,也就是说,接口往往没有多个IPv4地址,而且我也没有看到接口同时说一个169.254.\*.\*地址和另一种地址的情况。

同时使用IPv4中的这两种类型可以避免很多麻烦和痛苦,例如,当套件以错误的顺序启动时,电脑在路由器或服务器之前上电,而电脑分配自己的169.254.\*.\*地址并仅使用该地址而不是添加第二个地址当他们以后从路由器或服务器中发现应该在Internet上的位置时,它们具有全球意义的,可路由的地址。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.