筆者單位組織架構(gòu)進(jìn)行了調(diào)整,總部直接管理三級(jí)單位,取消了中間的二級(jí)單位。
與此同時(shí),為了解決組織架構(gòu)扁平化給總部帶來(lái)的管理難題,單位決定新上一套管理信息系統(tǒng),該系統(tǒng)采用了B/S架構(gòu),服務(wù)器架設(shè)在總部,各三級(jí)單位通過(guò)內(nèi)網(wǎng)直接訪問(wèn)服務(wù)器。
但目前單位的網(wǎng)絡(luò)存在著一個(gè)問(wèn)題:該內(nèi)網(wǎng)是VPN專(zhuān)網(wǎng),VPN設(shè)備配置為按層級(jí)聯(lián)通,即三級(jí)單位只能與二級(jí)單位通訊 ,二級(jí)單位只能與總部通訊。要部署新的管理信息系統(tǒng),必須解決三級(jí)單位與總部的通訊問(wèn)題。
最好的解決方法是調(diào)整VPN設(shè)備的設(shè)置,各三級(jí)單位直接和總部聯(lián)通。但經(jīng)測(cè)試后,發(fā)現(xiàn)該VPN設(shè)備性能有問(wèn)題,當(dāng)總部連接的VPN設(shè)備達(dá)到一定數(shù)量時(shí),會(huì)出現(xiàn)各種網(wǎng)絡(luò)中斷問(wèn)題,這種方法不可行。
還有一個(gè)辦法就是更換VPN設(shè)備,但需要大量的經(jīng)費(fèi),而且也不是短時(shí)間能解決的。
為解決燃眉之急,筆者想到了既然改變目前的網(wǎng)絡(luò)架構(gòu)不可行,那能否在二級(jí)單位對(duì)三級(jí)單位的通信進(jìn)行中轉(zhuǎn),間接實(shí)現(xiàn)三級(jí)單位對(duì)總部的通訊。
基于這個(gè)想法,經(jīng)研究,筆者在二級(jí)單位的服務(wù)器上安裝代理服務(wù)器軟件,各三級(jí)單位通過(guò)代理服務(wù)器訪問(wèn)總部,成功的解決了問(wèn)題。
代理服務(wù)器(Proxy Server)是介于瀏覽器和Web服務(wù)器之間的一臺(tái)服務(wù)器。其功能就是代理網(wǎng)絡(luò)用戶取得網(wǎng)絡(luò)信息,也就是說(shuō)它是網(wǎng)絡(luò)信息的中轉(zhuǎn)站。
代理服務(wù)器主要有三個(gè)作用:充當(dāng)防火墻、節(jié)省IP地址和提高訪問(wèn)速度。
在本案例中,主要應(yīng)用代理服務(wù)器的防火墻和提高速度的功能,通過(guò)代理服務(wù)器,將三級(jí)單位的IP地址映射為二級(jí)單位的IP地址,從而繞開(kāi)了VPN設(shè)備的限制。而且經(jīng)過(guò)代理服務(wù)器緩存后,降低了總部服務(wù)器的負(fù)載,提高了三級(jí)單位的訪問(wèn)速度。
常見(jiàn)代理服務(wù)器主要有以下類(lèi)型:HTTP代理、FTP代理、POP3代理、SOCKS代理。
在本案例中,新上線的信息系統(tǒng)是標(biāo)準(zhǔn)的WEB應(yīng)用,使用HTTP代理和SOCKS代理都可以達(dá)到目的,HTTP代理配置簡(jiǎn)單,SOCKS代理有性能優(yōu)勢(shì),考慮到用戶端的配置難度,本案例選擇了HTTP代理。
常用的代理服務(wù)器軟件有國(guó)外的 Squid、Sygate、WinGate,國(guó)內(nèi)的CCproxy等。這些軟件都支持HTTP代理,能滿足需求,考慮到軟件版權(quán)問(wèn)題,選用了開(kāi)源代理服務(wù)器軟件Squid。
Squid是一款高性能的代理服務(wù)器軟件,很多商業(yè)版本的代理服務(wù)器都是基于Squid進(jìn)行開(kāi)發(fā)的。Squid支持正向代理、反向代理等代理模式,支持HTTP、FTP和SSL等協(xié)議。Squid官方版只支持Unix/Linux,但一些愛(ài)好者提供了Windows的版本,擴(kuò)大了應(yīng)用面。
下面就以Squid 2.7 For Windows為例介紹Squid 的簡(jiǎn)單設(shè)置。Squid 2.7 For Windows是Squid常用的穩(wěn)定版本,最新的STABLE8版本發(fā)布于2010年3月,支持從Windows NT 4.0到Windows 2008 Server等版本的操作系統(tǒng)。具體安裝配置方法如下:
從http://squid.acmeconsulting.it/download/squid-2.7.STABLE8-bin.zip下載Squid安裝包,然后將安裝包解壓至C盤(pán)根目錄。
注意,Squid的默認(rèn)安裝目錄是C:squid,最好不要更改這個(gè)目錄,不然要大量修改配置文件,比較麻煩。
進(jìn)入C:squidetc文件夾,這個(gè)文件夾存放squid的配置文件。復(fù)制squid.conf.default并重命名為 squid.conf,復(fù) 制 mime.conf.default重命名為mime.conf,復(fù)制 cachemgr.conf.default并重命名為cachemgr.conf。
圖1 “連接”選項(xiàng)卡
使用記事本打開(kāi)squid.conf修改相關(guān)配置。squid.conf采用了常用的Linux配置方式,每一行從配置指令開(kāi)始,后面跟著數(shù)值或關(guān)鍵字。該文件中包含了大量以#開(kāi)頭的注釋。
注意,和windows下的習(xí)慣不一樣,squid.conf中的內(nèi)容是大小寫(xiě)敏感的。
使用查找功能查找http_access deny all行,修改為http_access allow all。此行定義允許所有IP地址的用戶通過(guò)squid訪問(wèn)HTTP端口,此處為方便開(kāi)放了所有地址,為提高安全等級(jí),可以定義詳細(xì)的訪問(wèn)控制策略。
其他用缺省值,保存文件。
進(jìn)入命令行cmd窗口,進(jìn)入C:squidsbin目錄,運(yùn)行以下命令。
C:squidsbin>squid-z
此命令生成緩存目錄,此命令只需運(yùn)行一次,下次啟動(dòng)squid時(shí)不用運(yùn)行。
C:squidsbin>squid-k parse
此命令分析squid.conf,如有配置錯(cuò)誤,則會(huì)提示錯(cuò)誤,如果沒(méi)有錯(cuò)誤信息則說(shuō)明配置文件無(wú)誤,可以啟動(dòng)squid。
C:squidsbin>squid-d1
以調(diào)試模式運(yùn)行squid,如在輸出的信息中看到Ready to serve requests,說(shuō)明服務(wù)運(yùn)行正常。
現(xiàn)在squid已經(jīng)可以提供服務(wù)了。下面以Internet Explore 8瀏覽器為例進(jìn)行配置,其他瀏覽器可以參考此設(shè)置。
打 開(kāi)IE8菜 單“工具-->Internet選項(xiàng)”彈出Internet選項(xiàng)配置窗口,選擇“連接”選項(xiàng)卡,如圖1。
點(diǎn)擊“局域網(wǎng)設(shè)置”,彈出“局域網(wǎng)(LAN)設(shè)置”窗口,如圖2。地址處輸入代理服務(wù)器地址,端口為squid默認(rèn)的3128。如果要設(shè)置訪問(wèn)本地地址的服務(wù)器時(shí)不使用代理服務(wù)器,選中“跳過(guò)本地地址的代理服務(wù)器”,然后“高級(jí)”中具體配置即可。
以上的配置只是squid的簡(jiǎn)單應(yīng)用,僅供測(cè)試用。如果正式部署使用,還應(yīng)在squid.conf中修改一些配置,設(shè)置緩存大小,緩存目錄、日志目錄等參數(shù)。具體如下:
1.為防止C盤(pán)空間不足,影響windows運(yùn)行,將緩存文件和日志文件存放到C盤(pán)以外的其他磁盤(pán)。本案例建立d:squidvar目錄,在var目錄下建立logs和cache目錄,其中l(wèi)ogs目錄用于存放日志,cache目錄用于存放硬盤(pán)緩存數(shù)據(jù)。
2.查找# cache_mem 8 MB,修改為 cache_mem 1024 MB。此行定義緩存Squid使用1G內(nèi)存作為緩存,該參數(shù)應(yīng)在內(nèi)存允許的情況下盡量地設(shè)置的大一些以提高代理服務(wù)器性能。
圖2 “局域網(wǎng)(LAN)設(shè)置”窗口
此行設(shè)置cache_dir地址和磁盤(pán)緩存參數(shù),第一個(gè)數(shù)字參數(shù)不能小于cache_mem設(shè)置的大小,否則運(yùn)行squid-z時(shí)會(huì)有警告信息“WARNING cache_mem is larger than total disk cache space!”。
ufs是squid的一種存儲(chǔ)格式,d:/squid/var/cache是緩存目錄,2048表示使用2G磁盤(pán)空間作為緩存,16,256表示第一級(jí)和第二級(jí)目錄的數(shù)量。
如果修改了此行參數(shù)需運(yùn)行squid-z來(lái)重新生成緩存目錄。
此行設(shè)置客戶端訪問(wèn)代理服務(wù)器的日志文件為d:/squid/var/logs/access.log,日志格式為squid。該日志記錄了代理服務(wù)器的活動(dòng)情況,包含所有的HTTP或者ICP請(qǐng)求。
此行設(shè)置緩存狀態(tài)日志文件為d:/squid/var/logs/cache.log。
此行設(shè)置存儲(chǔ)緩沖對(duì)象的狀態(tài)日志文件為d:/squid/var/logs/store.log。
7.在Windows下,可將squid安裝為服務(wù),啟動(dòng)自動(dòng)運(yùn)行命令:
9.Squid自帶客戶端管理工具,可查看squid服務(wù)器的詳細(xì)運(yùn)行信息和管理squid服務(wù)器,在維護(hù)中有很大的作用,常見(jiàn)命令為:C:squidin>squidclient mgr:info
此命令可查看Squid運(yùn)行狀態(tài)信息
此命令可查看Squid內(nèi)存使用情況
此命令可以清除某個(gè)指定url的緩存。