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"
}
  • ① 这是无线网络的 SSID。将其替换为无线网络的名称。

  • ② 这是无线网络的 PSK。将其替换为无线网络的密码。

  • 第三步是将网络条目添加到配置网络启动时加载:

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

# service netif restart

7.4.2. 基本无线配置

第一步是将无线网卡配置为接口。要查找系统中有哪些无线网络卡,请查看 识别网络适配器 这一节。

# ifconfig wlan0 create wlandev iwm0

要使该更改在重启后生效,请执行以下命令:

# sysrc wlans_iwm0="wlan0"

注意

由于全球各地的法规情况不同,因此需要正确设置适用于你所在位置的区域,以获得有关可用信道的正确信息。

# 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:显示每个网络的类型及其站点的功能(有关 list scan 的更多详细信息,请参见 ifconfig(8) 的定义)。

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" ③
}
  • ① SSID 扫描技术。仅当网络为隐藏时需要使用此选项。

  • ② 网络名称。

  • ③ 无线网络的密码。

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

如果使用静态地址,需要执行以下命令:

# sysrc ifconfig_wlan0="inet 192.168.1.20 netmask 255.255.255.0"

如果使用动态地址,需要执行以下命令:

# sysrc ifconfig_wlan0="WPA DHCP"

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

# service netif restart

注意

有关如何执行更高级认证方法的信息,请参见 无线高级认证

7.4.4.2. 使用开放网络进行认证

技巧

连接没有任何认证的开放网络时,用户需要 非常 小心。

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

# ifconfig wlan0 ssid SSID

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

# dhclient wlan0

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

有线连接提供更好的性能和可靠性,而无线连接提供灵活性和流动性。笔记本用户通常希望在这两种连接之间无缝切换。

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

链路聚合和故障转移的详细内容请参见 链路聚合和故障转移,并且可以在 以太网和无线接口之间的故障转移模式 中找到使用有线和无线连接的示例。

最后更新于