分类: LINUX
2006-09-20 18:55:54
随 Linux 自由驰骋多种帮助开始使用无线 Linux 的工具和项目 |
级别: 初级 Roman Vichr, 学科问题专家 2004 年 8 月 02 日 随着 Wi-Fi 的普及,Linux 也已加入这一行列。在本文中,Roman Vichr 阐述了 Linux 如何为很多无线工具和项目提供帮助 —— 同时得到这些工具的帮助。 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 特性:
基本上,使用 ROSE(及 Linux 2.4 内核)和基于 802.11 Intersil Prism 的 WLAN 卡,您就可以构建一个基于 Linux 的 无线接入点。 无线扩展的优点在于,单一的一组工具就可以支持所有种类的无线 LAN,不管它们的类型如何(只要硬件驱动程序支持无线 扩展)。另一个优势是,这些参数不需要重新启动驱动程序(或 Linux)就可以在使用过程中进行修改。 操作无线扩展的一组 Linux 工具通常被称为 无线工具。它们使用文本界面,而且非常简单。在 Linux 实现中使用的 主要有:
现在来看一些工具,它们为用于管理 Wi-Fi 的另外的管理工具提供了更为友好的用户前端。您将在 参考资料部分找到所有这些工具的链接。
KWiFiManager 是一个用于在 Linux 上 KDE 环境中配置和监控您的无线 LAN PC 卡的工具;
工具本身是为 3.x 版本的 KDE 所编写的。它使用了 Linux 内核无线扩展,所以大部分无线卡
都得到了
KWiFiManager 以 RPM 程序包的形式发行;不过,有一些安装的先决条件。这些先决条件是 Qt 工具包(版本 3.0.3 以上)、KDE 3.x 和 glibc2.2。这些程序包都具备后,标准的
Glink 是一个针对 802.11b 卡(这种卡使用带无线扩展的 Linux 内核)的链路监控器和配置器,大致上相当于 GNOME 中的 KWiFiManager 工具。
APHunter 用 Perl 编写,可以在一个文本文件中给出一次
这个工具需要带无线扩展的 Linux 内核。此工具需要一个 C 库来编译,当然,是使用 (g)make 来安装。(在 BSD 中,
为了进行安装您将需要添加额外的头文件:
当在 Linux 平台上部署无线时,使用 Linux 驱动程序的不同的卡之间的协同工作能力是需要考虑的一个重要事项。 您还应该确保不同硬件部分本身的协同工作能力;它们全部都应该理解相同频谱内彼此的信号。不要忘记,看起来类似的产品, 可能并不具备协同工作能力。例如,802.11 和 802.11-FH 产品不能与 802.11-DS 产品协同工作,反之亦然。 考虑到一些产品可能得到支持的同时而同一牌子的其他产品却有可能得不到支持, 不同的无线产品中多种芯片组的使用可能会是一个挑战。有时,即使是相同型号编号的卡所用的也可能是不同的芯片组, 这就导致难以判断一个卡是否可以得到 Linux 的支持。不过,大部分可用的 802.11b 卡所使用的都是 Intersil PrismII 芯片组,这个芯片组得到了 Linux 很好的支持。 802.11b 规范只是 802.11-DS 的一个扩展,它提高了速度,但是在任何情况下,两者产品都可以在至少为 2 Mbs (802.11-DS 模式)的速度下进行协同工作。802.11g 标准是 802.11b 非直接扩展;它的目的是在频率不变的条件下 增加带宽。 当您试图使 802.11a 产品协同工作时(频率为 5 GHz),要明白它们只能与基于完全相同的芯片组的产品 协同工作,而不能与 802.11b 产品直接协同工作,除非您有一个既可用于 802.11b 又可用于 802.11a 的设备。 要完全回顾 Wi-Fi 频率和标准的协同工作能力,请阅读 The 802.11g standard -- IEEE和 The ABCs of 802.11。 当考虑您的 Linux 无线设备驱动程序时,不要忘记,那个驱动程序不会总是实现相应的 Window 驱动程序的全部特性。 这会限制协同工作的能力。在 Linux 上,安全特性尤其容易落后。下一节介绍了关于增强和管理的一些详细资料。
为了使无线网络能够具备灵活性并确保安全,已经发起了一些计划,例如 Wireless FreeNetwork Allocations 和 NodeDB.com(参阅 参考资料 以获得更多信息)。基本上这些都是人们可以在这里 列出他们关于接入点或固定客户机连接的位置和信息的站点,这样其他人就可以基于一个地理目录服务方便地对自己 进行定位。 Linux 的灵魂 —— 它的开放、用户即所有者和管理者的精神 —— 在一些无线计划中产生了影响,不管 Linux 是否确实是 那个解决方案的一部分。在一些计划中,如 NodeDB.com,Linux 只是平台之一。在 WIANA 和 NoCatAuth 计划中,它是 计划的骨干,因为它具备在操作系统层级上(也就是在接入点层级上)让用户定制权限的能力。 Wireless Assigned Numbers Authority 也被称为 WIANA 计划(参阅 参考资料 以获得更多信息), 它尝试创建一个用于无线地址管理的结构。传统的 IP 地址注册表依赖于一个静态的分等级结构,这并不能满足无线应用。 WIANA 必须处理无线网络的特殊特性,在无线网络中,节点仅仅因为位置的变化就可以从一个层级移动到另一个层级。 在 WIANA 的指导方针下,管理网络的是用户而不是提供者。大规模无线网络所基于物理媒介不同于需要实际的每地址认证的 传统 Internet。传统 Internet 中高昂的连接费用使得无线用户不再使用同样的方法获得 IP 地址。在 WIANA 中, 这些地址是免费提供的。WIANA 还试图集中对滥用和阻塞的处理。WIANA 支持受 LocustWorld.com 提供的使命声明所约束的 兼容的无线软件和硬件。那些硬件和软件的设计在任何平台上 802.11 Wi-Fi 下都完全兼容。主要的思想是提供开放社区 无线 WAN,它们由用户自己来管理,以给用户更大的灵活性。 您可以认为名为 NoCatAuth 的计划也是一个类似的计划。它最初构建是为了支持 Sonoma County,California 的 802.11b 的无线网络。这一实现方法将构成共享的 Internet 服务的认证代码集中于可能的一个点(类似于 WIANA 的作法)。 为了遵循一个开放源代码许可来使用 NoCatAuth,您的 Linux 系统中必须安装 Perl 编程语言、GNU make 和 gpgv。
Linux 已经成为 BlueZ(运行于 Linux 内核 2.4 和 2.6 之上)和 Linux-IrDA 等产品和解决方案可选平台之一, 也正在成为用于手机的平台。随着手机硬件的更加强大而且成熟,它将为较小的提供商提供一个巨大的机会,让他们可以创建 便于使用的部件并为用户提供对环境的更有力控制。多数 Linux 手机在亚洲得到了应用,在那里 Linux 正在成为 3G 电话开发 平台的首选。原因很简单 —— Linux 的方法同时为开发者和消费者提供了更大的灵活性和自由度。
|