如何让属于两个独立VLAN的设备能够互相通信?

如何让属于两个独立VLAN的设备能够互相通信?

我想设置多个 VLAN,以便能够将不同类型的设备相互隔离。更具体地说,我想限制 Wi-Fi 设备在探索网络时可以看到的内容:例如,它们可以通过 HTTP 访问反向代理,但它们不应该能够访问 syslog 服务器或嗅探 SNMP v1/v2 流量,也不应该知道存在 syslog 服务器或 SNMP 流量。

我正在使用 Netgear ProSafe 智能交换机来设置 VLAN。我已经:

  1. 为了测试目的创建了 VLAN 6。
  2. 将相应交换机端口设置为PVID 6。
  3. 将此端口的 VLAN 成员身份标记为未标记。
  4. 确保目前已为所有设备设置“接受所有”可接受的帧类型。根据文档,这意味着“端口上接收到的未标记和优先级标记的帧均被接受,并被分配该端口的端口 VLAN ID 值。”
  5. 将 VLAN 6 路由 IP 地址和掩码设置为 192.168.252.1/24。
  6. 确保交换机设置为在路由模式下运行。
  7. 重新配置/etc/network/interfaces测试机器。

以下是网络的简化视图:

显示两个 VLAN 上的两台机器的网络图。

我原本期望能够在test2和之间进行通信test1,但事实并非如此。目前:

  • test2:~ ping 192.168.252.1作品。
  • test2:~ ping 8.8.8.8没有,也没有ping 192.168.1.5ping 192.168.1.1ping 192.168.1.3
  • test1:~ ping 192.168.252.2不起作用。
  • test2:~ nc -u 192.168.1.5 53有效(如果 192.168.1.5 处于监听模式nc -ul 53)。
  • test1:~ nc -u 192.168.252.2不起作用。
  • nc在 TCP 模式下,任何方向都不起作用。

交换机显示的路由表在已学习路由列表中列出了两个 VLAN,并指明了每条路由的正确 VLAN。同一交换机还显示 ARP 缓存,其中包含所有四台机器的正确 MAC 地址。

对于 VLAN 间通信,我还应该做哪些其他事情?

答案1

看起来问题不在于配置,而在于 VLAN 1(保留 VLAN,默认使用)的特殊之处。

事实上,我添加了第三台机器test3并进行了一些测试。当我将第三台机器放在第三个 VLAN 上时,似乎可以在它和(位于 VLAN 6 上)之间交换 UDP 数据包,但我在和之间遇到的问题与之前在和之间遇到的test2问题完全相同。test3test1test2test3

图表显示 VLAN 6 - VLAN 7 通信正常,但 VLAN 1 不正常

因此,解决方案就是将所有机器从 VLAN 1 移至其他 VLAN。

相关内容