无线技术在Linux操作系统中的应用

随着 Wi-Fi 的普及 , Linux 也已加入这一行列 。在本文中 , Roman Vichr 阐述了 Linux 如何为很多无线工具和项目提供帮助 —— 同时得到这些工具的帮助 。

Linux —— 这个通用的、稳定的、可扩展的、多变的而且有竞争力的平台已经走向了无线 。从支持无线访问的桌面机和服务器到无线接入系统 , 它正成为几乎所有一切的通用工具 , 而且已经在无线解决方案中占据了一席之地 。深入了解 Linux 正在对无线网络进行怎样的促进 。
Linux 无线接入点:构建还是购买?
基本的问题是:Linux 系统是否有能力与无线网络中的其他接入点相结合 , 来为固定节点和漫游的无线客户机提供连接?
无线 LAN 的实际安装并不那么重要;关键取决于您购买的是什么 , 以及它在 Linux 系统下是否得到了支持 。检查并确保您拥有用于特定操作系统驱动程序的硬件 。紧记 , 如果您想要得到的是高性能(也就是说 , gigabit 的数据传输速度) , 那么对您来说选择无线就是错误的;即便是最新的标准 , 提供的传输速度也不到 100 Mbps 。漫游提出了另一个挑战:维持不同接入点之间的连接 。为了帮助实现这一目的 , 要设置有线等效加密(Wired Equivalent Privacy , WEP)键 , 以检测您可以连接到的接入点 。记住 , 实际地讲 , 接入点的主要用途是成为一个桥梁;也就是说 , 它应该将数据包自一个网络路由到另一个网络 。
本文所关注的是用于管理这些接入点的各种选项和工具 。基本来讲 , 您是要选择是否通过 无线扩展(wireless extensions) 来使用工具 。(无线扩展是一个普通 API 的名称 , 它允许驱动程序告知用户关于常见无线 LAN 的空间结构和统计细节 。)要获得在 Linux 下安装接入点软件的详尽步骤指南 , 请阅读文章 在 Linux 上构建无线接入点 。要对无线网络结构以及 LAN 和 WLAN 之间的桥梁有一个充分的纵览 , 请阅读 Linux Wireless Access Point HOWTO
不使用无线扩展
有一些技术不使用无线扩展就可以帮您建立 Linux 无线网络 , 包括 Linux-IrDa 和 BlueZ , 后者也就是 Linux Bluetooth 栈 。在 Linux 无线网络技术 中有对此两者的详尽描述 。另一个选择是 ROSE(Radionet Open Source Environment;参阅 参考资料 以获得更多信息) , 这是一个用来构建 802.11 无线接入点的平台 。ROSE 的优势在于它可以针对任何平台(例如 MIPS、x86、ARM、PowerPC)进行编译 。得到支持的 WLAN 卡是基于 Intersil Prism Chipset 2/2.5/3 的 。它还提供了对 5 GHz 频率的支持 。下面是附加的 ROSE 特性:
接入点开发工具包
【无线技术在Linux操作系统中的应用】802.11 协议和安全、MAC 地址过滤、IPv4 路由、防火墙、RADIUS、QoS、桥、NAT、DHCP 。802.11a/g/h 等另外的驱动程序也得到了支持 。
为了良好的支持和可维护性 , ROSE 编译器用 Python 编写(与可用的 C 编译器 gzip 一道 , 附带标准 Python 库的 Python 语言版本 2.x —— 2.1 和 2.2 已经经过了测试) 。
基本上 , 使用 ROSE(及 Linux 2.4 内核)和基于 802.11 Intersil Prism 的 WLAN 卡 , 您就可以构建一个基于 Linux 的无线接入点 。
选择无线扩展
无线扩展的优点在于 , 单一的一组工具就可以支持所有种类的无线 LAN , 不管它们的类型如何(只要硬件驱动程序支持无线扩展) 。另一个优势是 , 这些参数不需要重新启动驱动程序(或 Linux)就可以在使用过程中进行修改 。
操作无线扩展的一组 Linux 工具通常被称为 无线工具 。它们使用文本界面 , 而且非常简单 。在 Linux 实现中使用的主要有:
iwconfig:操作基本的无线参数 。
iwlist:初始化扫描频率、列表频率、比特率和密钥 。

推荐阅读