IPv6 對 /64 進行子網劃分 - 什麼會中斷,以及如何解決它?
在 IPv6 中,您不應將子網劃分為小於 /64 (RFC 5375) 的任何內容。除其他外,SLAAC 不適用於較小的子網,而且顯然其他一些功能也會中斷。
對於 ISP 只會為您提供單個 /64 但您在內部需要多個子網的情況,有哪些解決方法?常見的建議似乎是找到另一個將分發 /56 或 /48 的 ISP。在世界的某些地方,這可能行得通,但在我們地區(美國),由於缺乏競爭,這是不可行的。如果我的大多數客戶有一個為他們所在地區服務的 ISP,他們就會很幸運。這裡的很多人還在撥接上網。
我的客戶沒有資格從 ARIN 獲得他們自己的 /48。
如果 ISP 不會給你超過 /64,那麼那個 ISP 很爛。如果有任何解脫,我可以告訴你,我必須與更糟糕的 ISP 打交道。在這裡,將公共 IPv4 地址從客戶那裡拿走並將它們放在 CGN 後面是完全正常的。如果你向他們詢問 IPv6 地址,他們會告訴你他們不提供 IPv6,因為現在還不缺少 IPv4 地址,而且只要有不支持 IPv6 的伺服器,他們就不會提供 IPv6,因為這是不可能的一個雙棧客戶端連接到僅 IPv4 的伺服器。
如果任何 ISP 會給我你所擁有的,我會接受它,因為它比我迄今為止所能得到的要少。
展望未來,我建議您並行採用兩種方法。
給ISP施壓
盡可能給 ISP 施加壓力。這包括聯繫其他 ISP,如果任何其他 ISP 可以為您提供更好的交易,則可能會進行切換。
確保您確實測試瞭如果您的路由器通過 WAN 上的 DHCPv6 請求委派的 /48、/52、/56 或 /60 會發生什麼。我會測試所有四個前綴長度,以防 DHCPv6 伺服器出於某種原因只會分發特定的前綴長度而忽略對其他前綴長度的請求。
充分利用你所擁有的
鑑於您可能不得不忍受一些黑客的進步,您必須問自己,哪個對 IPv4 使用 hack 或 IPv6 對 hack 使用更少。
您可以使用一些技巧將單個 /64 擴展到許多主機。
將連結前綴轉換為路由前綴
如果您在 WAN 連結上有一個 /64,但沒有路由到 LAN 的前綴,則可以通過幾個步驟將該 /64 轉換為路由前綴。將路由器上的 WAN 介面配置為 /126 而不是 /64。在路由器上安裝鄰居通告守護程序(例如 ndppd),為 /64 中的每個地址通告自己的 MAC 地址,但 /126 中的 4 個地址除外。通過這兩個步驟,您將擁有一個可以在 LAN 上使用的路由 /64,但用於 WAN 連結的 4 個地址除外。
此 hack 的修改版本可以在多個路由器之間共享連結 /64。然後,連結前綴必須比 /126 短一些,以適應每個路由器的 IP 地址,/120 將足夠短以允許多達 254 個路由器。
每個路由器顯然只會得到一個比 /64 長的前綴。我建議您盡可能長地為每個路由器設置前綴,同時該路由器上的 LAN 仍有足夠的 IP 地址。每個路由器的 /112 或 /120 可能是合適的。每個路由器都使用自己的 MAC 地址進行響應,以便鄰居發現該路由器前綴內的任何內容。
在此變體中,每個路由器將在其 WAN 端配置相同的前綴,並將響應鄰居發現請求,請求分配給其 LAN 端的前綴。顯然,所有 LAN 前綴都不能相互重疊,也不能與您在 WAN 端配置的前綴重疊。
因此,如果充當網關的 ISP 路由器位於地址 2001:db8::1/64 上,那麼您可以使用 2001:db8::/120 作為您的 WAN,您可以將 2001:db8::1:0/112 分配給第一個路由器,2001:db8::2:0/112 到第二個路由器,依此類推。
在 LAN 上,您可以通過子網劃分或橋接將 /64 擴展到許多主機。您必須確定這兩種方法中哪一種最適合您。
子網劃分
如果您對 /64 進行子網劃分,您也可以使用最長的前綴,這些前綴仍然有足夠的地址供您需要的主機使用。不要將子網劃分為 /80 前綴,而是每個子網使用 /116、/120 或 /124。如果您不使用 /64 會破壞的東西不太可能在意,並且通過使用 /116 或更長的時間,您將減少某些鄰居發現 DoS 攻擊(如果存在於您的任何系統中)的影響。
在這樣的子網配置中,您將破壞 SLAAC,因此您需要一個 DHCPv6 伺服器來響應每個分段,並在所有不支持 DHCPv6 的設備上配置靜態 IPv6 地址。
橋接
橋接是另一種選擇。這實質上意味著您不進行子網劃分,而是將整個 LAN 作為具有 /64 前綴的單個 IPv6 段執行。(如果需要,/64 可以同時跨越 LAN 和 WAN。)
IPv6 旨在允許網橋辨識每個任播地址需要轉發到哪個橋接網路。這樣,您就不必在 LAN 上的每個物理鏈路上廣播數據包。
網橋還可以應用防火牆並防止 LAN 上的鄰居發現欺騙。
如果橋接器上有足夠的智能,原則上您可以橋接單個 /64 的交換機數量沒有限制。