在農(nóng)村中小學(xué)校園網(wǎng)的建設(shè)中,成本、效率、安全性、先進(jìn)性、實用性等指標(biāo)是建網(wǎng)方案中最重要的考量指標(biāo)。一臺普通服務(wù)器加Linux操作系統(tǒng)組成一個網(wǎng)關(guān)型服務(wù)器就可以滿足這眾多需求。它可提供路由、防火墻、NET功能,還可同時充當(dāng)web、FTP、電子郵件、數(shù)據(jù)庫、文件共享服務(wù)器,滿足教學(xué)需求的同時為校園網(wǎng)建設(shè)減少開支。
農(nóng)村中小學(xué)校園網(wǎng)建設(shè)目標(biāo)及需求分析
根據(jù)2001年教育部下發(fā)的教基廳C2001]16號文《教育部辦公廳關(guān)于中小學(xué)校園網(wǎng)建設(shè)的指導(dǎo)意見》,校園網(wǎng)絡(luò)系統(tǒng)的設(shè)計應(yīng)采用國際通行的TCP/IP協(xié)議,同時滿足以下要求:先進(jìn)性、實用性、開放性、靈活性、發(fā)展性、可靠性、安全性、經(jīng)濟(jì)性。
基于Linux網(wǎng)關(guān)服務(wù)器的拓?fù)鋱D分析
我們先來看一個普通校園網(wǎng)拓?fù)鋱D。
通過對比可以看出,后者僅采用一臺服務(wù)器就可以節(jié)省防火墻、路由器以及多個應(yīng)用服務(wù)器,經(jīng)濟(jì)性原則被很好地體現(xiàn)出來了。那么,能否滿足實用性的原則呢?是不是多種服務(wù)集中在一臺機(jī)器上以后,性能將會降低呢?對這臺服務(wù)器的配置要求會不會很高呢?這些問題能夠很好地得以解決,最終歸功于采用的操作系統(tǒng)Linux。
選擇Linux版本
現(xiàn)在有很多免費的Linux版本可供選擇,Linux新手可以在其中選擇一個版本,通過簡單的安裝就能輕松地構(gòu)建自己的系統(tǒng)。但是如果你想真正在服務(wù)器上完全發(fā)揮出Linux的效能就應(yīng)該進(jìn)行手動配置、編譯內(nèi)核并精心選擇應(yīng)用軟件。有一個被稱為“Linux From Scratch”的項目,為Linux初學(xué)者提供了一本手冊。按照該手冊,人們可以從零起步編譯出一個基本的系統(tǒng),還可以根據(jù)各種軟件的依賴關(guān)系編譯出自己的應(yīng)用環(huán)境,如:圖形界面、服務(wù)器應(yīng)用軟件、數(shù)據(jù)庫軟件等。因為是直接根據(jù)用戶的具體硬件和應(yīng)用環(huán)境而對系統(tǒng)進(jìn)行配置編譯,所以能提供最快、最小的Linux系統(tǒng),并且創(chuàng)建的Linux系統(tǒng)非常緊湊。
實驗環(huán)境中硬件配置
1 服務(wù)器硬件配置
浪潮英信NP 7 0R服務(wù)器,支持通電開機(jī)、遠(yuǎn)程喚醒功能(路由器必備功能)。采用奔騰4 2.4G的CPU,512M內(nèi)存,120G硬盤,千兆+百兆雙網(wǎng)卡,所有的功能均在該機(jī)上實現(xiàn)。
2 核心交換機(jī)
為保證擴(kuò)展性,核心交換機(jī)可選用普通千兆交換機(jī),這樣升級千兆網(wǎng)時僅需要更新各個部門的百兆交換機(jī)就可以了。同時因為所有的路由功能都交給了Linux服務(wù)器,所以不必選擇昂貴的三層交換機(jī),這里采用在淘寶網(wǎng)中380元淘到的一臺二手TPLINK進(jìn)行架設(shè)。
3 網(wǎng)卡選擇
服務(wù)器性能的關(guān)鍵因素就是網(wǎng)卡,一般優(yōu)先選用名牌網(wǎng)卡。網(wǎng)絡(luò)的“瓶頸”大多在視頻數(shù)據(jù)的突發(fā)傳輸中,舉例說:“班班通”工程要求每個班級都采用多媒體來上課,一個農(nóng)村中學(xué)現(xiàn)在可按照20個班級來計算,每個班級都以10M的速度來開視頻,這樣總帶寬可達(dá)到200M左右,超過百兆網(wǎng)卡的承載能力。LinuX中有網(wǎng)卡綁定功能,可以將多個網(wǎng)卡“綁”在一起增加帶寬,從而很好地解決這個問題,而不需要徹底更換設(shè)備。
服務(wù)器軟件包的選擇與簡介
Linux中有很多版本的軟件可供選擇,如何選擇適合校園網(wǎng)使用的軟件呢?我認(rèn)為應(yīng)具備高穩(wěn)定性、使用簡單、速度快。有些軟件是針對專業(yè)應(yīng)用的,這樣的軟件對硬件要求高。我們需要分析一下校園網(wǎng)中用戶群體的情況:例如web服務(wù)針對全校師生以及家長,根據(jù)學(xué)校人數(shù)可大體推算出一所普通農(nóng)村學(xué)校峰值在線人數(shù)不超過2000人,這樣的應(yīng)用需求在Linux中是很容易做到的。
1.Web服務(wù)器軟件
采用“Nginx+PHP(FastCGI)”構(gòu)建,數(shù)據(jù)庫軟件采用MySQL。Nginx是一個高性能的HTTP和反向代理服務(wù)器,也是一個IMAP/POP3/SMTP代理服務(wù)器。Nginx是由Igor Sysoev為俄羅斯訪問量第二的Rambler.ru站點開發(fā)的。Nginx超越Apache的高性能和穩(wěn)定性,使得國內(nèi)使用Nginx作為web服務(wù)器的網(wǎng)站也越來越多,其中包括新浪博客、新浪播客、網(wǎng)易新聞等門戶網(wǎng)站頻道。在高并發(fā)連接的情況下,Nginx是Apache服務(wù)器不錯的替代品。Nginx 0.7.5 1+PHP 5.2.8(FastCGI)可以承受3萬以上的并發(fā)連接數(shù),相當(dāng)于同等環(huán)境下Apa che的10倍。在3萬并發(fā)連接下,開啟的10個Nginx進(jìn)程消耗150M內(nèi)存(15M*10=150M),開啟的64個php-cgi進(jìn)程消耗1280M內(nèi)存(20M.64=1280M),加上系統(tǒng)自身消耗的內(nèi)存,總共消耗不到2GB內(nèi)存。校園服務(wù)器開啟5個php-cgi進(jìn)程和5個Nginx進(jìn)程就可以滿足2000多人同時在線,這樣消耗的總內(nèi)存數(shù)不到200M,滿足高性能、低配置的要求。
2.代理服務(wù)器Squid
學(xué)生上網(wǎng)管理一直是教師頭痛的事情,也是微機(jī)室開放給學(xué)生后急需解決的事情,主要有以下幾個需要解決的難題:首先是不良網(wǎng)站的過濾,其次是帶寬占用的問題。可以想象,當(dāng)教學(xué)進(jìn)行到某個章節(jié)需要訪問某個站點時,全地區(qū)乃至全省可能在同一時間段內(nèi)大量訪問該網(wǎng)址,肯定會給這個網(wǎng)站造成很大壓力,如果學(xué)校能夠?qū)⒃摼W(wǎng)站進(jìn)行代理,就可大大減少鏈接數(shù),提高訪問速度。
Squid是一個緩存Internet數(shù)據(jù)的一個軟件,它接收用戶的下載申請,并自動處理所下載的數(shù)據(jù)。也就是說,當(dāng)一個用戶要下載一個主頁時,它向Squid發(fā)出一個申請,要Squid替它下載,然后Squid連接所申請網(wǎng)站并請求該主頁,接著把該主頁傳給用戶同時保留一個備份,當(dāng)別的用戶申請同樣的頁面時,Squid把保存的備份立即傳給用戶,使用戶覺得速度相當(dāng)快。在教學(xué)中完全可以達(dá)到內(nèi)網(wǎng)級別的訪問速度。
在訪問控制方面,Squid支持IP過濾、域名過濾、內(nèi)容過濾、時段規(guī)則等,完全能將學(xué)生訪問的范圍規(guī)劃到安全范圍之內(nèi),杜絕不良網(wǎng)站的侵襲。
3.防火墻IPTables
IpTalbes是用來設(shè)置、維護(hù)和檢查Linux內(nèi)核的IP包過濾規(guī)則的,需要在編譯內(nèi)核時將相關(guān)選項打開并編譯進(jìn)內(nèi)核,作為組件存在。netfilter組件也稱為內(nèi)核空間(kernelspace),是內(nèi)核的一部分,提供了有狀態(tài)的或無狀態(tài)的分組過濾,還提供了NAT和IP偽裝服務(wù)。netfilter還具備為高級選路和連接狀態(tài)管理而變形(mangle)IP頭信息的能力。netfilter是通過IPTables工具來控制的。netfilter的強(qiáng)大功能和靈活性可以通過IP-Tables界面來實現(xiàn)的。IPTables只在一個命令行界面中就包括了更先進(jìn)的記錄方式、選路前和選路后的行動、網(wǎng)絡(luò)地址轉(zhuǎn)換以及端口轉(zhuǎn)發(fā)等,其功能可與專業(yè)級防火墻相媲美。
4.網(wǎng)絡(luò)監(jiān)控軟件IPTraf
IPTraf是一個IP網(wǎng)絡(luò)監(jiān)控工具。它攔截網(wǎng)絡(luò)上的報文,給出報文各個部分的信息。IPTraf能夠返回的信息包括:IP、TCP、UDP、ICMP報文總數(shù)和非IP字節(jié)數(shù),TCP連接的源/目的地址和源/目的端口,TCP報文數(shù)和字節(jié)數(shù),TCP標(biāo)志狀態(tài),UDP源/目的信息,ICMP類型信息,OSPF源/目的信息,TcP和uDP服務(wù)統(tǒng)值,網(wǎng)絡(luò)接口報文計數(shù),網(wǎng)絡(luò)接口IP校驗和錯誤數(shù)目,網(wǎng)絡(luò)接口活動指示器。IPTraf采用非駐留方式運行,不占用系統(tǒng)資源,在網(wǎng)絡(luò)發(fā)生異常時運行該軟件,能幫助網(wǎng)管員查找問題。
運用效能分析
我校采用上述浪潮NP70R服務(wù)器作為網(wǎng)關(guān),內(nèi)網(wǎng)采用千兆網(wǎng)卡通過Samba軟件為教師、學(xué)生提供文件共享服務(wù);雙百兆網(wǎng)卡綁定提供網(wǎng)關(guān)服務(wù)和內(nèi)網(wǎng)WEB、FTP應(yīng)用,外網(wǎng)百兆網(wǎng)卡通過租用線路與上級主管部門相連。
測試中,50臺學(xué)生機(jī)和24臺教師機(jī)通過代理任意上網(wǎng),5個“班班通”微機(jī)播放服務(wù)器上的視頻文件,全部IP啟用NET轉(zhuǎn)發(fā)包過濾功能。校園網(wǎng)中兄弟學(xué)校開通3000鏈接數(shù)的wEB壓力測試后,在top命令中監(jiān)控到:CPU平均占用不到10%,內(nèi)存占用420M左右。所有用戶感覺使用很順暢,沒有卡路的現(xiàn)象,能夠滿足實際需要。
(作者單位:山東煙臺萊陽市萬第中心初級中