我目前有一个配置为私有 VLAN(次要和主要端口组)的托管交换机(DGS-3120-24SC)。次要端口彼此隔离,并且它们之间无法转发。但是它们可以与所有主要端口(上行链路)通信。我想要做的是在连接到主要和次要端口的设备之间透明地传递 VLAN 标记数据包。
我确实有一些连接到主端口的服务器,这些服务器需要使用不同的 VLAN 到达辅助端口后面的设备,而在中间交换机上标记/取消标记它们对我来说不是一个方便的选择。
看来 VLAN Trunking 就是我基本上需要的,但不幸的是它不能与私有 VLAN 设置(隔离辅助 + 混杂端口)一起使用。
从技术上来说,是否可能实现我上面描述的工作设置?
该交换机支持许多功能,包括 Q-in-Q 标记、中继等。
答案1
我无意中再次进入此页面,因此决定回答自己的问题。我找到了一个已经使用了很长时间的解决方案:通过使用交换机的流量分段和 VLAN 中继功能可以实现所需的功能。流量分段允许您允许或拒绝端口之间的流量转发(在任何配置中),而 VLAN 中继允许标记的数据包不受影响地通过交换机。这些功能可以非常灵活地配置,因为您可以控制单个端口。
答案2
在主流的解决方案设计中,即如果最新的交换机知识没有附加一些全新的理论,那么要改变 vlan id,数据包就需要通过 L3 路由器。
如果您的客户端和服务器位于同一个 IP 子网,数据包将不会通过 L3 路由器。如果它们还位于不同的 VLAN 上,它们实际上将无法相互访问。
但是,如果它们位于不同的 IP 子网 (L3),网络设计通常还会将这些子网与单独的 VLAN ID (L2) 关联。然后,就需要允许 IP 路由 (即 L3) 通过路由过程将数据包放入正确的 VLAN。您通常会发现,接受 VLAN 标记数据包的服务器每个接受的 VLAN ID 都有一个 IP 地址,每个地址都属于与相应 VLAN 关联的 IP 子网。您的路由器将促进其他 VLAN ID/子网上的客户端的可达性。
因此,路由要么是您的解决方案的关键,要么设计使得您查看的 VLAN 不“适合”通信。在这种情况下,您可以选择更改该设计。
换句话说,vlan 交换机在出口处添加 vlan 标签,在入口处删除它们。除非您真的有一个深思熟虑的设计要求和解决方案(请参阅下面的 QinQ 链接),否则您不会改变这个基本前提,也不会添加任何内容。要在 vlan id 之间跳跃,请使用覆盖协议 ip,即最有可能是您的默认网关(最近的路由器)。
如果这个答案没有意义,请在这里寻找有关基本 VLAN 理论以及从 VLAN 角度 L2 和 L3 如何互操作的良好论述: VLAN 如何工作?
有关 IP 子网划分理论(即 L3 视角)的精彩论述,请参见此处: IPv4 子网划分如何工作?
如果这不是您想要的,并且您仍然希望使用 QinQ,因为您无论如何都知道所有这些内容,请阅读以下链接中的最后一个“问题...”部分。如果您理解这些问题毫无困难,并且已经有了答案(我没有,因为我从未做过提供商桥接),请尽情发挥吧: http://en.wikipedia.org/wiki/IEEE_802.1ad
答案3
我从未在实践中使用过它,可能是错的,但看起来 DLINK 允许未标记的端口参与多个 VLAN - 基于“非对称 VLAN”概念。
如果是这样,服务器的端口将不带标记但配置有 IP 别名,以参与 VLAN 的逻辑子网。