孫偉平 張 延
(1.鄭州大學西亞斯國際學院 河南 鄭州 451150;2.鄭州城市職業(yè)學院 河南 鄭州 452370)
目前高校的網絡接入一般都是雙線接入,作為高等院校來說教育網是必須接入的,另外一條根據實際情況可以選擇聯(lián)通或電信。學校內部放置了一些提供對外服務的網站,如果把這些網站放置在教育網線路上那么對于教育網用戶來說訪問速度比較快,而對于其它用戶來說訪問較慢,如果把網站放置到非教育網線路上那么教育網用戶訪問又會感覺慢,最好的方法就是教育網用戶訪問走教育網線路,非教育網用戶訪問走另外一條線路。利用智能DNS和反向代理可以很好的解決網站雙線訪問的難題。
1.1 可以用BGP協(xié)議實現(xiàn)單IP的雙線訪問,也就是服務器上只配制一個IP地址就可以實現(xiàn)網站的雙線訪問。這種辦法固然不錯,但實現(xiàn)起來成本高,且比較麻煩。因為首先需要購買一臺價格昂貴的BGP路由器,另外還需要CNNIC(中國互聯(lián)網信息中心)申請專用的IP段和和AS號(自治系統(tǒng)號),所以對于普通高校來說這種方法顯然不合適。
1.2 就是在一臺服務器上安裝雙網卡,每個網卡配置一個IP地址,然后在服務器上做策略路由。這種方法依懶于智能DNS的解析,例如教育網用戶訪問網站時DNS服務器解析出教育網的IP,聯(lián)通用戶訪問網站時DNS服務器解析出聯(lián)通IP地址,這其實在一種理想的狀態(tài)下是沒問題的。智能DNS判斷用戶是教育網用戶和聯(lián)通用戶取決于用戶電腦所配置的DNS地址。如果教育網用戶的電腦配置的是聯(lián)通的DNS地址那么在通過智能DNS解析時解析出來的就是聯(lián)通線路的IP地址。這個時候在訪問網站時就出現(xiàn)問題了,教育網用戶會通過聯(lián)通的IP去訪問網站,當服務器收到請求后在返回數(shù)據包時會通過策略路由判斷出目的IP是教育網IP,這時候數(shù)據包就從教育網線路出去了,我們會發(fā)現(xiàn)數(shù)據包進來和出去不是走的同一條線路,這個時候網站就無法訪問。所以說一個服務器上通過雙網卡配置兩個IP來實現(xiàn)網站雙線訪問是很不穩(wěn)定的。
1.3 通過我們的綜合比較和測試找出了一種比較完美的解決方案。例如我校網絡是教育網和聯(lián)通雙線接入,為了充分發(fā)揮網站的訪問速度,使不同的訪問用戶走不同的線路,我們可以利用智能DNS+反向代理來實現(xiàn),我們先來了解一下什么是反向代理。反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發(fā)給內部網絡上的Web服務器,并將從Web服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現(xiàn)為一臺Web服務器。常用的反向代理服務器軟件有squid和 nginx。
如上圖,我們通過BIND來實現(xiàn)DNS的智能解析,教育網用戶訪問網站時解析出教育網IP,其它用戶訪問網站時解析出聯(lián)通的IP地址,其實實現(xiàn)智能DNS我們可以購買商用智能DNS解析服務器,但是價格比較昂貴,我們完全可以用LINUX系統(tǒng)下免費的BIND來實現(xiàn)DNS的智能解析,BIND是linux系統(tǒng)下一款開源的DNS軟件,很多大公司都在使用非常穩(wěn)定,完全可以取代商業(yè)化的DNS設備。
我們在教育網線路下放置一臺WEB服務器,使教育網用戶可能直接訪問。在聯(lián)通線路上放置的是一臺反向代理+WEB緩存服務器,非教育網用戶訪問網站時通過反向代理服務器進行訪問,我們之所以不在聯(lián)通線路下放置一臺和教育網線路下一模一樣的服務器是因為這樣不僅可以避免兩臺服務器在文件更新時數(shù)據同步的麻煩也避免了解決在不同服務器之間session共享的麻煩,在反向代理服務器上開啟緩存功能還可以大大提高網站的訪問速度。
2.1 智能 DNS配置
2.2 配制反向代理服務器,這里使用squid
1)squid.conf配置文件內容
#設置代理服務器名稱
2)配置/etc/hosts文件,內容如下
高等學校網站是學校對外進行宣傳的一個平臺,其訪問速度非常重要,通過智能DNS+反向代理好可以很好的解決高校網站雙線訪問的問題,不僅分擔了鏈路的流量也提高了網站的訪問速度,為宣傳學校構建信息化校園起到了關鍵作用。
[1]Paul Albitz&Cricket Liu.DNS and Bind,Third Edition[M].雷迎春,陳世林,楊傳軍,譯.中國電力出版社,2000.
[2]林天峰,等,編著.Linux服務器架設指南[M].清華大學出版社,2010.