第 12 章 将 RHEL 配置为 WPA2 或 WPA3 个人访问令牌
在具有 wifi 设备的主机上,您可以使用 NetworkManager 将这个主机配置为接入点。Wi-Fi Protected Access 2 (WPA2)和 Wi-Fi Protected Access 3 (WPA3)提供安全验证方法,无线客户端可以使用预共享密钥(PSK)连接到访问点,并使用 RHEL 主机上和网络中的服务。
当您配置接入点时,NetworkManager 会自动:
-
配置
dnsmasq
服务来为客户端提供 DHCP 和 DNS 服务 - 启用 IP 转发
-
添加
nftables
防火墙规则来伪装来自 wifi 设备的流量并配置 IP 转发
前提条件
- wifi 设备支持在接入点模式下运行。
- wifi 设备没有使用。
- 主机可以访问互联网。
流程
列出 wifi 设备来识别应提供访问点的 wifi 设备:
# nmcli device status | grep wifi wlp0s20f3 wifi disconnected --
验证该设备是否支持访问点模式:
# nmcli -f WIFI-PROPERTIES.AP device show wlp0s20f3 WIFI-PROPERTIES.AP: yes
要使用 wifi 设备作为接入点,该设备必须支持此功能。
安装
dnsmasq
和NetworkManager-wifi
软件包:# dnf install dnsmasq NetworkManager-wifi
NetworkManager 使用
dnsmasq
服务为访问点的客户端提供 DHCP 和 DNS 服务。创建初始访问点配置:
# nmcli device wifi hotspot ifname wlp0s20f3 con-name Example-Hotspot ssid Example-Hotspot password "password"
此命令在
wlp0s20f3
设备(提供 WPA2 和 WPA3 个人访问令牌)上创建一个连接配置集。无线网络的名称,Service Set Identifier (SSID) 是Example-Hotspot
,并使用预共享密钥密码
。可选:将访问点配置为只支持 WPA3:
# nmcli connection modify Example-Hotspot 802-11-wireless-security.key-mgmt sae
默认情况下,NetworkManager 使用 IP 地址
10.42.0.1
作为 wifi 设备,并将剩余的10.42.0.0/24
子网的 IP 地址分配给客户端。要配置不同的子网和 IP 地址,请输入:# nmcli connection modify Example-Hotspot ipv4.addresses 192.0.2.254/24
您设置的 IP 地址(本例中为
192.0.2.254
)是 NetworkManager 分配给 wifi 设备的 IP 地址。客户端将此 IP 地址用作默认网关和 DNS 服务器。激活连接配置集:
# nmcli connection up Example-Hotspot
验证
在服务器中:
验证 NetworkManager 是否启动了
dnsmasq
服务,并且服务侦听端口 67 (DHCP) 和 53 (DNS):# ss -tulpn | egrep ":53|:67" udp UNCONN 0 0 10.42.0.1:53 0.0.0.0:* users:(("dnsmasq",pid=55905,fd=6)) udp UNCONN 0 0 0.0.0.0:67 0.0.0.0:* users:(("dnsmasq",pid=55905,fd=4)) tcp LISTEN 0 32 10.42.0.1:53 0.0.0.0:* users:(("dnsmasq",pid=55905,fd=7))
显示
nftables
规则集,以确保 NetworkManager 为来自10.42.0.0/24
子网的流量启用转发和伪装:# nft list ruleset table ip nm-shared-wlp0s20f3 { chain nat_postrouting { type nat hook postrouting priority srcnat; policy accept; ip saddr 10.42.0.0/24 ip daddr != 10.42.0.0/24 masquerade } chain filter_forward { type filter hook forward priority filter; policy accept; ip daddr 10.42.0.0/24 oifname "wlp0s20f3" ct state { established, related } accept ip saddr 10.42.0.0/24 iifname "wlp0s20f3" accept iifname "wlp0s20f3" oifname "wlp0s20f3" accept iifname "wlp0s20f3" reject oifname "wlp0s20f3" reject } }
在带有 wifi 适配器的客户端中:
显示可用网络列表:
# nmcli device wifi IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY 00:53:00:88:29:04 Example-Hotspot Infra 11 130 Mbit/s 62 ▂▄▆_ WPA3 ...
-
连接到
Example-Hotspot
无线网络。请参阅管理 Wi-Fi 连接。 对远程网络或互联网中的主机发出 ping 以验证连接是否正常工作:
# ping -c 3 www.redhat.com
其他资源
-
您系统上的
nm-settings (5)
手册页