首次尝试 VLAN;将托管交换机标记为非托管交换机,并且客户端未获取正确的 IP 地址

首次尝试 VLAN;将托管交换机标记为非托管交换机,并且客户端未获取正确的 IP 地址

所以,我对 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 端口之一,其他三个端口用于标记为 的 10G 设备2

它们接收192.168.185.1/24范围内的 IP 地址,这正是我想要的。在 QNAP 托管交换机上,我将其中一个 2.5g 端口标记为VLAN ID 3,在 OPNsense 中,我创建了带有标签 的 VLAN 3,为其分配了一个接口,并设置了 DHCP。我还创建了防火墙规则,让任何东西都离开该 VLAN(基本上与 LAN 的默认规则相同)。

因此,从托管的 QNAP,我将其转到非托管的TP-Link TL-SG108-M22.5g 交换机标记为 VLAN 3。但是,当我将 Windows 机器连接到交换机时,它仍然从范围内获取地址192.168.185.1/24,而不是192.168.165.1/24像我所想的那样在范围内。

我对管理型交换机和 VLAN 还不熟悉,所以我很好奇我是否做错了什么或者 VLAN ID 是否没有通过非管理型交换机传递(这真的很糟糕)。

如果我想使用 VLAN 分离网络,是否需要管理所有交换机?我在 OPNsense 中做错了什么吗?

任何帮助将不胜感激!

(顺便说一下,我按照 OPNsense 中设置 VLAN 的说明进行操作https://homenetworkguy.com/how-to/configure-vlans-opnsense/

附录: 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 这样的随机 IP)。

答案1

在 QNAP 上,我让路由器连接到未标记的 10G 端口之一,另外三个端口用于标记为 2 的 10G 设备。

听起来你假设“未标记”端口可以承载所有 VLAN,而“标记”端口属于一个特定 VLAN。事实并非如此 - 它几乎与工作原理完全相反。

“标签”不是分配给整个端口的东西;相反,它们被插入到离开交换机的各个以太网数据包(帧)中。(这正是 VLAN ID 通过非托管交换机的方式。)

因此,首先要记住的是,“标记/未标记”是一个附加设置在之上端口的 VLAN 成员身份。

(请注意,你有VLAN 屏幕中的选项 – “带标签”、“未带标签”和“无标签”。这是因为两个都“tagged”和“untagged”使端口成为该VLAN的成员,只是方式略有不同。)

也就是说,只属于一个 VLAN 的端口(例如计算机)应该“未标记”对于该特定 VLAN – 意味着它仍然是该 VLAN 的成员,但输出未插入任何标签的帧,并且同样期望接收没有标签的普通帧。

同时,需要属于多个 VLAN 的端口(例如面向支持 VLAN 的 OPNsense 路由器的端口 7)可能对其中一个 VLAN 未加标记具体的VLAN(不仅仅是一般意义上的“未标记”!)但对于所有其他 VLAN,都需要“标记”。这会导致端口生成(并期望)帧携带 VLAN ID 标记。

我对管理型交换机和 VLAN 还不熟悉,所以我很好奇我是否做错了什么或者 VLAN ID 是否没有通过非管理型交换机传递(这真的很糟糕)。

它们确实会经过非管理型交换机,尽管这样的交换机无法对它们进行任何有用的过滤。

事实上,VLAN 配置中的“标记”具体指的是传递 VLAN ID 的机制 - 插入到每个以太网帧的 802.1Q VLAN 标签。

然而,问题在于某物需要理解(并生成)另一端的这些标签,而一台典型的 Windows PC1来自您 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 驱动程序来执行过滤,因此对于典型的英特尔 NIC,其驱动程序会处理标记,但实际上并不筛选由于某种原因标记的帧!– 它将要接受标记的帧,就像它们没有标记一样。这是避免在非托管交换机上放置多个 VLAN 的另一个原因。)


从 OPNsense 路由器到 QNAP 端口 7。从那里,端口 8 连接到 10g/多千兆非托管交换机,端口 9 和 10 是到 Synology NAS 的 LAG。它们都在 192.168.185.1/24 网络上正确运行。端口 1 是我第一次尝试创建和使用 VLAN,并将其连接到非托管 2.5g 交换机。现在唯一插入该交换机的东西是我的 Windows PC。这可能

根据此描述,您的 QNAP 配置应如下所示:

虚拟局域网 端口 1
(电脑)
端口 7
(OPNsense)
端口 8
(非管理交换机)
滞后 1
(NAS)
VLAN 1 - 未标记 - 未标记
VLAN 2 - 标签 - -
VLAN 3 未标记 标签 未标记 -

对于端口 8(非管理型交换机),这很大程度上取决于将连接到该端口的设备。通常,非管理型交换机被分配到一个未标记的 VLAN,仅此而已。

如果全部交换机上的设备可以进行自己的 VLAN 标记,那么交换机上就可以有一堆标记的 VLAN(假设您也信任这些设备,因为它们现在可以控制它们所在的 VLAN)。例如,Linux/BSD 系统、Hyper-V/ESXi 主机或多 SSID 接入点(例如 UniFi)可以很好地处理它们自己的标记。

但是,此交换机上任何不理解 VLAN 标签的设备都必须共享相同的“未标记” VLAN(您选择的)。

相关内容