首先,我已经知道有两种类型的 VLAN:
- 基于端口的VLAN
- 基于标签的 VLAN(又名 IEEE 802.1q)
我使用的是 TP-Link TL-R480T+ v6。手册上说它的转变使用端口 VLAN - 我对此没有异议。
4.3.5.6 端口 VLAN
VLAN功能可以防止局域网内的广播风暴,增强网络的安全性。在一个物理的局域网上创建VLAN,可以将一个局域网划分成多个逻辑上的局域网,每个逻辑上的局域网都有自己的广播域,同一个VLAN内的主机可以像在局域网内一样互相通信,而不同VLAN内的主机不能直接通信,因此广播报文被限制在一个VLAN内。
TL-R480T+ 提供端口 VLAN 功能,您可以根据 LAN 端口的端口号为其创建多个逻辑 VLAN。
其在 Web 界面上的表现如下:
它确实阻止了不同 VLAN 的主机相互通信。但我在配置了 3 个不同的 VLAN 后发现的第一个奇怪的事情是:路由器连接到转变所有 VLAN使用一个 IP 地址192.168.0.1
。任何 VLAN 中的主机都可以使用该地址连接到路由器。这是怎么发生的?
我以为它的路由器内部创建了 3 个面向 3 个 VLAN 的不同虚拟接口,192.168.0.1
所有 3 个接口的 IP 地址都相同(听起来太愚蠢了,难以置信)。但后来,我意识到集成的DHCP 服务器还连接到所有 VLAN 并分发非重复地址分配给属于不同 VLAN 的客户端。为什么要这样做?
我决定使用连接到 2 个不同端口(或 VLAN)的 2 台计算机,并将它们配置为使用相同的 IP 地址。猜猜怎么着?其中一台由于 IP 冲突而无法工作。从什么时候起,来自不同广播域的主机不能使用相同的 IP 地址了?
有人能猜出这个东西内部是如何工作的吗?
答案1
这听起来很像端口隔离(又名“私有 VLAN”) 在许多交换机中都有功能。
忽略其名称中的“VLAN”。它实际上旨在像普通的单个子网(单个广播域)一样工作,只是所有“客户端”或“不受信任”端口都可以仅有的向“路由器”或“受信任”端口发送/接收以太网帧 - 但彼此之间不能直接通信。
(或者换句话说:从路由器的角度来看,所有客户端都在一个广播域中,与常规以太网没有任何变化。路由器仍然以相同的方式解析 IP 地址,无论是否重复。仅从客户端的角度来看,因为客户端只允许向路由器发送帧,结果就像每个客户端都有一个与其他所有客户端不同的虚拟广播域。因此,TP-Link 的描述并没有错,只是不完整。)
例如,如果您有一个充满相互不信任设备的公共网络(如宿舍 LAN 或咖啡店 Wi-Fi),您希望客户端只能访问互联网,而不能相互联系。(Wi-Fi AP 具有相同的功能,但称之为“客户端隔离”。)
这样可以节省您创建大量微型 VLAN、IP 子网和 DHCP 池的麻烦,每个 VLAN、IP 子网和 DHCP 池仅容纳一个客户端设备(并且由于 VLAN 通常是静态分配的,因此每个 IP 地址都绑定到一个物理端口)。
端口隔离有时与代理 ARP 一起使用,其中路由器代表整个 LAN 回复 ARP 请求。这将允许客户端再次互相联系,但只能通过路由器 - 这允许使用路由器的防火墙规则过滤数据包,类似于跨 VLAN 流量。