带 VLAN 的交换机:如何在 VLAN 网络之间映射

网络工程 路由 转变 局域网 桥接
2022-02-27 09:18:54

假设以下网络布局

                                        +--------+
----------------------------------------| Switch |-----------------
|               ------------------------+--------+---             |
|               |             ----------|           |             |
|               |             |                     |             |
PC A            PC B          PC C                  Other PC X    Other PC Y
192.168.1.50    192.168.1.51  192.168.1.52          any           any
Network 1       Network 1     Network 1             Network 2     Network 3

PC A、B、C 的 IP 地址是静态的、固定的,不能更改。其他 PC X、Y 的 IP 地址是可配置的,可以是 DHCP 或静态的,可以是任何 IP 地址。

除了网络 2 和网络 3 应该能够访问 PC A 上的某些服务外,所有三个网络都应该是隔离的。

我想到了一个带有 VLAN 的交换机,以隔离三个网络。现在我的问题是,如何为网络 2 和网络 3 配置给定的 IP 将“映射”到 192.168.1.50?

例如,假设网络 2 有一些 IP 范围为 10.50.1.1 到 10.50.1.30 的 PC,并且想要定义 10.50.1.25 将映射到 192.168.1.50 的 IP,以便访问 PC 的服务网络 2 中的 A。我有一个 Netgear GS105E,所以我可以配置 VLAN,但我认为不可能实现这种映射。

我的下一个猜测是将连接 192.168.1.50 的交换机的端口分配给所有三个 VLAN,因此通常 192.168.1.50 将能够接收来自网络 2 和网络 3 的数据包,而 PC A 本身会这样做“映射”。但我不知道,所以我问这样做的标准方法是什么,因为我认为这是带有 VLAN 的交换机的标准用例。

2个回答

创建 VLAN 时,您将交换机拆分为单独的逻辑设备,每个设备都服务于其专用网段。它们的行为与单独的、未连接的物理设备完全一样;没有流量可以从一个 VLAN 转发到另一个 VLAN——这就是 VLAN 的全部目的。每个网段必须是其自己的独立子网,即连接到该网段的设备必须具有相同地址范围内的 IP 地址。必须路由 VLAN 之间的流量。

                                     +--------------+
                                     |   ROUTER     |
                                     +--------------+
                                            |
                                            |
                                        +--------+
----------------------------------------| Switch |--------------------
|               ------------------------+--------+---                |
|               |             ----------|           |                |
|               |             |                     |                |
PC A            PC B          PC C                  Other PC X       Other PC Y
192.168.1.50    192.168.1.51  192.168.1.52          10.50.1.30       any           
Network 1       Network 1     Network 1             Network 2        Network 3
                    

连接到路由器的交换机端口必须是所有 VLAN 中的成员(中继端口),以便它可以将所有 VLAN 的流量传送到路由器。路由器端口必须具有所有范围的 IP 接口,例如 192.168.1.1/24、10.50.1.1 和“任何”。该 IP 将是子网的 PC 默认网关(192.168.1.1 用于 192.168.1.0/24,10.50.1.1 用于 10.50.1.0/24...)。

如果 PC X 想要到达 192.168.1.50,它会将流量发送到它的默认网关路由器,路由器会将流量转发到网络 1 中的 192.168.1.50;等等。

现在您当前的硬件存在问题。您有一个简单的 5 端口交换机,并且所有端口都在使用中。因此,您必须牺牲其中一个端口用于路由器连接,或者更换交换机。

对于网络,这种简单的替代方法是完全取消路由器,并直接在交换机本身上转发 VLAN 之间的流量。这需要支持 L3 的路由交换机。Netlink 的 Gigabit Ethernet Plus -line中的所有设备都没有L3 功能。

除了网络 2 和网络 3 应该能够访问 PC A 上的某些服务外,所有三个网络都应该是隔离的。

这要求在这些网络之间进行路由——PC A 需要在网络 1 和其他网络之间使用(默认)网关,网络 2/3 中的主机也是如此。

如何为网络 2 和网络 3 配置给定 IP 将“映射”到 192.168.1.50?

没有什么可以“映射”的。只需在两者之间设置一个路由器/网关,并确保所有主机都知道如何使用该网关,即。已为远程网络设置路由(或到所有远程网络的默认路由或为每个网络设置单独的路由)。

将路由器连接到所有 VLAN 可能最容易通过在交换机和路由器之间的单个物理链路上中继VLAN 来完成:您将所有需要的 VLAN 配置为在每一侧的相应端口上标记。在路由器上,为每个网络设置一个带有所需 VLAN ID的子接口。

在多个地址范围之间进行转换称为网络地址转换(通常是路由器的工作)。处理为节省公共地址空间而引入的私有地址是一个难题。您不会在自己的网络中使用它。(你可以,但你迟早会后悔的。)

当 VLAN 之间需要高性能时,您可以考虑将交换机替换为第 3 层交换机。这本质上是一个能够在 VLAN 之间路由的交换机(与单独连接的路由器相比)。它具有在硬件中完全路由(以“线速”)的优势,将所有内容包含在一个盒子中,并且由于节省了第 2 层跃点而节省了一些延迟。