2017-09-18 63 views
-1

因此,我有一種情況,其中一個物理接口(因此,一個MAC)在一個綁定中承載多個VLAN。 由於IPv6中的鏈路本地地址是由MAC地址生成的,所有的VLAN都以相同的鏈路本地地址結束。這會導致系統中的問題。通過同一個物理接口爲多個VLAN網絡提供IPv6鏈路本地地址

這是IPv6的已知限制嗎?除了進入內核代碼並改變鏈路本地地址的分配方式之外,是否還有一些可接受的解決方法?

+2

你能解釋你面臨的問題嗎?據我所知,鏈接本地地址是爲了從您的網卡的MAC生成。默認情況下,它會進行分配,但您可以手動更改它們。如果您的系統生成的幀是與不同vlan標記相同的MAC,那麼它不應該是我看到的問題 – Deepaklal

回答

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 

這種方式,地址與接口名稱相關聯,並沒有混亂是可能的。

+0

,這很有道理。 當在linux代碼中查看VLAN時,其net_device是否包含已指定相關VLAN範圍/ ID的地址? 系統在什麼級別知道它是一個VLAN,而本地地址本身是不夠的?它對NDP等各種協議是否透明? – TheFooBarWay

相關問題