■龐亞賓 趙 磊 蘭州石化公司自動化研究院
隨著互聯網的不斷發展,企業內部的Internet訪問量呈不斷上升趨勢,目前已經具備一條電信出口鏈路和一條聯通出口鏈路。企業自行摸索建立了一套適用于企業的智能化Internet訪問解決方案,方案主要亮點是1、有效利用雙ISP鏈路,合理負載均衡網絡出口,同時做到網絡出口出現故障時及時翻轉流量。2、更好的利用帶寬,在更深層次,更小的力度上保證合法訪問的流量帶寬,同時限制其他非法訪問流量。
電信和聯通兩個Internet運營商的網絡在互聯互通上存在瓶頸已經是一個不爭的事實。例如從某企業電信出口本公司的聯通出口,需要從二者北京骨干網進行流轉,而不是從本地路由,其跳數已經達到了幾乎不可達的15跳。以下是命令記錄:
lzshfirewall->trace-route 221.7.36.*
Type escape sequence to escape
Send ICMP echos to 221.7.36.129, timeout is 2 seconds,maximum hops are 32
1 5ms 10ms 9ms 61.178.249.*
2 3ms 3ms 2ms 61.178.253.205
3 2ms 2ms 2ms 61.178.253.93
4 2ms 2ms 2ms 61.178.0.37
5 28ms 28ms 28ms 202.97.38.145
6 53ms 53ms 53ms 202.97.34.150
7 51ms 51ms 53ms 202.97.46.38
8 75ms 77ms 76ms 219.158.32.93
9 143ms 142ms 141ms 219.158.13.13
10 79ms 80ms 80ms 219.158.4.21
11 101ms 102ms 103ms 219.158.7.134
12 111ms 113ms 110ms 60.13.16.10
13 98ms 99ms 99ms 60.13.16.22
14 169ms 168ms 167ms 60.13.16.102
15 103ms 102ms 112ms 221.7.36.*
Trace complete
要做到雙ISP負載均衡,不能簡單的指定內部不同用戶使用不同出口,必須能夠找到可行的智能化選路方案,讓用戶在訪問電信網站時使用電信鏈路,訪問聯通網站時使用聯通鏈路。
鏈路負載均衡完美的實現方式是使用一臺高端的路由設備,通過ISP的BGP路由器將目前已經獲知的所有Internet上25萬條聚合路由條目通告給這臺路由器,根據不同的路由條目下一條指向, 通還是電信鏈路。目前市場上的高端流量負載均衡設備也可以做到完美的Internet流量負載均衡。但是這些解決方案的缺點是設備投資高,而且需要Internet運營商支持和配合,可能會產生巨額的費用。
本次方案設計中采用了靜態路由和浮動默認路由結合的方法解決這一問題。
截止今天全球共存在約25萬條BGP匯總路由,但屬于電信(自治系統號4134)和聯通(自治系統號4837)的路由條目數聚合后數量并不大。根據在APNIC組織查到的數據,電信聚合路由只有981條,而聯通聚合路由更少,只有259條。
我們根據APNIC組織公布的聯通的全部259條靜態路由,在防火墻出口上制定了259條靜態路由條目指向聯通鏈路,并指定了兩條默認路由。
例如:ip route 58.17.128.0 255.255.128.0 192.168.0.1
ip route 58.17.160.0 255.255.252.0 192.168.0.1 ……(共259條)
ip route 0.0.0.0 0.0.0.0 192.168.0.2 preference 100
ip route 0.0.0.0 0.0.0.0 192.168.0.1 preference 1

圖1 聯通的259條匯總路由(部分)
這樣做的結果是,如果用戶訪問網站的域名經DNS解析后落在這259條聚合路由條目的范圍內,其訪問路徑會智能化的從聯通接口進入Internet,網站的回復報文自然會從聯通鏈路返回到用戶端;當用戶訪問的IP地址不在聯通的聚合路由中時,流量會經由preference值為1的默認路由條目,從電信鏈路轉發;當電信或聯通鏈路有一條中斷時,流量會從指向另一條鏈路的默認路由轉發。如此一來便實現了智能化的ISP流量負責分擔。
實際應用中可能還涉及到網絡地址轉換的具體配置,在此不作詳述。
Internet流量監控設計方案主要涉及兩個方面,一是對流量的深度檢測和帶寬控制,二是對用戶訪問的網站進行海量篩查。通過這兩個手段在主觀上或客觀上都能防止網絡用戶的不良行為導致網絡性能和安全性受到負面影響。
傳統的防火墻只能針對四層會話信息對報文進行過濾和篩查,如果遇到像Bittorrent這樣使用隨機端口,且報文頭部信息加密的數據報文是無法進行識別的,更談不上監管和限制了。
我們在網絡流量檢測和帶寬控制方面,應用以色列Allot公司的 NetEnforcer串接在防火墻與核心三層交換機之間。Allot NetEnforcer具備智能化的旁路功能,能夠在斷電或失效故障的情況下自動旁路,確保了不因為主干鏈路添加設備而增加故障點。
NetEnforcer的基本策略制定思路是:將系統數據庫預定義的和用戶自定義的各種數據流分類,然后放入各自的虛擬管道(virtual pipes)中,根據用戶指定的策略對各種數據流加以區別,分別分配不同的帶寬。同時系統還能夠根據這些不同分類方法統計出用戶鏈路上的數據流統計信息。現在流行的BT,edonkey和迅雷等浪費網絡帶寬的下載都可以得到有效的防范。

圖2 NetEnforcer的應用示例
NetEnforcer能夠識別的應用層協議包括11個大類近200種,囊括了Internet上可能出現的所有協議類型。舉例來說,如果管理人員想封堵Bittorent流量,可以新建一個通道,將通道的service屬性設為Bittorrent,如圖2所示。之后將這個通道的帶寬限制在較低水平,例如1M。當然管理員也可以選擇直接將這個通道的流量全部丟棄。
NetEnforcer的解決方案能夠使管理員在更小力度,更深層次進行網絡帶寬分配,并提供了大量的分析界面,將網絡上所有協按照各種分布條件進行圖形化的呈現。(圖3)
在網頁過濾方面,企業應用Websense內容過濾解決方案和Netscreen防火墻的聯動功能,所有外部訪問都要經過龐大且完備的Websense數據庫的篩查,杜絕了內網用戶訪問惡意網站的唯一途徑。
該功能的基本思路是,在防火墻內側部署Websense服務器(例如ip地址為10.116.2.191),Websense海量數據庫把目前存在的WWW網站分成大約90個主類,Websense服務器每天從Websense, Inc.網站下載并保存數據庫的更新版本。Websense服務器使用Websense主數據庫對因特網活動進行分類,供過濾和記錄。
與此同時在防火墻中運行命令:set url server 10.116.2.191 15868 10

圖3 NetEnforcer的圖形化界面
目的是使防火墻的url過濾功能指向Websense服務器。
舉例來說,用戶在瀏覽器中輸入www.sina.com.cn,站點的域名首先進行DNS解析,獲得站點ip地址后發起三次握手過程建立TCP連接,之后會發起一個Get/http動作。這時防火墻會智能化的掃描這個動作,然后在報文中找到“host:www.sina.com.cn/r/n”這個字串,并將這個字串中的url名送至websense進行查找。如果這個域名在放行列表中,則報文被轉發;如果用戶需要訪問網站的url在websense的禁止列表當中(默認的禁止列表囊括了當今數百萬條url域名中所有的成人內容、裸體、性、濫用藥物、MP3、賭博、游戲、黑客、非法的或有問題的、好戰性和極端主義、代理服務器避免(Proxy Avoidance)、URL翻譯網站、Web聊天、未分類的、種族主義和仇恨、不雅觀的、暴力和武器類別的網站,同時用戶還可以根據自身需求自定義一些禁止訪問的網站列表。),Websense服務器會通知防火墻丟棄這個報文,這樣用戶將無法訪問這個站點。用戶的非法訪問將被重新定向到一個提示網頁,告知用戶訪問非法。
網頁過濾的目的在于保護用戶訪問不良網站,凈化網絡環境,減少由外往帶入的不良信息、惡意軟件、以及病毒和木馬程序。
通過上文三種手段,企業有效地利用了Internet帶寬,平衡了不同ISP的鏈路流量,同時杜絕了內部用戶對于非法外部網站的訪問。應用整體Internet 訪問解決方案使得企業網絡訪問速度提升明顯,內部病毒和木馬程序大為減少,網絡環境得到了極大的凈化,網絡應用水平獲得極大的提升。
[1]Juniper Netscreen防火墻說明書,2007.
[2]蔡建新.《Cisco CCNP網絡工程師.》.北京:清華大學出版社,2005