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