![在 Netgear 交换机上设置 VLAN 的问题](https://linux22.com/image/1306015/%E5%9C%A8%20Netgear%20%E4%BA%A4%E6%8D%A2%E6%9C%BA%E4%B8%8A%E8%AE%BE%E7%BD%AE%20VLAN%20%E7%9A%84%E9%97%AE%E9%A2%98.png)
我正在尝试在我的 Netgear 交换机 (GS105E) 上设置 VLAN。我想创建两个独立的网络,并且希望它们都可以访问互联网。
My setup is
modem
connected to
router WRT54G (with dd-wrt)
connected to
Netgear switch
我已将端口 1 和端口 5 配置为 vlan1,将端口 2 至端口 4 配置为 vlan2。我将路由器的电缆插入端口 5,端口 1 上的计算机可以访问互联网。但是,端口 2 至端口 4 上的计算机无法访问互联网。我做错了什么吗?
附言:我曾尝试使用路由器创建 VLAN,但没有成功,所以我决定使用交换机来完成这项工作。
答案1
在对此问题的另一个答案的评论中,您说:“此外,当我尝试在路由器中设置 vlan 时,除了 vlan2 计算机只能打开某些网站之外,一切正常。”
这表明您的路由器可能在软件而不是硬件中执行 VLAN。
不了解 VLAN 的以太网硬件(802.3ac 和 802.1Q 之前)预计最大帧大小为 1518 字节(1500 字节有效载荷,加上 14 字节的报头和 4 字节的 CRC 校验和尾部)。但 VLAN 报头为 4 字节,因此为了保持大多数高层协议期望以太网能够达到的 1500 字节最大有效载荷,802.3ac(现为 802.3-2008 的一部分)中的最大以太网帧大小扩展到 1522 字节。但许多操作系统意识到,即使您没有支持 VLAN 的硬件,您也可以在主机上使用软件来实现 VLAN,但当使用只能处理 1518 字节帧的旧硬件时,您必须将有效载荷大小(IP MTU)缩小到 1496 而不是 1500,以便为 4 字节 VLAN 报头腾出空间。
所以!解决让您抓狂了两天的问题的一个方法可能是调整 VLAN 2 上所有机器(包括路由器)的 MTU,使其使用 1496 而不是 1500,因为这听起来像是您的路由器在软件中执行 VLAN。
在加载某些网站时,可能会发生以下情况:Web 浏览器或 Web 服务器尝试发送最大以太网有效负载大小的 1500 字节 IP 数据报,但该数据报需要变成 1522 字节的以太网帧,而路由器的硬件无法处理该数据报,因此会被丢弃。无需发送或接收任何 1500 字节以上的 IP 数据报即可加载的网站(包括使用较低 MTU 的网站或路径 MTU 发现运行良好的网站)仍可正常加载。
答案2
我觉得这听起来是对的。端口 2 和 4 位于各自的 vLAN 上,所以,它们就像连接到单独的交换机一样(不连接到任何其他端口的交换机,这就是 vLAN 的作用)。
如果您希望所有设备都能访问互联网,那么它们都必须连接到路由器。这应该很有意义。因此,您需要将两个 vLAN 都连接到路由器。您可以通过两种方式做到这一点:
- 来自路由器的两个物理连接,每个 vLAN 一个。
- 使用单个端口,该端口的两个 vLAN 均以标记配置连接,而不是未标记配置(这是您用于“正常”端口的方式,但一个端口最多可以有一个“未标记”vlan)。如果这样做,路由器必须经过编程才能理解它正在接收的标记 vLAN 数据包,它们不是长的“正常”数据包。
另外,您提到您已经尝试过一些方法来分离 LAN,但失败了。我猜您做了一些事情来分离它们,但路由器没有编程任何类型的访问控制来阻止两个网络相互通信。如果您执行上述操作而路由器仍然没有任何访问控制,那么您可能会陷入同样的境地。
此外,您需要使用两个不同的 IP 子网,每个 vLAN 一个。您不能在两个 vLAN 上使用同一个子网。例如,您可以在一个 vLAN 上使用 192.168.1.0/24,在另一个 vLAN 上使用 192.168.2.0/24。
答案3
您需要启动 DHCP 和 DNS vlan2
,并且显然允许转发和 NAT vlan2
。