我的计算机通过以太网电缆连接到路由器。例如,我有一个全局地址 IPv6:一个::脸/64。这是我在自动配置模式下的网络配置:
auto eth0
iface eth0 inet6 auto
我拔掉电缆,然后将其插入另一个路由器。从逻辑上讲,我的计算机的全局地址将更改为b::脸/64。但是当我使用命令“ifconfig”时,我发现有两个地址一个::脸/64和b::脸/64。当然,我们无法 ping6 到旧的全局地址一个::脸/64因为它并不真正存在。
我尝试通过将配置从“自动”更改为“允许热插拔”来解决问题,但这并没有太大变化。
我的问题是:我的电脑有什么问题吗?我该如何解决这个问题?
答案1
启用 IPv6 的接口始终具有以 fe80 开头的链路本地地址;因此,当有另一个公共地址时,他们将有两个地址。
为了对其执行 ping 操作,您还必须添加链接本地地址“%interface_name”,例如,如果 eth0 具有fe80::250:56ff:fe80:45b6
您必须使用的 IP 地址:
ping6 fe80::250:56ff:fe80:45b6%eth0
在 ifconfig 中,您还可以看到范围,它将Scope:Link
用于链接本地地址和Scope:Global
公共 IPv6 地址。
我将留下“了解 IPv6 链路本地地址”链接
http://www.cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/113328-ipv6-lla.html
这些地址仅指特定的物理链路,并用于在单个链路上寻址,以实现自动地址配置和邻居发现协议等目的。链路本地地址可用于到达连接到同一链路的相邻节点。节点不需要全局唯一的地址来进行通信。路由器不会使用链路本地地址转发数据报。 IPv6 路由器不得将具有链路本地源地址或目标地址的数据包转发到其他链路。所有启用 IPv6 的接口都有一个链路本地单播地址。