1

So I have a situation in which one physical interface (as a result, one MAC) hosts several VLANs in a bond. Seeing as the link-local address in IPv6 is generated from the MAC address all my VLANs end up with the same link-local address. This causes issues in the system.

Is this a known limitation of IPv6? Is there some accepted workaround beyond going into the kernel code and changing the way link-local addresses are assigned?

4

1 回答 1

4

这是 IPv6 的已知限制吗?除了进入内核代码和更改链接本地地址的分配方式之外,是否有一些可接受的解决方法?

不,这不是问题,因为一个链路本地地址会影响物理接口,而其他链路本地地址会影响 vlan 接口。每个链接本地地址都可以通过其关联的网络接口来区分。

这是一个例子:

  • 你有一个eth0物理接口
  • 您的交换机配置为在此接口上有多个 802.1Q vlan:
    • 例如,本机 vlan 是 200
    • 标记的 vlan 是 101 和 102

因此,您的接口将具有以下配置:

% ifconfig eth0
eth0      Link encap:Ethernet  HWaddr C0:3F:D5:33:13:79
          adr inet6: fe80::c23f:d5ff:fe33:1379/64 Scope:Lien
% ifconfig vlan101
vlan101   Link encap:Ethernet  HWaddr C0:3F:D5:33:13:79
          adr inet6: fe80::c23f:d5ff:fe33:1379/64 Scope:Lien
% ifconfig vlan102
vlan102   Link encap:Ethernet  HWaddr C0:3F:D5:33:13:79
          adr inet6: fe80::c23f:d5ff:fe33:1379/64 Scope:Lien

注意:如果您使用的是 Linux,则应使用,ip address show而不是ifconfig, 以使用最先进的 iproute2 Linux 网络接口。

如您所见,HWaddr 和链接本地地址是相同的。但是由于链接本地地址需要在 vlan 中限定范围,因此对内核没有问题,对您的交换机和其他主机也没有问题。

要 ping vlan101 上的本地链接,请执行以下操作:

ping6 fe80::c23f:d5ff:fe33:1379%vlan101

这样,地址与接口名称相关联,不会混淆。

于 2017-09-18T05:41:34.213 回答