
关于
使用 UniFi、pfSense/OPNsense 和 MikroTik 将家庭网络分割为 IoT、访客、可信和服务器 VLAN——包括交换机 Trunk 配置、防火墙规则和无线 SSID 映射。
name: homelab-vlan-segmentation description: 使用 UniFi、pfSense/OPNsense 和 MikroTik 将家庭网络分割为 VLAN,用于 IoT、访客、可信和服务器流量 - 包括交换机 trunk 配置、防火墙规则和无线 SSID 映射。 origin: community
家庭实验室 VLAN 分割
如何将家庭网络拆分为隔离的 VLAN,使 IoT 设备、访客和主要电脑之间无法互相通信。这是家庭网络最有效的安全升级。
此处展示的所有防火墙规则都是在网段之间添加隔离 - 它们不会移除现有保护。请在维护窗口期间应用更改,并在继续下一步之前验证各网段之间的连通性。
何时使用
- 首次在家庭网络上设置 VLAN
- 将 IoT 设备(智能灯泡、摄像头、电视)与可信设备隔离
- 创建无法访问家庭设备的访客 Wi-Fi 网络
- 向不熟悉 VLAN 概念的人解释其工作原理
- 配置 trunk 端口、access 端口和 SSID 到 VLAN 的映射
- 排查 pfSense/OPNsense/UniFi 上的 VLAN 间路由或防火墙规则问题
工作原理
无 VLAN - 扁平网络:
所有设备在 192.168.1.0/24
智能电视(潜在恶意软件)→ 可以访问你的 NAS、电脑和所有设备
使用 VLAN:
VLAN 10 - 可信设备 192.168.10.0/24 (电脑、手机、笔记本)
VLAN 20 - IoT 192.168.20.0/24 (智能电视、灯泡、摄像头)
VLAN 30 - 服务器 192.168.30.0/24 (NAS、树莓派、虚拟机)
VLAN 40 - 访客 192.168.40.0/24 (访客 Wi-Fi)
VLAN 99 - 管理 192.168.99.0/24 (交换机/AP 管理界面)
智能电视 → 被阻止访问 192.168.10.0/24 和 192.168.30.0/24
访客 → 仅能上网,无法看到任何家庭设备
VLAN 设计模板
VLAN 名称 子网 网关 用途
10 trusted 192.168.10.0/24 192.168.10.1 电脑、手机、笔记本
20 iot 192.168.20.0/24 192.168.20.1 智能家居设备
30 servers 192.168.30.0/24 192.168.30.1 NAS、树莓派、自托管服务
40 guest 192.168.40.0/24 192.168.40.1 访客 Wi-Fi
99 management 192.168.99.0/24 192.168.99.1 网络设备管理界面
示例
典型家庭实验室配置(UniFi AP + 网管交换机):
场景:三居室住宅,UniFi Dream Machine + UniFi 8口交换机 + 2个AP
VLAN 10 - 可信设备 192.168.10.0/24 MacBook、iPhone、iPad
VLAN 20 - IoT 192.168.20.0/24 Nest 恒温器、Philips Hue、Ring 门铃、智能电视
VLAN 30 - 服务器 192.168.30.0/24 Synology NAS (192.168.30.10)、Pi-hole (192.168.30.2)
VLAN 40 - 访客 192.168.40.0/24 访客 Wi-Fi - 仅上网
SSID → VLAN 映射:
"Home" → VLAN 10 (WPA2,强密码,仅可信设备)
"IoT" → VLAN 20 (WPA2,独立密码,贴在路由器上方便设置)
"Guest" → VLAN 40 (WPA2,简单密码,可随意分享)
交换机端口行为:
端口 1 → trunk 到路由器(标记 VLAN 10,20,30,40,99)
端口 2 → trunk 到 AP(标记 VLAN 10,20,40;AP 处理每个 SSID 的标记)
端口 3 → access VLAN 30(NAS - 无标记,无需 VLAN 感知)
端口 4 → access VLAN 30(Pi-hole - 无标记)
端口 5-8 → access VLAN 10(有线工作站)
防火墙规则(所有规则添加隔离,不移除现有保护):
IoT → 可信设备:阻止
IoT → 服务器:阻止,但允许 192.168.30.2:53(Pi-hole DNS)
IoT → 互联网:允许
访客 → 本地网络:阻止
访客 → 互联网:允许
可信设备 → 所有位置:允许
UniFi 配置
在 UniFi 控制器中创建网络
Settings → Networks → Create New Network
对每个 VLAN:
Name: IoT
Purpose: Corporate(提供 DHCP + 路由)
VLAN ID: 20
Network: 192.168.20.0/24
Gateway IP: 192.168.20.1
DHCP: Enable
DHCP Range: 192.168.20.100 - 192.168.20.254
将 SSID 映射到 VLAN(UniFi)
Settings → WiFi → Create New WiFi
Name: IoT-Network
Password: <独立密码>
Network: IoT ← 在此选择你的 VLAN
# 连接到此 SSID 的所有设备将进入 VLAN 20
Name: Guest
Password: <访客密码>
Network: Guest
Guest Policy: Enable ← 也会将访客彼此隔离
UniFi 防火墙规则(流量规则)
Settings → Traffic & Security → Traffic Rules
# 阻止 IoT 访问可信 VLAN
Action: Block
Category: Local Network
Source: IoT (192.168.20.0/24)
Destination: Trusted (192.168.10.0/24)
# 允许 IoT 仅访问互联网
Action: Allow
Source: IoT
Destination: Internet
# 阻止访客访问所有本地网络
Action: Block
Source: Guest
Destination: Local Networks
pfSense / OPNsense 配置
创建 VLAN
Interfaces → Assignments → VLANs → Add
Parent Interface: em1(你的 LAN 网卡)
VLAN Tag: 20
Description: IoT
# 对每个 VLAN 重复操作,然后将每个 VLAN 分配到接口:
Interfaces → Assignments → Add
选择你创建的 VLAN → 点击 Add
启用接口,将 IP 设置为网关地址(192.168.20.1/24)
兼容工具
Claude CodeCursor
标签
安全
