Routing

ISP 需要提供什麼才能將本地 IPv6 /56 範圍路由到多個 VLAN

  • August 14, 2016

我有一個理論問題。網路拓撲是這樣的:

ISP <--- eth0 -> Router1 <- eth1 ----+--> VLAN1
                                    '--> VLANx

為了便於討論,我們假設 Router1 是 Linux 3.2.x 設備。

假設我希望從我的 ISP 接收單個 /56 範圍。我的 ISP 必須向我提供哪些資訊,以便我可以:

  1. Router1 上有本地 IPv6 連接
  2. 在每個 VLAN 上通告分配的地址空間的 /64 段,以便 LAN 中的客戶端能夠正確地自動配置自己?

為了進一步解釋,我問這個問題是為了了解我必須要求我的 ISP 為我提供什麼,才能實現目標 1 和 2。據我了解,當我得到只有一個 IP 範圍(/64、/56 或 /48)和該範圍的網關地址,無法將該範圍的一部分路由到路由器另一側的物理分離網路。

您不會在分配的 /56 或分配給您並路由到您的場所的任何 IPv6 塊*內獲得網關地址。*如果您以某種方式這樣做,請禮貌地要求 ISP 讓知道他們在做什麼的人接聽電話。或者也許不夠禮貌。

通常,您根本不必擔心上游 IPv6 地址,因為它會在您插入路由器後立即自動配置。大多數 ISP 似乎都使用 DHCPv6(帶有前綴委託)來執行此操作,但如果您有靜態分配的前綴,也可以使用直接 SLAAC 來完成。

一旦 /56 進入您的網路,您可以根據需要對其進行子網劃分。

下面是一個可能的範例(僅部分充實,並且可能不是很有用)網路設計如下所示。在任何情況下,您與 ISP 的上游連接的 IPv6 地址都是由 ISP 提供的,並且在您分配的前綴之外。您通常只需要擔心內部介面。此範例假設您有一個帶有集成 4 埠交換機的邊緣路由器,例如許多小型企業或 SOHO 路由器。

IPv6 Address: (static, DHCPv6)  IPv6 address: (SLAAC)
2001:db8:3481:2000::2/64        2001:db8:3481:2000::021d:e1ff:fe1a:630
Gateway: (static, DHCPv6)       Gateway: (SLAAC)
2001:db8:3481:2000::1           fe80::0208:30ff:fe9d:aa61%ether1

ISP <-----+
         |ether1
+---------+---------+
|    Edge Router    |
|-------------------|  Your Prefix:    __
|        \ /        |  2001:db8:3481:a700::/56
|         X         |  ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|        / \        |  Switch Ports example:
|-------------------|
| VLAN trunk/switch |  1: VLAN 1-64    2001:db8:3481:a700::/58
+---------+---------+  2: VLAN 65-128  2001:db8:3481:a740::/58
         |ether2      3: VLAN 129-192 2001:db8:3481:a780::/58
         +----> Core  4: VLAN 193-256 2001:db8:3481:a7c0::/58

在核心的下游,您可以在核心路由器(甚至是第 3 層交換機、更多 SOHO 路由器等)上進一步對它們進行子網劃分。我還假設每個 /64 都將位於其自己的 VLAN 上,儘管您是否這樣做是另一個細節,您必須自己解決。

您還可以使用帶有前綴委託的 DHCPv6 來實際處理定址,這可能是最簡單的。或者您可以使用 SLAAC,這需要更多設置,甚至手動分配,我通常不建議這樣做,因為它太費力了。

引用自:https://serverfault.com/questions/570172