◆王小群 何榮毅 陳凱豐
(山東大學(威海)網絡與信息管理中心 山東 264209)
科研機構及高校的校園網通常有多個出口,包括中國教育科研網(下文簡稱為教育網)、中國聯通、中國電信、中國移動等,科研機構的工作人員以及高校老師和學生經常需要訪問一些專業的學術網站,有的可能是國外的網站,通常情況下,這些專業類的,學術類的網站資源不是特別豐富,可能只有電信,或者只有教育網資源,而出口選擇是隨機的,因此經常會出現相同的網站某些人訪問很順暢,有的人就會無法訪問的情況,經排查發現是因為訪問這些網站時隨機選擇的公網出口不同導致的。
如圖1所示,本校校園網有多個出口,采用的是目的地址路由方式,路由表建在核心交換機上,根據用戶所訪問的網址,動態選擇互聯網出口。
根據目的地址來進行路由規劃的好處是:(1)數據到達目的時經過的路徑短,經過的故障點相對較少;(2)用戶通過相應互聯網出口來訪問對應運營商內部的資源,速度快,用戶體驗較好。
但是這種規劃也有缺點:(1)有很多資源我們并不知道是處于哪個運營商的運營范圍,這樣的情況只能走默認路由;(2)由于各運營商所擁有的資源量不同,導致各出口之間帶寬利用不平衡而導致某些出口很擁堵的同時另一些出口比較空閑,仍然會出現訪問某些網站出現卡頓或無法打開網頁的情況[1];(3)用戶無法得知自己是通過哪個出口訪問的互聯網同時用戶也無法對自己訪問互聯網的出口進行更改。由于學術資源尤其國外的學術資源往往比較有限,因此經常出現訪問某些網站卡頓,或者有的用戶打不開的情況,對師生的學術研究造成不便。
為此我們開發了這個用戶自主選擇校園網出口的系統,用戶可以利用該系統自主選擇互聯網出口。

圖1 校園網出口示意圖
本系統采用Web的界面交互方式,選用Linux系統、MySQL數據庫、通過Telnet協議利用腳本對核心交換機上的策略路由進行更改。
校園內既有公有地址,也有私有地址,環境較為復雜,在保證大多數師生科研需求的前提下為了簡化系統,我們規劃了其中有或可能有自主選擇互聯網出口需求的師生約20個VLan,主要集中在教室、實驗室以及圖書館。這20個VLan每個VLan有1個C類ip地址。每個VLan對應教育網、聯通、電信、移動四個互聯網出口可選擇,因此每個VLan對應了4個不同的acl。為了可以快速定位用戶選擇的出口,我們提前在核心交換機上做好了每段地址對應的不同出口的策略路由,并且在服務器上設置了對應的表格,如表1(因篇幅原因不將內容一一列出)。

表1 數據庫內容示例
本系統具體工作流程如圖2。
當用戶打開出口選擇頁面時,服務器會根據用戶的 ip地址來查詢數據庫中是否有相關的記錄,數據庫中記錄的是每一個選擇了出口的ip地址所對應的VLan號和acl_num號,如果有記錄,則將該記錄取出,并和表1進行匹配,得到該ip地址目前所選擇的互聯網出口線路,并在用戶打開的頁面中顯示出來,如果數據庫中沒有記錄,則說明該ip地址選擇的是默認路由,在用戶打開的頁面中顯示當前選擇的互聯網出口是校園網。當用戶對校園網出口做出選擇之后,首先判斷用戶是否選擇了校園網為互聯網出口,如果是,則直接刪除掉數據庫中原有的關于該ip地址的記錄,并通過腳本文件Telnet到核心交換機上,修改策略路由為默認路由表,修改完成在后當前頁面顯示出用戶當前選擇的互聯網出口。如果用戶選擇的是其他互聯網出口,則首先根據表1通過用戶ip地址和他所選擇的互聯網出口檢索出對應的acl_num,再通過腳本文件Telnet到核心交換機上,修改策略路由到相應的互聯網出口,同樣修改完成后在當前頁面顯示出用戶所選擇的互聯網出口。

圖2 系統工作流程
腳本文件使用的是Perl語言,Perl一種功能豐富的計算機程序語言,具有簡單靈活的特點,在Linux 系統下Perl是隨系統安裝的。具體實現方法如下:
首先將獲得到的用戶的ip地址,acl_num,acl_old等參數傳到腳本中,然后我們可以直接調用Perl的Net::Telnet模塊來登錄核心交換機并進行修改。
登錄交換機命令:

判斷如果acl_old為0,則直接將ip地址添加到新的acl_num對應的acl中,否則需要先刪除掉舊的acl中該用戶的數據,再添加到新的acl中,為了避免acl中rule_num有重復,我們將每個ip地址的最后一組數據作為該ip地址的rule_num。

本校核心交換機使用的是H3C的S12510-X,策略路由使用policy-based-route命令實現,具體實現方法以 10.161.20.0/24段地址為例[2]:
首先將所需要的acl策略建好。

然后使用policy-based-route命令來做路徑選擇:

最后將該策略路由應用到相應的網關上:

如果選擇某一互聯網出口,只需在相應的acl下,將用戶的ip地址添加進去即可:

交互界面采用Web界面,使用PHP編寫,選擇相應的出口點擊提交即可,如圖3所示。

圖3 Web交互界面
本文介紹了一種適用于科研機構和校園網的用戶自主選擇互聯網出口系統,系統不需要串接在核心交換機與各出口路由器之間,不會成為出口的帶寬瓶頸,用戶可以登錄Web界面來選擇互聯網出口,增強了內網用戶訪問互聯網的靈活性,也提高了用戶網絡體驗的滿意度。