那个周末,我用一台迷你PC装上OPNsense,把家庭网络切成了五个VLAN。IoT设备、可信终端、访客网络、工作笔记本、实验室环境——各就各位。防火墙规则默认拒绝跨区访问,廉价智能设备就算被攻破也碰不到主力机器。Pi-hole跑在树莓派上,给所有VLAN提供DNS。一切按剧本运行,我挺得意的。

这份得意维持了不到一周。家人发现电视投屏失效了,智能音箱也收不到音乐推送。我估摸一小时能搞定,结果这场"快速修复"拖了整整六个月——我在自己亲手砌的墙上,一扇一扇地凿门。

打开网易新闻 查看精彩图片

问题出在我没算到Home Assistant。这个智能家居中枢需要持续轮询IoT VLAN上的每一台设备:读传感器、同步状态、下发指令。默认拒绝规则让它成了瞎子。我试过在防火墙开洞,但设备发现协议(mDNS、SSDP)天生爱广播,跨VLAN就像让鱼爬山。

第一个妥协是放行mDNS反射。然后SSDP也得开。接着发现某些智能灯泡非要和App直连,于是又加端口例外。每解决一个故障,防火墙就多一条规则。六个月后我打开配置一看——交叉许可的条目比拒绝的还多,那张精心设计的网络拓扑图,实际跑成了 spaghetti。

最讽刺的是安全收益。理论上隔离确实阻断了横向移动,但我的"隔离"已经千疮百孔。攻击者只要挑一个我放过行的协议,照样能串门。而维护这套规则的认知负担,让我三次想干脆回退到单一大网。

现在我保留了VLAN骨架,但学会了接受"不完美隔离"。关键设备(笔记本、NAS)仍住独立区,IoT扔在一个"半信任"池,规则精简到能口头复述。家庭网络的真相或许是:安全是过程,不是配置文件的终态。尤其是当你的用户包括一个想投屏看剧的配偶时。