无线通讯

目录

29.1. 无线 LAN

摘要

无线 LAN 可用于建立 SUSE Linux EnterpriseŽ 计算机间的通讯。本章介绍无线联网的原则和无线联网的基本配置。

无线 LAN

无线 LAN 已成为移动计算的不可缺少的一部分。 当今,大多数笔记本电脑都配有内置 WLAN 卡。 用于 WLAN 卡无线通讯的 802.11 标准是由 IEEE 组织制订的。 最初,此标准实现的最大传送速率是 2 Mbit/s。此后,此标准进行了多次补充以提高数据传送速率。 这些补充定义了调制、传送输出和传送速率等详细内容:

表 29.1. 各种 WLAN 标准的概述

名称

频带 (GHz)

最大传送速率 (MBit/s)

记事

802.11

2.4

2

已过时;目前市场上不销售采用此标准的最终设备

802.11b

2.4

11

广泛采用

802.11a

5

54

较少使用

802.11g

2.4

54

向后兼容 11b


此外还有一些专有标准,如 Texas Instruments 对 802.11b 进行调整后形成的标准(有时也称为 802.11b+),其最大传送速率为 22 Mbit/s。 但采用这种标准的卡的普及程度有限。

硬件

SUSE Linux EnterpriseŽ 不支持 802.11 卡。 支持采用 802.11a、802.11b 和 802.11g 的大多数卡。 现在新推出的卡通常符合 802.11g 标准,但采用 802.11b 的卡仍然是可用的。 通常,支持具有以下芯片的卡:

  • Aironet 4500、4800

  • Atheros 5210、5211、5212

  • Atmel at76c502、at76c503、at76c504、at76c506

  • Intel PRO/Wireless 2100、2200BG、 2915ABG 和 3945ABG

  • Intersil Prism2/2.5/3

  • Intersil PrismGT

  • Lucent/Agere Hermes

  • Texas Instruments ACX100、ACX111

  • ZyDAS zd1201

还支持许多很少用到且市面上不再有售的较早的卡。 Absolute Value Systems 的 网站中提供了一个列表,详尽列出了各种 WLAN 卡及其使用的芯片,网址是:http://www.linux-wlan.org/docs/wlan_adapters.html.gz 查找各种 WLAN 芯片的概述:http://wiki.uni-konstanz.de/wiki/bin/view/Wireless/ListeChipsatz

有些卡需要固件映像,该映像必须在初始化驱动程序时载入卡中。Intersil PrismGTAtmel 以及 TI ACX100 和 ACX111 就是这种情况。 使用 YaST 联机更新可以方便地安装固件。 SUSE Linux Enterprise 附带了 Intel PRO/Wireless 卡的固件,在检测到此类型的卡时,YaST 将自动安装该卡。 已安装系统的 /usr/share/doc/packages/wireless-tools/README.firmware 中提供了有关此主题的详细信息。

功能

在无线联网中,会使用各种技术和配置来确保连接的快速、高质量和安全。 不同的操作类型适合不同的设置。 很难选择正确的身份验证方法。 各种可用加密方法有各自的优点和缺陷。

操作方式

无线网络基本上可分为受管网络和特殊网络。 受管网络具有一个管理元素,即访问点。在这种方式(也称为基础结构方式)中,WLAN 工作站在网络中的所有连接都通过访问点运行,后者也可用作与以太网的连接。特殊网络没有访问点。 各个工作站直接互相通讯。 在特殊网络中,传送范围和参与工作站的数目都受到很大限制。 因此,采用访问点通常更加有效。 甚至可以将 WLAN 卡用作访问点。大多数卡支持此功能。

与使用缆线连接的网络相比,无线网络中的数据更容易被截获,无线网络更容易受到攻击,所以各标准都包括了身份验证和加密方法。 IEEE 802.11 标准最初的版本在术语 WEP 下对这些方法进行了描述。 但是,WEP 被证明是不安全的(请参见 第 29.1.5.2 节 “安全性”),因此 WLAN 行业(组织名为 Wi-Fi 联盟)制订了一个名为 WPA 的新扩展,用以弥补 WEP 的缺陷。 后来的 IEEE 802.11i 标准(也称为 WPA2,因为 WPA 基于 802.11i 的草案版本)包括 WPA 和其他一些身份验证和加密方法。

身份验证

为了确保只有经过授权的工作站才能连接,受管网络中使用了多种身份验证机制:

打开

开放系统是不要求身份验证的系统。 任何工作站都可以加入网络。 不过,可以使用 WEP 加密(请参见 第 29.1.2.3 节 “加密”)。

共享密钥(按照 IEEE 802.11)

在此过程中,使用 WEP 密钥进行身份验证。但不建议采用此过程,因为它使 WEP 密钥容易受到攻击。 攻击者所要做的一切就是侦听工作站和访问点之间的通讯足够长时间。在身份验证过程中,双方将交换相同的信息,一次使用的是加密形式,一次使用的是未加密形式。 这使得可以使用适当的工具来重构建密钥。 由于方法使用 WEP 密钥来进行身份验证和加密,因此不能提高网络的安全性。 具有正确 WEP 密钥的工作站可以进行身份验证、加密和解密。不具有密钥的工作站无法解密接收到的包。 因此,无论它是否必须对本身进行身份验证都不能进行通讯。

WPA-PSK(按照 IEEE 802.1x)

WPA-PSK(PSK 代表“预共享密钥”)的工作方式与共享密钥过程类似。 所有参与工作站和访问点需要相同的密钥。 该密钥长度为 256 位,通常以密码短语形式输入。此系统不需要像 WPA-EAP 那样的复杂密钥管理,并且更适合个人使用。 因此,有时将 WPA-PSK 称为 WPA“家庭”。

WPA-EAP(按照 IEEE 802.1x)

实际上,WPA-EAP 不是一个身份验证系统,而是一个传输身份验证信息的协议。 WPA-EAP 用于保护企业中的无线网络。 在个人网络中,很少使用 WPA-EAP。 因此,WPA-EAP 有时称为 WPA“企业”。

WPA-EAP 需要 Radius 服务器来验证用户。 EAP 提供了连接和身份验证服务器的三种不同方式:TLS (Transport Layer Security)、TTLS (Tunneled Transport Layer Security) 和 PEAP (Protected Extensible Authentication Protocol)。在 nutshell 中,这些选项的作用如下所示:

EAP-TLS

TLS 身份验证依赖于服务器和客户机的证书互相交换。 首先,服务器为客户机(客户机会评估服务器)提供其证书。 如果证书被认为有效,则接下来客户机会对服务器提供其证书。 当 TLS 是安全的,它要求在网络中具有运转的认证管理基础结构。 此基础结构在专用网络中很少见。

EAP-TTLS 和 PEAP

TTLS 和 PEAP 都是两个阶段的协议。 在第一个阶段,将建立安全性,在第二个阶段,将交换客户机身份验证数据。 在需要认证管理的情况下,它们所需的认证管理费用比 TLS 要少得多。

加密

有多种加密方法可确保所有未授权用户不能读取无线网络中交换的数据包并且不能访问网络:

WEP(在 IEEE 802.11 中定义)

此标准使用 RC4 加密算法,最初密钥长度为 40 位,后来也使用 104 位的密钥。 通常,将此长度声明为 64 位或 128 位,这取决于是否包括初始化矢量的 24 位。 但是,此标准有一些缺陷。 攻击者能够成功攻击此系统生成的密钥。 不过,使用 WEP 总比根本不加密网络要好。

TKIP(在 WPA/IEEE 802.11i 中定义)

WPA 标准中定义的这一密钥管理协议使用与 WEP 相同的加密算法,但弥补了其缺陷。 由于为每个数据包生成一个新密钥,从而有效阻止了对这些密钥的攻击。 TKIP 与 WPA-PSK 一起使用。

CCMP(在 IEEE 802.11i 中定义)

CCMP 对密钥管理进行了描述。 通常,它用于与 WPA-EAP 连接,但也可以与 WPA-PSK 一起使用。 加密依照 AES 进行,该加密比 WEP 标准的 RC4 加密更强大。

用 YaST 配置

要配置您的无线网卡,请启动 YaST 网卡模块。 还可在此处选择是使用 YaST 还是使用 NetworkManager 来管理网卡。 如果选择 YaST,则在网络地址设置中选择设备类型无线,然后单击下一步。 在无线网卡配置(如 图 29.1 “YaST:配置无线网卡” 所示)中为 WLAN 操作进行基本设置:

图 29.1. YaST:配置无线网卡

YaST:配置无线网卡

操作方式

我们可以将工作站以三种不同的方式集成到 WLAN 中。 适用的模式取决于通讯所用的网络:特殊网络(对等网络,无访问点)、受管网络(网络由访问点管理)或者主网络(您的网卡应用作访问点)。要使用 WPA-PSK 或 WPA-EAP 方式,必须将操作方式设置为受控

网络名称 (ESSID)

为实现相互通讯,无线网络中的所有工作站都需要相同的 ESSIDu163。如果未指定任何内容,则网卡会自动选择一个访问点,但它可能不是您所希望使用的。

身份验证方式

为您的网络选择合适的身份验证方式:开放共享密钥WPA-PSKWPA-EAP。如果选择了 WPA 身份验证,则必须设置网络名称。

专家设置

单击此按钮将打开一个对话框,用于对 WLAN 连接进行详细配置。 下面的内容提供了此对话框的详细说明。

完成基本设置后,即可将您的工作站部署在 WLAN 中。

[Important]无线网络中的安全性

确保使用所支持的身份验证和加密方法之一来保护您的网络通讯。 如果未加密 WLAN 连接,则第三方便可以截获所有网络数据。 即使进行弱加密 (WEP) 也比根本不加密要好。 相关信息请参考 第 29.1.2.3 节 “加密”第 29.1.5.2 节 “安全性”

根据所选的身份验证方法,YaST 会提示您在另一个对话框中微调这些设置。 对于开放,无需进行任何配置,因为此设置实施的是无需身份验证的未加密操作。

共享密钥

设置密钥输入类型。 选择通行密码ASCII十六进制。 您最多可以保留 4 个不同的密钥来加密所传送的数据。 单击 WEP 密钥进入密钥配置对话框。 设置密钥长度:128 位64 位。默认设置是 128 位。 在对话框底部的列表区域中,最多可以指定 4 个不同的密钥,您的工作站将使用这些密钥进行加密。 按设置默认密钥可将其中一个密钥定义为默认密钥。 除非更改默认设置,否则 YaST 会将第一个输入的密钥用作默认密钥。 如果删除了标准密钥,则必须将其他密钥中的一个手动标记为默认密钥。 单击编辑可以修改现有列表项或创建新密钥。 此时将出现一个弹出窗口,提示您选择输入类型(通行密码ASCII十六进制)。 如果选择的是通行密码,则输入一个单词或字符串,将从该单词或字符串按照先前指定的长度生成密钥。 ASCII 要求为 64 位密钥输入 5 个字符,为 128 位密钥输入 13 个字符。 如果选择的是十六进制,则按照十六进制表示法为 64 位密钥输入 10 个字符,或为 128 位密钥输入 26 个字符。

WPA-PSK

要输入用于 WPA-PSK 的密钥,请选择输入方法通行密码十六进制。 在通行密码方式下,输入必须为 8 到 63 个字符。 在十六进制方式下,请输入 64 个字符。

WPA-EAP

输入网络管理员提供的身份凭证。 对于 TLS,请提供身份客户机证书客户机密钥服务器证书。 TTLS 和 PEAP 需要身份密码服务器证书匿名身份为可选。 YaST 会在 /etc/cert 下搜索所有证书,因此将提供给您的证书保存到此位置中并将这些文件的访问权限限制为 0600(所有者读写)。

单击细节可进入 WPA-EAP 设置的高级身份验证对话框。 选择 EAP-TTLS 或 EAP-PEAP 通信第二阶段的身份验证方法。 如果在前面的对话框中已选择 TTLS,则选择任意MD5GTCCHAPPAPMSCHAPv1MSCHAPv2。 如果已选择 PEAP,则选择任意MD5GTCMSCHAPv2如果自动确定的设置不起作用,则 PEAP 版本可用于强制使用特定的 PEAP 实施。

单击专家设置可退出 WLAN 连接的基本配置对话框并进入专家配置对话框。 此对话框中有以下选项可用:

通道

只有在特殊方式下才需要指定 WLAN 工作站要工作于的通道。 在受控方式下,网卡将自动搜索访问点的可用通道。 在特殊方式下,可从提供的 12 个通道中选择一个,用于在您的工作站和其他工作站之间进行通信。 在方式下,确定您的网卡应该在哪个通道上提供访问点功能。 此选项的默认设置是自动

位速率

根据网络的性能,您可能要为从一点到另一点之间的传送设置特定位速率。 在默认设置自动中,系统会尽可能地使用最高数据传送速率。 一些 WLAN 卡不支持比特率设置。

接入点

在具有多个访问点的环境中,通过指定 MAC 地址可以预先选择多个访问点中的一个。

实用程序

hostap(包 hostap)用于将 WLAN 卡作为访问点运行。 有关此包的详细信息,请访问项目主页 (http://hostap.epitest.fi/)。

kismet(包 kismet)是一个网络诊断工具,使用它可以监听 WLAN 包流量。 通过这种方式,您可以检测到网络中的所有入侵企图。 有关详细信息,请参见手册页和 http://www.kismetwireless.net/

建立 WLAN 的提示和技巧

这些提示可帮助精确调整 WLAN 的速度、稳定性和安全性。

稳定性和速度

无线网络的性能和可靠性主要取决于参与的工作站是否能够清楚地接收到来自其他工作站的信号。 障碍物(例如,墙壁)极大地削弱了信号。 信号强度越低,传送速率就越慢。 在网络运行过程中,可以在命令行(Link Quality 字段)中使用 Iwconfig 实用程序或使用 NetworkManager 或 KNetworkManager 来检查信号强度。 如果信号质量存在问题,可尝试将设备放在其他位置,或调整访问点天线的位置。 很多 PCMCIA WLAN 卡都配有辅助天线,可充分提高接收效果。 制造商指定的速率(例如 54Mbit/s)是一个额定值,它表示理论最大值。 实际上,最大数据吞吐量不大于该值的一半。

安全性

如果要建立一个无线网络,则一定要记住,如果不实施任何安全措施,则传送范围内的任何人都可以方便地访问此网络。 因此,一定要激活某种加密方法。 所有 WLAN 卡和访问点都支持 WEP 加密。虽然这并非完全安全,但还是对潜在攻击者设置了一道屏障。 WEP 通常可满足个人使用。 WPA-PSK 的安全性更好,但不能在较早的访问点或具有 WLAN 功能的路由器中实施。 在某些设备上,可以通过固件更新来实施 WPAu163 此外,Linux 在所有硬件组件上不支持 WPA。在准备此文档时,WPA 只适用于采用 AtherosIntel PRO/WirelessPrism2/2.5/3 芯片的卡。 在 Prism2/2.5/3 上,仅当使用 hostap 驱动程序时,WPA 才能运行(请参见 第 29.1.6.2 节 “有关 Prism2 卡的问题”)。 如果 WPA 不可用,则使用 WEP 要好过不加密。 在具有高级安全要求的企业中,无线网络工作时必须采用 WPA。

查错

如果 WLAN 卡未能作出响应,请检查您是否下载了所需的固件。请参考 第 29.1.1 节 “硬件”。 以下几段介绍了一些常见问题。

多个网络设备

现在的便携式计算机通常都有网卡和 WLAN 卡,如果使用 DHCP(自动地址指派)来配置这两个设备,则您可能会遇到名称解析和默认网关的问题。 可以 Ping 路由器但不能浏览因特网就是这方面问题的典型示例。 位于 http://en.opensuse.org/SDB:Name_Resolution_Does_Not_Work_with_Several_Concurrent_DHCP_Clients 的支持数据库提供了一篇有关这一主题的文章。

有关 Prism2 卡的问题

采用 Prism2 芯片的设备有多个驱动程序可用。 不同的卡与不同的驱动程序之间的适用性是不一样的。 使用这些卡时,只有在使用 hostap 驱动程序时,才能实施 WPA。 如果这样的卡不能正常工作或根本不工作,或者您要使用 WPA,请参见 /usr/share/doc/packages/wireless-tools/README.prism2

WPA

SUSE Linux Enterprise 是最近才支持 WPA 的,并且仍然在开发中。 因此,YaST 并不支持配置所有 WPA 身份验证方法。 不是所有无线 LAN 卡和驱动程序都支持 WPA。 一些卡需要更新固件以启动 WPA。 如果要使用 WPA,请参见 /usr/share/doc/packages/wireless-tools/README.wpa

有关详细信息

Jean Tourrilhes 开发了用于 Linux 的无线工具,他的因特网网页上有很多关于无线网络的有用信息。 请参见http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wireless.html