7.4.无线网络

大多数无线网络都基于 IEEE® 802.11 标准

FreeBSD 支持使用 802.11a802.11b802.11g802.11n 的网络。

注意

FreeBSD 上的 802.11ac 支持目前正在开发中。

一个基本的无线网络由多个无线通信站组成,这些无线通信站使用 2.4GHz 或 5GHz 频段的无线电进行广播,但具体频段因地而异,而且也在不断变化,以实现 2.3GHz 和 4.9GHz 频段的通信。

配置无线网络有三个基本步骤:

  1. 扫描并选择接入点

  2. 验证工作站

  3. 配置 IP 地址或使用 DHCP

下文将讨论每个步骤。

7.4.1.连接到无线网络的快速入门

将 FreeBSD 连接到现有的无线网络是一种非常常见的情况。

本程序显示了所需的步骤:

  • 第一步是从网络管理员处获取无线网络的 SSID(服务集标识符)和 PSK(预共享密钥)。

  • 第二步是在 /etc/wpa_supplicant.conf 中为该网络添加一个条目。如果该文件不存在,请创建它:

network={
 ssid="myssid"
 psk="mypsk"
}
  • 第三步是添加网络条目,以便在启动时配置网络:

# sysrc wlans_iwn0="wlan0"
# sysrc ifconfig_wlan0="WPA DHCP"
  • 最后一步是执行以下命令重启 netif 服务:

# service netif restart

7.4.2.基本无线配置

第一步是将无线网卡配置到一个接口上。要了解系统中有哪些无线网卡,请查看识别网络适配器章节。

# ifconfig wlan0 create wlandevice iwm0

要使更改在重启后仍然有效,请执行以下命令:

# sysrc wlans_iwn0="wlan0"

注意

由于世界各地的监管情况不尽相同,因此有必要正确设置适用于您所在地区的域,以便获得有关可使用哪些频道的正确信息。

可用的区域定义可在 /etc/regdomain.xml 中找到。要在运行时设置数据,请使用 ifconfig

# ifconfig wlan0 regdomain etsi2 country AT

要持久保存设置,请将其添加到 /etc/rc.conf 中:

# sysrc create_args_wlan0="country AT regdomain etsi2"

7.4.3.扫描无线网络

可用 ifconfig(8) 扫描可用的无线网络。

要列出无线网络,请执行以下命令:

# ifconfig wlan0 up list scan

输出结果应类似于下面的内容:

SSID/MESH ID                      BSSID              CHAN RATE    S:N     INT CAPS
FreeBSD                           e8:d1:1b:1b:58:ae    1   54M  -47:-96   100 EP   RSN BSSLOAD HTCAP WPS WME
NetBSD                            d4:b9:2f:35:fe:08    1   54M  -80:-96   100 EP   RSN BSSLOAD HTCAP WPS WME
OpenBSD                           fc:40:09:c6:31:bd   36   54M  -94:-96   100 EPS  VHTPWRENV APCHANREP RSN WPS BSSLOAD HTCAP VHTCAP VHTOPMODE WME
GNU-Linux                         dc:f8:b9:a0:a8:e0   44   54M  -95:-96   100 EP   WPA RSN WPS HTCAP VHTCAP VHTOPMODE WME VHTPWRENV
Windows                           44:48:b9:b3:c3:ff   44   54M  -84:-96   100 EP   BSSLOAD VHTPWRENV HTCAP WME RSN VHTCAP VHTOPMODE WPS
MacOS                             46:48:b9:b3:c3:ff   44   54M  -84:-96   100 EP   BSSLOAD VHTPWRENV HTCAP WME RSN VHTCAP VHTOPMODE WPS
  1. SSID/MESH ID 标识网络名称。

  2. BSSID 标识接入点的 MAC 地址。

  3. CAPS 字段标识每个网络的类型以及在其中运行的台站的功能(更多详情请参见 ifconfig(8) 中的 list scan 的定义)。

7.4.4.连接和验证无线网络

从扫描的网络列表中选择无线网络后,就需要进行连接和验证。在绝大多数无线网络中,身份验证是通过路由器配置的密码完成的。其他方案则需要在数据传输前完成加密握手,要么使用预共享密钥或秘密,要么使用涉及 RADIUS 等后端服务的更复杂方案。

7.4.4.1.使用 WPA2/WPA/Personal 验证

无线网络的身份验证过程由 wpa_supplicant(8) 管理。

wpa_supplicant(8) 配置将在 /etc/wpa_supplicant.conf 文件中进行。更多信息,请参阅 wpa_supplicant.conf(5)

扫描无线网络、选择网络并设置密码 (PSK) 后,该信息将被添加到 /etc/wpa_supplicant.conf 文件中,如下例所示:

network={
        scan_ssid=1
        ssid="FreeBSD"
        psk="12345678"
}

下一步是在 /etc/rc.conf 文件中配置无线连接。

要使用静态地址,必须执行以下命令:

# sysrc ifconfig_wlan0="inet 192.168.1.20 netmask 255.255.255.0"

要使用动态地址,必须执行以下命令:

# ifconfig_wlan0="WPA DHCP"

然后执行以下命令重启网络:

# service netif restart

注意

有关如何执行更高级身份验证方法的更多信息,请访问无线高级身份验证。

7.4.4.2.使用开放网络进行身份验证

提示

重要的是,用户在没有任何认证的情况下连接开放网络时要非常小心。

完成无线网络扫描并选择无线网络的 SSID 后,执行以下命令:

# ifconfig wlan0 ssid SSID

然后执行 dhclient(8) 获取配置的地址:

# dhclient wlan0

7.4.5.同时使用有线和无线连接

有线连接具有更好的性能和可靠性,而无线连接则具有灵活性和移动性。笔记本电脑用户通常希望在这两种连接之间无缝漫游。

在 FreeBSD 上,可以将两个甚至更多的网络接口以 “故障切换”的方式组合在一起。这种配置使用一组网络接口中最优先的可用连接,当链路状态发生变化时,操作系统会自动切换。

链路聚合和故障切换中介绍了链路聚合和故障切换,以太网和无线接口之间的故障切换模式中提供了同时使用有线和无线连接的示例。