段小煥
(甘肅交通職業技術學院 甘肅省蘭州市 730070)
隨著移動互聯網不斷的發展,無線網絡在園區網的建設中越來越被重視。伴隨著園區規模的不斷發展壯大,分公司和分支機構遍布了不同城市和區域。為了實現統一管理,避免重復投資、節約成本、提高安全性,分公司和分支機構的無線網絡接入點需要在總部統一規劃,統籌實現配置的遠程下發和AP 的遠程管理。因此在共享的Internet 上的通過VPN 技術實現私有網絡數據的傳輸是一種有效的途徑。對于企業內部網絡跨區域通信,基于IPSec 構建的VPN 網絡,可以保證數據傳輸的安全性,但不支持組播,無法通過組播方式實現無線網絡統一注冊和管理。GRE 協議作為一種通用路由封裝協議,可以封裝任意一種協議,可以很好的支持組播業務。因此需要將IPSec 協議與GRE 協議結合起來,構建基于GRE over IPSec VPN 隧道,實現對任意一種協議封裝,提供更好的安全性保障[1],實現了跨區域無線網絡的統一注冊和管理。但由于GRE over IPSec VPN 對接口發出的IP 報文頭進行了封裝,當數據報文本身的長度超過接口能夠轉發的最大傳輸單元(MTU)后,導致通信異常。 本文重點研究通過GRE over IPsec VPN 技術實現園區無線網絡的部署后,總部AC 統一管理和維護分部AP 的過程中存在的問題,通過在ENSP 進行仿真實驗,抓包分析產生問題的原因,經過實驗驗證,提出通過優化接口MTU 值,基于GRE over IPsec VPN 技術實現跨區域無線局域網的統一管理和維護。
隨著移動互聯網應用的飛速發展,為用戶提供高速、可靠、安全的無線網絡已經成為公司為用戶提供的一項重要的服務。目前,對于大規模的公司,無線網絡的部署一般采用集中式網絡架構,即通過AC 對無線局域網中的所有AP 進行控制和管理[2-3]。由于總部與分部處于不同城市或地區,需要跨越公共的互聯網實現它們之間的通信,而在公共的互聯網上傳輸私網的數據,數據的機密性和完整性無法保證。因此,需要通過VPN 技術來解決。在VPN 技術的選擇時,GRE VPN 技術可以封裝任意一種協議,但安全性不高。IPsec VPN 技術可以實現對數據的加解密、完整性校驗等,但支持的協議只有IP 協議,不支持組播[4]。為了即保證數據傳輸的機密性、完整性,又能夠很好的支持組播報文在VPN 隧道內正常的傳輸,因此通過GRE OVER IPsec 的VPN 技術既可以實現總部與分部之間無線網絡通信,又可以提高數據在公共的Internet 傳輸的安全性。跨區域無線網絡總體架構如圖1 所示。

圖1:跨區域無線網絡總體架構
總部無線網絡設計采用三層組網的架構,AC 旁掛在核心層,如圖1 所示。AC 與AP 之通過CAPWAP(Control And Provisioning of Wirеlеss Accеss Points Protocol Spеcification,無線接入點的控制和規范)進行通信。CAPWAP 協議實現AP 在AC 上的注冊,建立控制信道,下發配置和遠程管理[5]。為了保證圖1 中AP 與AC控制信道的建立,需要為總部和分部AP 統一分配管理地址,本實驗中,將設計AC 作為DHCP 服務器為AP 分配管理IP 地址,核心交換機作為DHCP 服務器為AP 下接入用戶分配IP 地址。AP管理VLAN 規劃為VLAN100、VLAN200,AP 業 務VLAN規 劃 為VLAN10~VLAN90,AC源接口用VLAN100,地址為10.23.100.1/24。AC 上創建全局地址池為AP 分發管理地址,根據如圖1 的架構,在仿真軟件ENSP 下搭建模擬環境,并對AC 做如下配置。

通過如上配置,AP 以廣播的方式發送DHCP 協議報文,在獲得管理地址的同時,獲得了AC 的IP 地址,通過交互CAPWAP 協議,建立控制隧道,實現區域內部AC 對AP 的管理。
總部與分部之間的通信,通過GRE over IPsec VPN 實現。需要在總部和分步的路由器上做如下核心配置:
(1)在總部與分部的路由器上配置建立GRE 隧道

(2)配置私網的路由通過GRE 隧道轉發

圖2:AP 上線狀態過程

圖3:Wireshark 定位到的錯誤報文

圖4:標準以太網幀格式

圖5:GRE over IPSec 封裝后的數據包格式

(3)配置IPSec,保護GRE 隧道兩端傳輸的數據

(4)將IPSec 安全策略應用到接口

通過在總部與分部的路由器上配置建立GRE 隧道,指定目標地址和源地址,總部和分部之間通過靜態路由,將下一條指向到Tunnel0/0/0 口。IPSec 配置需要保護GRE 隧道,匹配的數據流是公網源和目標兩端的地址,配置待加密的數據流和安全提議,最后將策略應用到兩端公網的出接口。通過GRE over IPsec VPN 既實現了總部與分部之間的通信,有了IPsec 的保障,對兩個節點之間傳輸的數據進行加密和驗證,保證了數據傳輸的機密性和完整性,為跨區域無線網絡的統一管理提供有效的安全保障[7-10]。
根據參考文獻[7-10]完成以上的配置。通過在ENSP 下實驗分析驗證,當無線控制器AC 控制并管理到無線AP 時,則AP 的狀態顯示為nomal 狀態,AP 正常上線。從實驗結果來分析,總部所接入的AP,顯示均為nomal 狀態,AP 已經正常上線。但分部AP在獲取IP 地址之后,長時間停留在cfg 狀態,經過一段時間進入cfgca 狀態,最后處于fault 狀態,實驗結果如圖2。
當AP 的狀態處于cfgca 時,表示AC 正在為AP 下發配置和版本信息,而配置信息相對比較小,大小不到1K,版本信息比較大,一般超過了2M。
由于通過ESP 對數據包封裝后,數據被加密無法定位出錯的原因。因此,在本文中,借助仿真軟件ENSP,先不對數據進行加密,獲取被GRE 協議封裝后的數據報文如圖3 所示。
從圖中可以看到,總部和分部之間VPN 隧道已經建立起來,但報文中標紅的字段存在異常,錯誤提示為Bad length value 1480 > IP payload length,即通過UDP 協議封裝capwap 報文時,數據字段長度大于IP 報文載荷長度。根據Wireshark 獲取此段報文分析,從AC 發出的數據幀,經過AC 源接口封裝后,到達到出口路由器,出口路由器再進行GRE 封裝,封裝后的報文長度超出了接口能夠轉發的最大傳輸單元MTU[11]。
MTU 為最大傳輸單元(Maxitum Transmission Unit)的簡稱,一般是指以太網幀結構中數據字段最大的長度(單位為byte)。標準以太網數據幀由幀頭、數據部分及校驗位構成,大小占1518 字節,如圖4 所示,其中數據鏈路層數據幀頭占14 個字節(DMAC目的MAC 地址6bytes,SMAC 源MAC 地址6bytes,Type 字段占2bytes),尾部校驗和FCS 占4 個字節,中間部分為承載上層協議(IP數據包)字段,即圖中的Data 字段,大小為46-1500bytes,Data字段的最大長度稱之為MTU,即MTU 值最大為1500bytes[12]。當接口承載的數據報文大小超過了MTU 的最大值后,數據幀會被直接丟棄,導致通信異常。
本文中AC 為AP 下發版本信息時,數據報文比較大,超過了2M,需要進行分片,默認分片的大小為1480bytes,這就導致通過GRE 協議封裝包含CAPWAP 報文的UDP 數據包后,報文總體長度超出了接口能夠轉發的MTU,從而報告Bad length value 的提示。

圖6:AP 正常上線狀態
通過GRE over IPSec VPN 技術實現總部與分部之間無線網絡的統一管理,從GRE over IPSec 數據報格式來分析,數據字段首先經過原始IP 頭進行封裝,從AC 的源接口轉發到總部路由器,總部路由器通過查找路由,發現匹配了192.168.20.0 255.255.255.0 Tunnel0/0/0 這條路由,路由的下一條交給了Tunnel0/0/0。因此數據報文要經過GRE 報文進行封裝,添加了4 個字節的GRE 報文頭,同時添加20 個字節的IP 報文頭[13]。經過GRE 封裝的IP 報文目標地址是GRE 隧道制定的目標地址,該目標地址與IPSec 中應用的ACL 匹配,ESP 要對其進行封裝,添加上了10 個字節的ESP 報文頭,再一次被路由器的出接口封裝,添加上了20個字節的IP報文頭,在公共的Internet 上傳輸,到達分布,進行解封裝[14]。具體封裝的格式及每個字段大小如圖5 所示。
從圖5 中可以計算出,從AC 源接口發出的數據包,接口能夠承載的最大MTU 值計算公式方法為:MTU=1500-(3×IP 頭+ESP頭+GRE 頭),即經過GRE 和ESP 封裝,接口承載的最大MTU值為1426。
通過上文的分析,以太網接口的MTU 值必須小于等于1426bytes,GRE over IPSec VPN 技術才能有效保障跨區域無線網絡的AC 對AP 的統一管理。通過實驗再次驗證,設置接口的MTU 值,由于從AC 源接口發出的IP 報文到達出口路由器后,還要進行兩次封裝,根據計算的結果,將AC 源接口MTU 值設置為1426bytes。具體配置如下:

通過如上配置,在通過命令行查看AP 的運行狀態。顯示如圖6,分部AP 狀態顯示為nor,表示AP 正常上線,統一通信和管理得以實現。
隨著園區規模的不斷擴大,分布在不同區域園區用戶之間的互聯互通需求不斷增多,通過GRE over IPSec VPN 技術可以很好的解決用戶的需求。在園區之間通過公共的Internet 傳輸私網數據時,如果數據報文比較大,接口發出的數據報文超過了規定的值,將導致通信異常。本文根據無線網絡在跨區域環境中的應用情況,通過仿真實驗,對基于GRE over IPSEC VPN 技術實現跨區域無線網絡通信中遇到的問題進行了分析,通過抓取數據報文,定位產生問題的原因。通過對標準以太網報文和經過GRE over IPSec 封裝后的IP 報文進行分析,計算得出GRE over IPsec VPN 對報文封裝后接口MTU 的取值范圍,最后在仿真軟件中,優化MTU 值實現了跨區域無線網絡的統一管理與維護。
本文通過分析MTU 值對GRE over IPsec VPN 數據傳輸的影響,探索研究了MTU 值在GRE over IPSec VPN 中的計算過程,提出的MTU 值設置大小,即可以適用跨區域無線網絡的環境,也適用于跨區域的視頻會議、視頻監控領域,具有實際的應用價值。