所以,我对 OPNsense 和一般网络还不熟悉,所以如果我遗漏了一些明显的东西,我深表歉意。
我正在运行 OPNsense 并在接口 ix3 上创建了我的第一个 VLAN,并将其连接到托管QNAP QSW-M2106-4C。在 ix3 上,我将 CIDR 设置为192.168.185.1/24
并在 ix3 上使用标记创建了一个 VLAN 3
,并将该 CIDR 设置为192.168.165.1/24
. 在 QNAP 上,我将路由器连接到未标记的 10G 端口之一,其他三个端口用于标记为2
.
他们正在接收范围内的 IP 地址192.168.185.1/24
,这正是我想要的。在 QNAP 托管交换机上,我将 2.5g 端口之一标记为VLAN ID 3
,在 OPNsense 中,我创建了带有标签的 VLAN 3
,为其分配了一个接口,并设置了 DHCP。我还创建了一个防火墙规则,让任何东西都进入该 VLAN(基本上与 LAN 的默认规则相同)。
因此,从托管 QNAP,我将它转到一个标记为 VLAN 3 的非托管TP-Link TL-SG108-M2 2.5g 交换机。但是,当我将 Windows 计算机连接到交换机时,它仍然从范围192.168.185.1/24
内,而不是192.168.165.1/24
我认为的范围内。
我是托管交换机和 VLAN 的新手,所以我很好奇我是不是做错了什么,或者 VLAN ID 是否没有通过非托管交换机(这真的很糟糕)。
如果我想使用 VLAN 分隔我的网络,是否需要管理我的所有交换机?我在 OPNsense 中做错了什么吗?
任何帮助将不胜感激!
(顺便说一下,我按照https://homenetworkguy.com/how-to/configure-vlans-opnsense/中有关如何在 OPNsense 中设置 VLAN 的说明进行操作)
附录: QNAP 端口管理:https://postimg.cc/ZBjS4Y9N
QNAP VLAN 设置(尝试让 VLAN 3 工作):https://postimg.cc/PvxkxGZR
端口 7 来自具有 192.168.185.1/24 的路由器,并在 VLAN 2 上共享该端口。在 VLAN 3 上,我在 OPNsense 中发现 VLAN 3 进入该接口,但 IP CIDR 为 192.168.165.1/24,但我的Windows 机器没有提取有效的 IP(随机的东西,比如 169.254 ..)
听起来您假设“未标记”端口可以承载所有 VLAN,而“标记”端口属于一个特定的 VLAN。这不是它的工作方式——它几乎与它的工作方式完全相反。
“标签”不是分配给整个端口的东西;相反,它们被插入到离开交换机的各个以太网数据包(帧)中。(这正是 VLAN ID 通过非管理型交换机传输的方式。)
因此,首先要删除的是“标记/未标记”是端口 VLAN 成员资格之上的附加设置。
(请注意,您在 VLAN 屏幕中有三个选项——“标记”、“未标记”和“无”。这是因为“标记”和“未标记”都使端口成为该 VLAN 的成员,只是方式略有不同。 )
也就是说,仅属于一个 VLAN(例如计算机)的端口对于该特定 VLAN 应该是“未标记”的——这意味着它仍然是该 VLAN 的成员,但输出帧时没有插入任何标签,并且同样期望接收普通帧没有标签。
同时,需要属于多个 VLAN 的端口——例如面向支持 VLAN 的 OPNsense 路由器的端口 7——对于一个特定的VLAN 可能是“未标记”的(通常不仅仅是“未标记”!),但需要“标记”用于所有其他人。这会导致端口生成(并期望)携带 VLAN ID 标签的帧。
它们确实通过非托管交换机,尽管这样的交换机不能对它们进行任何有用的过滤。
事实上,您的 VLAN 配置中的“标记”专门指传递 VLAN ID 的机制——插入每个以太网帧的 802.1Q VLAN 标记。
然而,问题是在另一端也需要理解(并生成)这些标签,而典型的 Windows PC不会1。来自您的 PC 的任何 DHCP 请求数据包都不会被标记,并且 PC 不会(通常2)接受返回的标记响应。
(这就是为什么 OPNsense 没有像您预期的那样在 VLAN 3 上看到 DHCP 请求 - PC 的端口标记了 VLAN 3,但 PC 没有添加任何 VLAN 标记,因此 DHCP 请求属于任何未标记的VLAN港口有。)
这意味着 PC 需要连接到只有一个“未标记”VLAN 而没有“标记”VLAN 的端口——而对于非管理型交换机,您无法逐个端口地执行此操作。您能做的最好的事情就是将整个非托管交换机放在一个“未标记”的 VLAN 中,一直回到 QNAP 上。
1(好吧,您实际上可以在 NIC 的设备管理器“属性”窗口中配置 VLAN 标记,但这需要手动完成。)
2(Windows 7+ 与 VLAN 标记的帧有一种奇怪的关系;它依赖于 NIC 驱动程序来执行过滤,因此对于典型的 Intel NIC - 其驱动程序处理标记,但由于某种原因实际上并不过滤标记的帧! – 它将接受标记的帧,就好像它们是未标记的一样。这是避免在非托管交换机上放置多个 VLAN 的另一个原因。)
根据此描述,您的 QNAP 配置应如下所示:
(PC)
(OPNsense)
(Unm.switch)
(NAS)
对于端口 8(非管理型交换机),它在很大程度上取决于将连接到它的设备。通常,非管理型交换机被分配给一个未标记的 VLAN,仅此而已。
如果交换机上的所有设备都可以做自己的 VLAN 标记,那么交换机上可以有一堆标记的 VLAN(假设您也信任这些设备,因为它们现在可以控制自己所在的 VLAN)。例如,Linux/BSD 系统,或 Hyper-V/ESXi 主机,或多 SSID 接入点(例如 UniFi),可以很好地处理自己的标记。
但是,此交换机上不理解 VLAN 标记的任何设备都必须共享相同的“未标记”VLAN(您选择的)。