使用Linux高效構(gòu)建無(wú)線網(wǎng)關(guān)/防火墻(2)
使用Linux升級(jí)無(wú)線網(wǎng)
當(dāng)時(shí),新一代無(wú)線局域網(wǎng)協(xié)議IEEE802.11b尚未發(fā)布,市場(chǎng)上有多種標(biāo)稱速率在8Mbps至12Mbps的無(wú)線網(wǎng)絡(luò)產(chǎn)品,大多是基于專有協(xié)議。我們對(duì)其中的5種產(chǎn)品進(jìn)行了現(xiàn)場(chǎng)測(cè)試。測(cè)試方法是兩端使用兩臺(tái)筆記本電腦,都安裝Windows 98,一端安裝Server U 2.4 FTP服務(wù)器軟件,另一端使用Windows 98自帶的命令行ftp程序進(jìn)行連接,多次下載20MB的文件。經(jīng)測(cè)試,沒(méi)有一家的產(chǎn)品傳輸速率在500KBps以上。而且有些產(chǎn)品隨距離增加傳輸速率迅速衰減。經(jīng)過(guò)比較,我們選擇了Lucent公司的WaveLan IEEE。在7km的距離上,WaveLan IEEE的FTP實(shí)測(cè)速率可達(dá)400KBps左右,約為傳統(tǒng)有線10兆以太網(wǎng)的二分之一(原因見(jiàn)后文"方興未艾的無(wú)線網(wǎng)絡(luò)技術(shù)"),隨距離增大信號(hào)衰減不明顯。而且,由于Lucent是即將出臺(tái)802.11b的主要制訂者之一,WaveLan IEEE已經(jīng)事實(shí)上支持了這個(gè)標(biāo)準(zhǔn),為我們提供了可擴(kuò)展性。
廠家建議的方案是使用兩個(gè)WavePointⅡAP專用無(wú)線網(wǎng)橋,各插一塊WaveLan IEEE PCMCIA卡,兩端通過(guò)饋線連接高增益天線對(duì)連。網(wǎng)橋可配置為工作在下兩層,不需要單獨(dú)的網(wǎng)段。因?yàn)閃avePointⅡAP價(jià)格較高而WavaLan IEEE PCMCIA支持多種系統(tǒng),我們開(kāi)始探討使用PC機(jī)代替專用無(wú)線網(wǎng)關(guān)的可能性。經(jīng)過(guò)調(diào)查,發(fā)現(xiàn)在臺(tái)式機(jī)上使用ISA橋接卡轉(zhuǎn)接即可使用WavaLan IEEE PCMCIA卡。在廠商的配合下,經(jīng)過(guò)實(shí)驗(yàn),我們成功地實(shí)現(xiàn)了用兩臺(tái)Linux機(jī)器作為無(wú)線網(wǎng)關(guān),并發(fā)現(xiàn)這種方案的效率要比使用兩臺(tái)WavePointⅡAP略高。而且這樣還免去了根據(jù)計(jì)劃要在網(wǎng)絡(luò)中再增加Linux防火墻的麻煩,可以直接把無(wú)線網(wǎng)關(guān)配置為防火墻。但由于WavePointⅡAP具有管理程序可供實(shí)時(shí)查看信道情況,有助于我們的管理,且安裝也比較簡(jiǎn)單,我們最終采用了一個(gè)WavePointⅡAP和一臺(tái)Linux機(jī)器。我們選擇將無(wú)線網(wǎng)的Linux網(wǎng)關(guān)安裝在辦公樓一端,主要是基于如下考慮:訪問(wèn)流量以進(jìn)入方向?yàn)橹,而網(wǎng)絡(luò)速度是有線以太網(wǎng)較快,這樣可以減弱啟用IPChains對(duì)網(wǎng)絡(luò)速度帶來(lái)的影響。事實(shí)證明,后來(lái)啟用IPChains(約30條規(guī)則)效率非常高,沒(méi)有對(duì)網(wǎng)絡(luò)速度產(chǎn)生影響。其次,是最大保護(hù)原則,這樣可以保護(hù)包括WavePointⅡAP在內(nèi)的盡量多的設(shè)備。
我們采用了RedHat Linux 6.0,內(nèi)核版本為2.2.5。Lucent僅以二進(jìn)制可執(zhí)行模塊和庫(kù)的方式提供了Linux的驅(qū)動(dòng)程序,非GPL授權(quán)。當(dāng)時(shí)網(wǎng)上已經(jīng)有了由志愿者開(kāi)發(fā)的GPL版本,但尚處在早期測(cè)試階段,功能支持不完善,我們未予采用。由于是在臺(tái)式機(jī)上安裝PCMCIA設(shè)備,我們需要配置含PCMCIA支持,而Linux 2.2.5內(nèi)核中沒(méi)有包括這一部分,于是我們選擇下載了最新的PCMCIA支持包,并進(jìn)行編譯安裝。
在編譯之前要先把WaveLan IEEE的驅(qū)動(dòng)程序放入PCMCIA 卡服務(wù)程序源代碼中,假設(shè)PCMCIA 卡服務(wù)程序源代碼目錄與WaveLan IEEE的驅(qū)動(dòng)程序的打包文件出于同一目錄中,則執(zhí)行如下操作。
|
這時(shí)PCMCIA支持包已經(jīng)編譯安裝完畢,需要再對(duì)無(wú)線網(wǎng)卡的IP參數(shù)進(jìn)行配置。因?yàn)闊o(wú)線網(wǎng)卡的驅(qū)動(dòng)識(shí)別和載入實(shí)在PCMCIA卡服務(wù)程序啟動(dòng)之后發(fā)生的,不同于編譯到內(nèi)核中或以內(nèi)核模塊方式載入驅(qū)動(dòng)的普通以太網(wǎng)卡,因此需要在PCMCIA卡服務(wù)程序的配置文件中指定網(wǎng)卡的IP設(shè)置。首先,編輯/etc/pcmcia/config.opts,加入如下一行。
|
這里的wirelessrouter是無(wú)線網(wǎng)的網(wǎng)絡(luò)代號(hào)。這里也可以使用對(duì)等模式,參見(jiàn)無(wú)線網(wǎng)卡驅(qū)動(dòng)程序的說(shuō)明文件。然后,再編輯/etc/pcmcia/network.opts,設(shè)置網(wǎng)絡(luò)參數(shù)。
|
這時(shí)就可以啟動(dòng)PCMCIA卡服務(wù)程序了。
|
此時(shí)如果聽(tīng)到"嘟"一聲,說(shuō)明設(shè)備已被識(shí)別。
另一端的無(wú)線網(wǎng)橋也需要經(jīng)過(guò)簡(jiǎn)單地配置,首先根據(jù)說(shuō)明書將一臺(tái)PC機(jī)的IP設(shè)為與網(wǎng)橋的默認(rèn)IP在同一個(gè)網(wǎng)段,然后運(yùn)行網(wǎng)橋的配置管理程序。對(duì)網(wǎng)橋的配置進(jìn)行修改,將網(wǎng)絡(luò)代號(hào)填為與Linux配置文件中一致。這里要注意的是,雖然WavePoint Ⅱ AP行使網(wǎng)橋的功能,但并不妨礙為其分配IP,否則將無(wú)法通過(guò)網(wǎng)絡(luò)進(jìn)行管理。
隨后就是各級(jí)路由的設(shè)定,為了達(dá)到節(jié)省IP的目的,我們把163.215.120.224/27網(wǎng)絡(luò)分為兩個(gè)子網(wǎng)分別為163.215.120.224/28和163.215.120.240/16。將連接無(wú)線網(wǎng)關(guān)的900EF的IP地址改為163.215.120.239,將Linux以太網(wǎng)卡的IP改為163.215.120.238,無(wú)線網(wǎng)卡的IP則與另一端的IBM8274的出口端口設(shè)在一個(gè)網(wǎng)段。這樣便節(jié)省出了163.215.121.x和163.215.154.x這兩個(gè)網(wǎng)段。最后,逐一進(jìn)行各級(jí)的三層以上設(shè)備的靜態(tài)路由設(shè)置,實(shí)現(xiàn)網(wǎng)絡(luò)的全線貫通。