目前,可用的IPv4地址資源已基本消耗殆盡,為滿足物聯網時代“一物一地址,萬物皆在線”的海量智能終端聯網需求,IPv6規模部署與發展越來越受到關注。在校園部署IPv6和IPv4的雙棧網絡已經非常普遍,隨著應用系統和網絡設備對IPv6支持度的不斷提升,純IPv6的校園網絡也離我們越來越近。
IPv6的優勢在于大幅擴展了地址的可用空間,提供了2128個地址。不僅如此,IPv6沒有廣播地址,網絡管理者不用再考慮類似IPv4地址解析協議(Address Resolution Protocol,ARP)的廣播風暴問題。此外,IPv6支持多種地址分配方式。不同終端和系統對無狀態地址分配(Stateless Address Autoconfiguration,SLAAC)和IPv6動態主機配置協議(Dynamic Host Configuration Protocol for IPv6,DHCPv6)這兩種IPv6地址分配方式的支持度不一樣,因此IPv6的部署方式多種并存。
除了顯著增加地址空間外,IPv6另一個最顯著的特征就是它的即插即用性。RFC4861更新的鄰居發現協議(Neighbor Discovery Protocol,NDP)是IPv6協議體系中一個重要的基礎協議,定義了使用ICMPv6(互聯網控制報文協議第六版)報文實現地址解析、跟蹤鄰居狀態、重復地址檢測、路由器發現以及重定向等功能,實現了即插即用的特性。
本文介紹了幾種適用校園IPv6全球單播地址的規劃和分配方式,并對傳統的DHCPv6分配方式進行優化,在此基礎上,進行有效的統計和管理。科學規劃網絡中的IPv6地址,能減少網絡配置和維護過程中的人為失誤,使得安全策略制定更為容易,降低了故障排除時的工作難度,并為未來擴容預留空間,提高網絡可擴展性。
IPv6尋址模式介紹
IPv6尋址模式分為三種,即單播地址、組播地址和任播地址。
單播地址(Unicast):表示單一接口的地址。
組播地址(Multicast):表示一組接口的地址,發往多播地址的封包將會被配置該地址的所有接口接收。
任播地址(Anycast):允許相同功能的多個服務器使用同一個單播地址,路由器在收到指向這一地址的數據包時,會把數據包發送到使用此地址的路由距離最近的服務器。
IPv6常用的單播地址包括:全球單播地址、鏈路本地地址、站點本地地址、特殊地址、過渡地址、環回地址。因為全球單播地址被用來在IPv6網絡上進行全局路由和訪問,本文只介紹全球單播地址的規劃和部署。
IPv6中的全球單播地址是全局可識別和唯一可尋址的。RFC3587定義的IPv6全球單播地址由3部分組成:
全球路由前綴、子網ID和接口標識符,如圖1所示。全球路由前綴用來識別分配給一個站點的地址范圍。子網ID也稱為子網號,一個子網ID與一個鏈接相關聯,以識別站點中某個鏈接。接口標識符用來識別鏈接上的某個接口,在該鏈接上是唯一的。互聯網服務提供商(ISP)分配給組織機構的全球路由前綴通常為48位,對于SLAAC來說,48位的全球路由前綴和16位的子網ID合稱為子網前綴。
圖1 RFC3587定義的IPv6全球單播地址結構
IPv6子網劃分
IPv6網絡對外訪問采用全球單播地址。如前文所述,IPv6有128位超大地址空間,由64位子網前綴和64位接口標識符組成。64位的子網前綴預留了足夠大的編址空間,能滿足各個機構與ISP之間的編址需求。因為SLAAC自動生成的掩碼長度最長是64位,RFC7421建議IPv6子網掩碼最長不超過64位。
運營商向大企業分配的常見前綴長度是48位,子網ID為16位,組織或機構可以用16子網位來創建出最多65536個掩碼為64的子網。科學的子網劃分,能增強網絡的管理能力,正確反映網絡拓撲結構。
決定子網劃分的位數
用于子網劃分的位數決定了子網劃分后新子網的可用地址前綴數量。設計者可以根據地理區域或部門分類來為網絡的不同部分分配新的地址前綴。分層結構的各個不同層次選擇的位數越多,則在該機構最后一層中可以用于各個子網的可用位數就越少。在任何一個給定的層次中,假設一部分比特位(f)已經分配給了上一層,一部分比特位(s)用于在當前層次中進行子網劃分,還有一部分比特位(r)則留給下一個層次。那么,在任何時候,f+s+r=16都成立。
二進制比特位子網劃分
首先使用子網ID的二進制表示,再將劃分后的地址前綴轉換為十六進制,計算出劃分后的新地址前綴。
比如,用3比特位來規劃地理位置的區域(f=3),用7比特位來規劃行政部門(s=7),這意味著某個地理位置的某個部門還剩下6個比特的子網位(r=6),即每個部門最多只能有64(=26)個子網,如圖2所示。
圖2 依據比特位的IPv6子網ID劃分
下面以2001:da8:1234::/48的大學校園網為例進行16位的子網劃分,如圖3所示。
圖3 校園子網比特位法劃分
第49-51比特,可能的取值是000-111,共8個數,可以分給8個功能模塊或者地理區域;第52-58比特,可能的取值是0000000-1111111,共128個可能的組合,可以分給128個行政單位或者安全組;第59~64比特,可以分給行政單位64個不同樓棟、樓層或者小功能模塊。這種分配方式組網靈活,但是犧牲了可讀性。
十六進制邊界子網分配
為便于分配和讀寫,建議按照16進制邊界或者比特位邊界來制定子網劃分方案。如果可以在十六進制邊界位劃分,則子網劃分會變得很簡單。因此一個/48可以劃分為16個/52,256個/56,4096個/60,65536個/64大小的子網。即滿足f+s+r=16同時滿足4|f,s,r。
再以2001:da8:1234::48的大學校園網為例進行16位的子網劃分,如表1所示。
表1 十六進制邊界分配IPv6子網
在核心交換機上,辦公樓可以進一步聚合為2001:da8:1234:1000::/50,數據中心可以進一步聚合為2001:da8:1234:c000::/50。IPv6子網前綴可以手動設置,也可以通過RFC3633標準化的DHCPv6前綴代理DHCPv6PD(Prefix Delegation)獲取。
IPv6接口標識符分配
IPv6接口標識符的產生
IPv6單播地址的后64位用作接口標識符,這個接口標識符在單播IPv6地址的64位子網前綴中是唯一的。
接口標識符生成方法有如下幾種:
靜態配置:手動分配地址,通過接口界面、命令行進行配置。SLAAC:無狀態自動配置,根據路由通告報文(RouterAdvertisement,RA)包含的前綴信息自動配置IPv6地址,組成方式是“子網前綴+接口標識符”,接口標識符可以是RFC2464定義的EUI-64恒定接口標識符、RFC4941定義的隨機產生接口標識符,或RFC7217定義的穩定語義不透明接口標識符。
DHCPv6:通過DHCPv6服務器進行配置。其中DHCPv6又分為2種:RFC3315定義的有狀態DHCPv6(Stateful DHCPv6),IPv6地址、其他參數(如DNS)均通過DHCPv6獲取;RFC3736定義的無狀態DHCPv6(Stateless DHCPv6),IPv6地址依然通過路由通告RA方式生成,其他參數(如DNS)則通過DHCPv6獲取。
除了全球單播地址外,DHCPv6和SLAAC都支持RFC4941定義的IPv6臨時地址。RFC4941給出了無狀態地址分配的隱私擴展。公共IPv6地址相對穩定不會變動,臨時IPv6地址會周期性更換。
在源地址選擇機制中,RFC6724建議終端訪問公共服務器的主機接口優先使用臨時地址。IPv6臨時地址的產生,有效保護了終端的隱私性。但臨時地址在方便用戶使用和保護用戶安全的同時,增加了網絡中不活躍IP地址的數量,同時也增加了子網被掃描的風險。
IPv6接口標識符分配方式對比
表2是上述三種接口標識符分配方式的對比。
表2 接口標識符分配方式對比
SLAAC設計之初不支持DNS下發,RFC6106定義了遞歸DNS服務器(RDNSS)用來支持DNS。表3是IPv6自動配置部署方法對比。
表3 IPv6自動配置方法對比
現階段并非所有操作系統和網絡設備都支持RDNSS,因此園區部署IPv6,通常可以用無狀態DHCPv6結合SLAAC的方式部署,通過SLAAC獲取全球單播地址,RA獲取默認路由和網關信息,DHCPv6獲取IPv6的DNS服務器信息;
另一種常見方式是關閉RA的IPv6地址前綴信息下發,RA只發布默認路由,僅通過DHCPv6獲取全球單播地址和DNS服務器信息。
在IPv4和IPv6雙棧部署時,如果DNS支持AAAA記錄,則不需要專用的IPv6DNS服務器,結合IPv4的DNS和IPv6的SLAAC,也可以滿足用戶的IPv6上網需求。考慮到安卓等部分操作系統對DHCPv6不支持,無線網絡適合用SLAAC部署IPv6,有線網絡因為終端位置、使用時間相對固定,建議采用DHCPv6部署。
接口標識符隱私安全
2017年2月,IETF正式發布RFC8064,用RFC7217取代EUI-64模式,RFC7217引入了一種新的穩定語義不透明的地址生成方案。在RFC7943中,DHCPv6定義了類似的穩定不透明的接口標識符產生函數。表4列出這兩種接口標識符機制產生的函數。這兩種方式產生的接口標識符能夠有效地減少用戶所面臨的地址關聯分析和隱私挖掘風險。
表4 穩定語義不透明的接口標志符產生方式
1.采用SLAAC部署IPv6
終端開啟臨時地址,網絡中IPv6地址數量比終端實際數量多出幾倍。在有線網絡環境中,終端長期在線,單個終端有1個固定全球單播地址,7個臨時地址,整個子網IPv6地址數量是終端數量的5~7倍。在無線網絡環境中,設備上下線頻繁,臨時地址數量比有線網絡少,IPv6地址數量是終端數量的2~3倍。子網中IPv6地址增多增加了網絡維護的難度。
2.采用DHCPv6配置地址
RFC3315定義當IA_TA(臨時地址身份關聯)選項置位1時,DHCPv6服務器分配臨時地址。現階段終端支持DHCPv6獲取臨時地址極少,因此網絡中不活躍的IP地址數量大大減少,降低了管理員的維護復雜度。但如果僅采用DHCPv6分配主機IPv6地址,部分終端不支持。雖然子網地址數量相比SLAAC方式少,但由于地址長期保持不變,IPv6單個子網地址范圍大,續簽地址仍然保持和上次分配的地址一樣,導致地址被追蹤和掃描的風險變大。
要解決這個問題,本文建議將64位子網再細分為“范圍選取段+非范圍選取段”,如圖4所示。
范圍選取段:從接口標志符的64位中取n位,分為k段(1≤k≤n)。依據需要每隔一段時間隨機或者輪詢從k段中選一段。每次DHCPv6地址分配的范圍設為:(64位前綴+2i(n-k)+::,64位前綴+(2(i+1)(n-k)-1)+f?f)(0≤i≤k)。更換選取范圍時,主機分配到的IPv6地址也隨機變化。這可以解決地址長期不變的問題。但是當地址改變時,如果主機有網絡會話連接保持,會話將中斷重連。
DHCPv6服務器盡量采用高版本的服務器,并采用隨機算法或者RFC7943提到的穩定不透明的接口標識符算法,避免地址呈現連續狀態。采用分段的DHCPv6可以避免DHCPv6分配地址段呈現平均分布或者低位分布。
圖4 DHCPv6算法分配的優化
IPv6地址管理方法
IPv6地址分配方式靈活,臨時地址變化頻繁,單個終端支持多個地址,導致日志記錄變得更加難以分析,這對于管理者是一個挑戰。網絡運維要求統計內網所有IP地址以及任意IPv6地址可溯源。在IPv4時代,溯源是通過IP地址查找主機對應的網絡標識,即MAC地址。MAC地址和IP地址對應關系可以通過查看ARP表或者DHCP的地址租用來獲取。在IPv6網絡中,仍然通過獲取IP地址和MAC地址的對應關系來溯源主機。以下列出三種常用的運維管理方法管理IPv6地址。
掃描IPv6地址
使用開源IP地址掃描工具Network Mapper(Nmap),或者使用IP Address Management(IPAM)地址管理工具進行子網IPv6地址掃描。使用Nmap掃描IPv6子網耗時較長,而使用IPAM管理工具可以設置IP地址自動掃描計劃,通過集成的DHCP和DNS、AD域(Active Directory Domain,活動目錄域)配置管理功能,有效分配IP、管理IP,并通過反向解析(PTR)、AD域賬戶登錄記錄,溯源賬號信息。
日志分析
在DHCPv4中使用MAC地址來標識用戶;在DHCPv6中,則采取“DUID+IAID”的模式。其中,DHCP唯一標識符(DHCPv6 Unique Identifier,DUID)用來標識系統,DHCP身份關聯標識符(Identity Association Identifier,IAID)用來標識接口。標識位和MAC地址是解耦的,因此不能通過DHCPv6獲取MAC地址和IPv6地址的關系。
DNS記錄了IPv6地址和域名的對應關系,AD域記錄了域賬號和主機的對應關系,主機加域之后,可以通過PTR查找到IPv6地址。防火墻會話日志記錄IP跨區域的訪問記錄。Radius日志可以利用標準屬性Framed-Interface-Id和Framed-IPv6-Prefix上報用戶地址信息。鏡像抓包工具可以分析網絡設備每個鏡像接口的實時流量、歷史會話記錄、子網對應MAC地址等。
NDP分析
NDP分析推薦兩種方法:第一種方法是在網關交換機或者路由器上定時獲取鄰居表的信息。此方法通過Python程序或腳本SSH(安全外殼協議)登錄交換機或路由器,并通過查詢鄰居表獲取MAC地址和IPv6地址的信息。
第二種方法是在網關處監聽子網的重復地址檢測(DAD)的鄰居請求報文(Neighbor Solicitation,NS),來分析MAC和IPv6地址的信息。但這種方法需要網關支持,或抓取網關每個接口的鏡像流量。因此第一種方法更容易實現。
表5列出IPv6地址管理方法對比,網絡管理者可以根據現網終端類型和IPv6部署特征,并結合防火墻、Radius服務器、AD域、日志分析平臺網絡安全、經濟成本等多種因素選擇合適的管理方法。
表5 IPv6地址管理方法對比
總結來看,IPv6有巨大的地址空間,大學根據園區地理劃分、終端類型進行合理的IPv6地址規劃,制定合理的IPv6地址分配策略,可以簡化IPv6路由表,提高IPv6地址的易讀性,簡化網絡的規劃、管理、配置、變更和擴展的工作量,同時提高校園網的安全性,減少IPv6地址被追蹤、掃描、暴露隱私的風險。IPv6地址的多樣性、終端對地址分配方式的支持程度決定了管理者不能只用一種方法來有效管理IPv6地址。綜合利用日志分析、IP掃描、NDP分析來管理是最全面和有效的管理方式。
作者:謝霞、曾祥容、成就、陳衍祚【香港中文大學(深圳)設備與資產管理處】
責編:項陽