使用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这两个网段。最后,逐一进行各级的三层以上设备的静态路由设置,实现网络的全线贯通。