【问题标题】:IPv6 link-local address for multiple VLAN networks over the same physical interface同一物理接口上多个 VLAN 网络的 IPv6 链路本地地址
【发布时间】:2018-02-26 13:07:00
【问题描述】:

所以我遇到了这样一种情况,即一个物理接口(因此,一个 MAC)在一个绑定中托管多个 VLAN。 看到 IPv6 中的链路本地地址是从 MAC 地址生成的,我所有的 VLAN 最终都具有相同的链路本地地址。这会导致系统出现问题。

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

【问题讨论】:

  • 您能解释一下您面临的问题吗?据我所知,链接本地地址旨在从您的 NIC 的 MAC 生成。默认情况下它会分配,但您可以手动更改它们。如果您的系统生成的帧是具有不同 vlan 标签的相同 MAC,那么这应该不是问题

标签: networking ipv6 vlan link-local


【解决方案1】:

这是 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 中限定范围,因此对内核没有问题,对您的交换机和其他主机也没有问题。

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

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

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

【讨论】:

  • 我明白了,这是有道理的。并且在查看 linux 代码中的 VLAN 时,它的 net_device 是否包含已经指定相关 VLAN 范围/id 的地址?系统在什么级别知道它是一个 VLAN,而 lik-local 地址本身是不够的?对 NDP 等各种协议是否透明?
猜你喜欢
  • 2017-05-31
  • 2011-08-10
  • 2017-10-03
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多