家庭网络
家庭网络 802.1X 企业级无线认证实战:OpenWrt + FreeRADIUS 给访客 IoT 办公做 WPA3-Enterprise 隔离接入
2026年10月31日
用 OpenWrt + FreeRADIUS 落地 WPA3-Enterprise,为访客、IoT、办公按身份下发不同 VLAN,实现一人一密隔离接入。
家庭网络 802.1X 企业级无线认证实战:OpenWrt + FreeRADIUS 给访客 IoT 办公做 WPA3-Enterprise 隔离接入
摘要:不想让家里所有设备共用一个 Wi‑Fi 密码?本文用 OpenWrt + FreeRADIUS 落地 WPA3‑Enterprise(802.1X),为访客、IoT、办公三类身份下发不同 VLAN,做到“一人一密、一设备一身份”,比单纯 VLAN 分段更细、更可控。
一、为什么家庭也需要 802.1X / WPA3-Enterprise
大多数家庭用 WPA2/WPA3‑Personal,所有设备共享一个 PSK。问题很明显:给客人报密码就泄露了全屋钥匙;智能灯泡、摄像头一旦被攻破,攻击者就躺在同一个信任域里。WPA3‑Enterprise 基于 802.1X,每个用户/设备用独立账号密码(或证书)登录,认证服务器(RADIUS)可把不同身份映射到不同 VLAN。这样访客只能上互联网、IoT 设备只能进隔离网、办公笔记本进内网,互不可见。
二、方案拓扑与前置条件
- 一台刷了 OpenWrt 的路由器或 AP(本文以 23.05 为例),已开启无线。
- 路由器上安装
freeradius3、freeradius3-common、freeradius3-utils、wpad-openssl(必须带 OpenSSL 才支持 EAP,别装 wpad-basic)。 - 已规划好三个 VLAN:如 VLAN 30 访客、VLAN 40 IoT、VLAN 50 办公。
- 建议把 RADIUS 与 AP 放在同一台机器,延迟最低;跨机也行,但要放行 1812/1813 UDP。
三、第一步:安装并初始化 FreeRADIUS
opkg update
opkg install freeradius3 freeradius3-common freeradius3-utils wpad-openssl
启动并设为开机自启:
service radiusd enable
service radiusd start
OpenWrt 的 FreeRADIUS 配置在 /etc/freeradius3/。先配置 clients.conf,声明哪些 NAS(AP)允许发来认证请求,并共享一个 secret:
client localhost {
ipaddr = 127.0.0.1
secret = ThisIsNasSecret
}
四、第二步:配置用户账号与 VLAN 下发
编辑 /etc/freeradius3/users,为每个身份建账号并下发 VLAN(RADIUS 属性 Tunnel-Type=13、Tunnel-Medium-Type=6、Tunnel-Private-Group-ID=VLAN ID):
guest1 Cleartext-Password := "guest-pass"
Tunnel-Type = 13,
Tunnel-Medium-Type = 6,
Tunnel-Private-Group-ID = 30
iot-camera Cleartext-Password := "iot-pass"
Tunnel-Type = 13,
Tunnel-Medium-Type = 6,
Tunnel-Private-Group-ID = 40
office Cleartext-Password := "office-pass"
Tunnel-Type = 13,
Tunnel-Medium-Type = 6,
Tunnel-Private-Group-ID = 50
注意:明文密码仅适合演示,生产建议用 SSHA 哈希或 EAP-TLS 证书。改完执行 radiusd -XC 校验配置语法。
五、第三步:把 FreeRADIUS 接回无线
在 OpenWrt 无线配置(/etc/config/wireless)里,把目标 SSID 的加密改为 WPA3-EAP,并指向本地 RADIUS:
option encryption 'wpa3'
option ieee80211w '2'
option auth_server '127.0.0.1'
option auth_secret 'ThisIsNasSecret'
option auth_port '1812'
重启网络:service network restart。此时该 SSID 就是企业级认证,输入对应账号密码才会接入。
六、第四步:不同身份下发不同 VLAN
前面 users 里的 Tunnel-Private-Group-ID 已定义 VLAN ID。还需在 OpenWrt 上确保三个 VLAN 接口存在且各自配好 DHCP 与防火墙区域(访客禁互访、IoT 禁入内网、办公可访问 NAS)。这一步是把“认证身份”真正翻译成“网络权限”。
七、第五步:终端如何接入
- iOS/Android:连该 SSID 时选“802.1X/EAP”,身份填 guest1、密码填 guest-pass,CA 证书可暂不验证(家用可接受)。
- Windows:在网络属性里把“身份验证模式”设为用户或机器认证,输入对应凭据。
- 智能家居设备:多数只支持 WPA‑Personal,因此 IoT 仍建议单独一个 WPA‑Personal SSID 进 VLAN 40,仅有 802.1X 的设备走企业级 SSID。
八、常见坑与排错
- 装错 wpad:必须 wpad-openssl,否则 EAP 直接失败。
- VLAN 不下发:检查 users 三行 Tunnel 属性是否齐全,且 OpenWrt 无线驱动支持动态 VLAN(mt76、ath10k 一般支持)。
- 证书校验失败:手机若开启“验证 CA”,需导入 RADIUS 服务器证书,否则连不上——家用可临时关校验。
- 性能:纯软件 RADIUS 在几十台设备规模无压力;上千设备再考虑独立服务器。
九、小结
用 OpenWrt + FreeRADIUS 落地 WPA3‑Enterprise,把“一个密码管全屋”升级为“一人一密、按身份隔离”,是家庭无线安全的一个高性价比进阶。配合 VLAN 与防火墙,访客、IoT、办公各居其位,既方便又可控。