利用企业级VPN路由与管理交换机构建多区域安全网络方案

通过企业级网络设备构建安全隔离的多区域网络,满足不同区域间的精确通信控制需求

网络需求概述

三个局域网区域

  • 老网络(能够外网通信)
  • 新网络(能够外网通信)
  • 内部环网

通信需求

  • 老网络的局域网、内部环网、新网络局域网之间能够互相通信
  • 新网络外网能够与内部环网进行通信
  • 老网络外网仅能与老网络的局域网通信,不能与新网络以及内部环网通信
  • 内部环网通过新网络的外网对外通信,但只有指定的手机设备才能使用外网

现有设备

  • 企业级 VPN 管理路由器(万兆)
  • 企业级万兆管理交换机
  • 企业级千兆管理交换机

两种方案的区别:

方案一中提到两台交换机(万兆和千兆)是基于一种常见的、可能需要扩展端口或区分不同速率/区域设备的场景。

只使用一台交换机(企业级万兆管理交换机)是完全可行的,前提是:

  1. 端口数量足够: 这台万兆交换机的物理端口数量必须足够连接所有的老网络设备、新网络设备、内部环网设备,并且还需要一个端口连接到企业级 VPN 路由器
  2. 管理功能: 这台交换机必须是管理型交换机,支持创建VLAN和配置 Trunk 端口

使用一台交换机的配置简化:

  1. 物理连接:
    • 路由器WAN1接老外网,WAN2接新外网。
    • 路由器的一个 LAN 口连接到这台万兆交换机的一个端口。
    • 所有老网络、新网络、内部环网的设备都直接连接到这台万兆交换机的其他端口。
  2. 交换机配置:
    • 在万兆交换机上创建VLAN 10, 20, 30
    • 将连接路由器的那个交换机端口配置为Trunk模式,允许VLAN 10, 20, 30通过。
    • 将连接老网络设备的端口配置为Access模式,划入VLAN 10
    • 将连接新网络设备的端口配置为Access模式,划入VLAN 20
    • 将连接内部环网设备的端口配置为Access模式,划入VLAN 30
  3. 路由器配置: 与方案一完全相同(配置 VLAN 接口、DHCP、路由策略、NAT、ACL 防火墙规则)。

为什么方案一包含两台交换机?

  • 端口扩展: 如果万兆交换机端口不够用,增加一台千兆交换机(通过 Trunk 连接到万兆交换机)可以提供更多端口。
  • 物理分布: 设备可能分布在不同区域,使用额外的交换机可以减少长距离布线。
  • 成本/速率考虑: 可能有些设备只需要千兆速率,连接到千兆交换机更经济。

结论

核心的网络分段(VLAN)、路由控制(路由器)和访问限制(路由器ACL)功能,只需要至少一台支持VLAN的管理型交换机配合路由器即可实现。如果您的一台万兆管理交换机端口足够,那么就不需要第二台交换机。第二台(千兆)交换机主要是为了解决端口数量或物理布局的问题。

方案一:使用一台路由器、两台交换机

设备组合

  • 一台企业级 VPN 管理路由器
  • 一台企业级万兆管理交换机
  • 一台企业级千兆管理交换机

核心思路

  1. 网络分段 (VLANs):利用管理交换机创建三个独立的 VLAN ,分别对应老网络、新网络和内部环网。这是实现隔离和精细控制的基础。

    • VLAN 10:老网络 (Old LAN)
    • VLAN 20:新网络 (New LAN)
    • VLAN 30:内部环网 (Internal Ring)
  2. 核心路由 (VPN Router):企业级 VPN 路由器作为网络核心,承担以下职责:

    • 连接两个外网(老网络外网、新网络外网);
    • 作为所有三个 VLAN 的网关,实现 VLAN 间的路由;
    • 配置防火墙/访问控制列表 (ACL) 来执行通信规则;
    • 配置 NAT(网络地址转换)使内网设备能访问外网;
    • 配置策略路由 (PBR) 来确保不同 VLAN 的流量从指定的 WAN 口出去。
  3. 访问控制 (ACLs):在 VPN 路由器上配置精确的 ACL 规则来满足通信限制要求。

  4. 设备识别 (DHCP Reservation/MAC Filtering):为了让内部环网只有指定手机能上网,需要识别这些手机。通常使用基于 MAC 地址的 DHCP 静态分配IP,然后针对这些 IP 配置 ACL,或者直接使用基于 MAC 地址的过滤(如果路由器支持)

详细配置步骤

  1. 物理连接

    • 将老网络的外网线连接到 VPN 路由器的一个 WAN 口(例如 WAN1);
    • 将新网络的外网线连接到 VPN 路由器的另一个 WAN 口(例如 WAN2);
    • VPN 路由器的一个 LAN 口(例如 LAN1)连接到核心万兆管理交换机的一个端口(例如 端口 1);这个连接将承载所有 VLAN 的流量。【重要: 这条链路是 Trunk 链路,需要承载所有内部网络的 VLAN 流量 (VLAN 10, 20, 30)。因此,路由器的 LAN1 口和交换机的端口 1 都需要配置为Trunk模式,并允许这些 VLAN 通过。】
    • 选择核心万兆管理交换机的另一个端口 (例如 端口 2)连接接入千兆管理交换机的一个端口 (例如 端口 1)。【重要: 这条链路也是 Trunk 链路,需要承载所有内部网络的 VLAN 流量 (VLAN 10, 20, 30),以便连接到接入交换机的设备也能访问所有网络资源(根据 ACL 规则)。因此,这两个端口都需要配置为Trunk模式,并允许这些 VLAN 通过。】
    • 老网络设备 (VLAN 10):
      • 可以将部分或全部老网络设备连接到核心万兆交换机的空闲端口 (例如 端口 3, 4, 5 等)。这些端口需要配置为Access模式,并划入 VLAN 10
      • 也可以将部分或全部老网络设备连接到接入千兆交换机的空闲端口 (例如 端口 2, 3, 4 等)。这些端口同样需要配置为Access模式,并划入 VLAN 10
    • 新网络设备 (VLAN 20):
      • 可以将部分或全部新网络设备连接到核心万兆交换机的空闲端口 (例如 端口 6, 7, 8 等)。这些端口需要配置为Access模式,并划入 VLAN 20
      • 也可以将部分或全部新网络设备连接到接入千兆交换机的空闲端口 (例如 端口 5, 6, 7 等)。这些端口同样需要配置为Access模式,并划入 VLAN 20
    • 内部环网设备 (VLAN 30):
      • 可以将部分或全部内部环网设备(包括用于连接指定手机的无线AP或有线设备)连接到核心万兆交换机的空闲端口 (例如 端口 9, 10, 11 等)。这些端口需要配置为Access模式,并划入 VLAN 30
      • 也可以将部分或全部内部环网设备(包括用于连接指定手机的无线AP或有线设备)连接到接入千兆交换机的空闲端口 (例如 端口 8, 9, 10 等)。这些端口同样需要配置为Access模式,并划入 VLAN 30
  2. 交换机配置(万兆和千兆管理交换机)

    • 创建 VLAN:在所有管理交换机上创建 VLAN 10 , VLAN 20 , VLAN 30
    • 端口划分
      • 将连接老网络设备的端口设置为 Access 模式,划入 VLAN 10
      • 将连接新网络设备的端口设置为 Access 模式,划入 VLAN 20
      • 将连接内部环网设备的端口设置为 Access 模式,划入 VLAN 30
    • Trunk 配置:将交换机之间互连的端口,以及连接到 VPN 路由器的交换机端口设置为 Trunk 模式,并允许 VLAN 10, 20, 30 通过。

以下配置参考方案二,路由器相关配置两个方案相同,语言描述不同,可两种方法进行相互参考,加以理解。

  1. VPN 路由器配置
    • WAN 口配置:配置 WAN1(老外网)WAN2(新外网)的 IP 地址、子网掩码、网关等信息。

    • LAN/VLAN 接口配置

      • 为每个 VLAN 创建对应的虚拟接口(例如 Interface VLAN10 , Interface VLAN20 , Interface VLAN30);
      • 为每个 VLAN 接口配置 IP 地址子网掩码,这些 IP 将作为对应 VLAN 内设备的网关地址。例如:
        • VLAN 10 接口: 192.168.10.1 / 255.255.255.0
        • VLAN 20 接口: 192.168.20.1 / 255.255.255.0
        • VLAN 30 接口: 192.168.30.1 / 255.255.255.0
    • DHCP 服务器(可选但推荐)

      • VLAN 10, 20, 30 分别配置 DHCP 作用域,自动分配 IP 地址给各网络的设备
      • 关键:在 VLAN 30DHCP 作用域中,为允许上网的指定手机设备,根据其 MAC 地址进行 IP 地址保留(静态分配)。例如,手机 A (MAC: AA:BB:CC:DD:EE:FF) 保留 IP 192.168.30.100
    • 路由配置

      • 路由器默认会开启 VLAN 间路由,使得 VLAN 10, 20, 30 之间可以互相通信(满足需求 1 的第一部分)
      • 策略路由 (PBR) 或负载均衡/故障转移:这是确保流量走向的关键
        • 规则 1: 源地址属于 VLAN 10 (192.168.10.0/24) 的流量,默认网关指向 WAN1(老外网)
        • 规则 2: 源地址属于 VLAN 20 (192.168.20.0/24) 的流量,默认网关指向 WAN2(新外网)
        • 规则 3: 源地址属于 VLAN 30 (192.168.30.0/24) 中允许上网的手机 IP 的流量,默认网关指向 WAN2(新外网)
        • (可能需要一条默认规则处理其他流量,或者根据具体路由器行为调整)
    • NAT 配置

      1. 假设路由器使用的是基于源 IP 地址 NAT 规则 (SNAT/Masquerade),这是最常见的内网设备访问外网的 NAT 方式。
      2. NAT 的核心目的:当内网设备(使用私有 IP 地址)需要访问互联网时,路由器会将这些设备的私有源 IP 地址替换为路由器的公网 IP 地址( WAN1 或 WAN2 的 IP ),这样互联网上的服务器才能将响应发回给路由器。路由器收到响应后再将目的IP地址替换回内网设备的私有IP地址
      3. 假设前提:
        • VPN 路由器 WAN1 IP: 203.0.113.1 (老网络外网的公网 IP)
        • VPN 路由器 WAN2 IP: 198.51.100.1 (新网络外网的公网 IP)
        • VLAN 10 (老网络) 内网 IP 段: 192.168.10.0/24
        • VLAN 20 (新网络) 内网 IP 段: 192.168.20.0/24
        • VLAN 30 (内部环网) 内网 IP 段: 192.168.30.0/24
        • 内部环网中允许上网的指定手机 IP: 192.168.30.100, 192.168.30.101
      4. NAT 配置示例:
        • 配置 NAT 规则,使得从 VLAN 10 出去访问外网的流量,使用 WAN1 的 IP 地址进行转换:
          • 规则名称: NAT_Old_LAN_to_WAN1
          • 匹配条件:
            • 源IP地址: 192.168.10.0/24 (或指定VLAN 10的IP范围)
            • 出接口 (Outgoing Interface): WAN1 (连接老网络外网的接口)
          • 转换动作:
            • 类型: Source NAT (SNAT) 或 Masquerade
            • 转换为的IP地址: 203.0.113.1 (WAN1 的公网 IP) 或使用接口地址 (Masquerade)
          • 说明: 这条规则将所有源自老网络 (VLAN 10) 且通过 WAN1 接口出去的流量的源 IP 地址,转换为 WAN1 的公网 IP 。
        • 配置 NAT 规则,使得从 VLAN 20 出去访问外网的流量,使用 WAN2 的 IP 地址进行转换:
          • 规则名称: NAT_New_LAN_to_WAN2
          • 匹配条件:
            • 源 IP 地址: 192.168.20.0/24 (或指定 VLAN 20 的 IP 范围)
            • 出接口 (Outgoing Interface): WAN2 (连接新网络外网的接口)
          • 转换动作:
            • 类型: Source NAT (SNAT) 或 Masquerade
            • 转换为的IP地址: 198.51.100.1 ( WAN2 的公网 IP ) 或使用接口地址 (Masquerade)
          • 说明: 这条规则将所有源自新网络 (VLAN 20) 且通过 WAN2 接口出去的流量的源 IP 地址,转换为 WAN2 的公网 IP 。
        • 配置 NAT 规则,使得从 VLAN 30允许上网的手机 IP 出去访问外网的流量,使用 WAN2 的 IP 地址进行转换:
          • 规则名称: NAT_Internal_Ring_Mobile_to_WAN2
          • 匹配条件:
            • 源 IP 地址: 192.168.30.100, 192.168.30.101 (或使用一个 IP 组/别名包含所有允许上网的手机 IP)
            • 出接口 (Outgoing Interface): WAN2 (连接新网络外网的接口)
          • 转换动作:
            • 类型: Source NAT (SNAT) 或 Masquerade
            • 转换为的 IP 地址: 198.51.100.1 ( WAN2 的公网 IP ) 或 使用接口地址 (Masquerade)
          • 说明: 这条规则将所有源自内部环网中指定手机 IP 且通过 WAN2 接口出去的流量的源 IP 地址,转换为 WAN2 的公网 IP 。
      5. 重要补充:
        • 策略路由 (PBR) 的作用: NAT 规则本身只说明了“如果流量从某个接口出去,就进行 NAT ”。而 PBR 决定了哪些源 IP 的流量应该从哪个 WAN 接口出去。所以,PBR 是 NAT 正确工作的前提。例如,PBR 会确保源 IP 是 192.168.10.x 的流量被导向 WAN1 ,然后NAT 规则 1才会对其生效。 PBR 会确保源 IP 是 192.168.20.x 和 192.168.30.100/101 的流量被导向 WAN2 ,然后NAT 规则 2 和 3才会对其生效。
        • 其他 VLAN 30 设备: 根据您的需求,内部环网中除了指定手机外的设备不能访问外网。这意味着这些设备的流量不会被 PBR 导向任何 WAN 接口,或者即使导向了,也会被 ACL 规则阻止访问外网。因此,不需要为这些设备配置 NAT 到外网的规则。
    • 防火墙/访问控制列表 (ACL) 配置这是实现限制的核心

      1. 规则集 1(满足需求 3 - 阻断老网络访问其他内网)
        • 应用在 VLAN 10 接口的 入方向 (Inbound) 或针对源自 VLAN 10 的流量:
        • Deny(拒绝)源 IP: 192.168.10.0/24, 目的 IP: 192.168.20.0/24
        • Deny(拒绝)源 IP: 192.168.10.0/24, 目的 IP: 192.168.30.0/24
        • Permit(允许)其他所有流量(允许 VLAN 10 访问自己的外网 WAN1)
      2. 规则集 2(满足需求 4 - 限制内部环网访问外网)
        • 应用在 VLAN 30 接口的 入方向 (Inbound) 或作为策略路由/NAT 的条件:
        • Permit(允许)源 IP: [手机 A 的保留 IP], 目的 IP: Any(或更精确地指向 WAN2 出口)
        • Permit(允许)源 IP: [手机 B 的保留 IP], 目的 IP: Any (…)
        • …(为所有允许的手机添加规则)
        • Permit(允许)源 IP: 192.168.30.0/24, 目的 IP: 192.168.10.0/24(允许访问老网络)
        • Permit(允许)源 IP: 192.168.30.0/24, 目的 IP: 192.168.20.0/24(允许访问新网络)
        • Deny(拒绝)源 IP: 192.168.30.0/24, 目的 IP: Any(拒绝所有其他 VLAN 30 设备访问外网)- 注意:这条规则需要放在允许规则之后。
      3. 规则集 3(满足需求 1 和 2 - 允许必要通信)
        • 通常,如果默认是允许 VLAN 间路由,并且没有其他 Deny 规则阻止,VLAN 10, 20, 30 之间就能通信。但要确保规则集 1 规则集 2 没有意外阻止必要的内部通信。例如,需要确保 VLAN 20 和 VLAN 30 可以互相访问
        • 关于"新网络外网能够与内部环网进行通信",这通常指内部环网通过新网络外网访问互联网(已在规则集 2 策略路由中处理)。
    • 外部设备通过新网络外网主动访问内部环网的设备

      1. 如果外部设备需要通过新网络外网主动访问内部环网的设备,则需要在路由器上配置端口转发(Port Forwarding)或 DNAT 规则,将来自 WAN2 特定端口的流量转发到内部环网特定设备的 IP 和端口,并确保防火墙允许此入站连接。
      2. 假设场景:
        • 您希望外部用户通过新网络外网(WAN2)访问内部环网(VLAN 30)中一台服务器(例如, IP 地址为 192.168.30.50)上的 Web 服务(端口 TCP 80)
        • 外部用户将访问新网络外网的公网 IP 地址 (198.51.100.1) 和一个特定的端口(例如,为了安全或区分服务,您可能不直接使用 80 端口,而是使用一个不同的外部端口,比如 TCP 8080)。
      3. 实现步骤 (在 VPN 路由器上配置):这主要包含两个核心部分:NAT 规则防火墙规则
        • 配置端口转发 / DNAT 规则:
          • 目的: 告诉路由器,当有流量到达 WAN2 接口,并且目标端口是您指定的外部端口时,将该流量的目的 IP 地址端口修改为内部服务器的私有IP地址端口
          • 配置示例 (概念性,具体界面或命令因路由器品牌而异):
            • 规则名称: Access_Internal_Server_via_WAN2
            • 入接口 (Incoming Interface): WAN2 (或与新网络外网关联的接口)
            • 协议: TCP (或者根据您要转发的服务选择 TCP/UDP/Any)
            • 外部端口 (External Port / WAN Port): 8080 (外部用户访问的端口)
            • 内部IP地址 (Internal IP / Destination IP): 192.168.30.50 (内部服务器的私有IP)
            • 内部端口 (Internal Port / Destination Port): 80 (内部服务器实际运行服务的端口)
            • 说明: 这条规则表示,任何从WAN2接口进入,协议为 TCP ,目标端口是 8080 的流量,都会被路由器修改其目标地址为192.168.30.50,目标端口为80,然后将流量转发到内部网络(VLAN 30)
        • 配置防火墙 / ACL 规则 (允许入站连接):
          • 目的: NAT 规则只负责地址转换和转发,但防火墙默认可能会阻止来自外部网络的连接。您需要显式地在防火墙中添加一条规则,允许外部流量到达经过DNAT转换后的内部服务器。
          • 配置示例 (概念性):
            • 规则名称: Allow_WAN2_to_Internal_Server
            • 方向: Inbound (入站) 或应用于 WAN2 接口的入站方向
            • 动作 (Action): Permit (允许)
            • 源 IP 地址 (Source IP): Any (允许任何外部 IP 访问,如果您只想允许特定外部IP访问,可以在这里指定)
            • 目的 IP 地址 (Destination IP): 192.168.30.50 (经过 DNAT 转换后的内部服务器私有 IP )
            • 协议: TCP
            • 目的端口 (Destination Port): 80 (内部服务器实际运行服务的端口,防火墙规则是针对转换后的内部流量)
            • 说明: 这条规则允许来自任何外部 IP 地址TCP流量,目的地址是192.168.30.50,目的端口是80。这条规则是在DNAT发生之后应用的。流量从WAN2进来,DNAT规则先将目标地址从 WAN2的公网 IP:8080转换为192.168.30.50:80,然后防火墙检查这条转换后的流量,如果符合此 Permit 规则,则允许通过。
      4. 重要考虑事项:
        • 内部服务器的网关: 内部环网(VLAN 30)中被访问的服务器 (192.168.30.50) 的默认网关必须指向 VPN 路由器VLAN 30上的接口IP地址 (192.168.30.1)。这样,服务器才能将响应流量正确地发送回路由器,路由器再通过 NAT 将源 IP(服务器的私有 IP)转换为WAN2的公网IP,并将响应发回给外部客户端。
        • 端口选择: 出于安全考虑,外部端口 (8080) 和内部端口 (80) 可以不同。这样可以避免直接暴露标准端口,减少被扫描的风险。
        • 协议: 确保您选择的协议(TCPUDP)与内部服务使用的协议一致。
        • 防火墙规则位置: 在某些路由器上,防火墙规则的应用顺序很重要。通常,入站的 NAT 规则会在防火墙规则之前处理。所以防火墙规则是针对转换后的流量进行的匹配。请查阅您的路由器文档确认规则处理顺序。
        • 安全性: 开放外部访问总是存在风险。考虑以下安全措施:
          • 限制源 IP 地址:如果可能,只允许特定的外部 IP 地址访问(在防火墙规则的源 IP 处指定)。
          • 使用 VPN:更安全的方式是让外部用户通过 VPN 连接到您的网络,然后再访问内部资源。
          • 入侵防御/检测系统 (IPS/IDS):如果路由器支持,启用这些功能。
          • 定期更新固件:确保路由器固件是最新的,以修补安全漏洞。
          • 仅开放必要的端口:不要开放不必要的端口。
        • 多个服务: 如果您需要从外部访问内部环网中的多个服务或多台设备,您需要为每个服务/设备配置单独的端口转发 / DNAT 规则,可能使用不同的外部端口。
      5. 通过以上配置,来自新网络外网 (198.51.100.1:8080) 的流量将被路由器转发到内部环网的服务器 (192.168.30.50:80),从而实现外部访问内部环网设备的需求。

总结与注意事项

  • 具体配置:不同品牌和型号的企业级路由器、交换机的配置界面和命令语法会有所不同,请参考设备的具体文档进行操作
  • IP 地址规划:上述 IP 地址段 (192.168.10.x, 20.x, 30.x) 仅为示例,请根据实际情况规划
  • 测试:配置完成后,务必从每个网络的设备进行详细测试,验证是否满足所有通信和阻断要求
    • 老网络设备能否访问老外网?能否访问新网络/内部环网(应成功)?
    • 新网络设备能否访问新外网?能否访问老网络/内部环网(应成功)?
    • 内部环网的普通设备能否访问外网(应失败)?能否访问老网络/新网络(应成功)?
    • 内部环网的指定手机能否访问外网(应成功,且通过新外网)?
  • 安全性:ACL 规则的顺序非常重要,通常是先匹配精确规则,最后是通用规则。确保 Deny 规则不会意外阻止必要的通信
  • 性能:万兆设备提供了良好的基础,但复杂的 ACL 和策略路由会消耗路由器 CPU 资源,注意监控设备负载

网络拓扑图

两台交换机(一台万兆管理交换机作为核心,一台千兆管理交换机作为接入/汇聚)方案的网络拓扑图(点击下载)如下:

graph TD
    subgraph "外部网络 (WAN)"
        WAN1("老网络外网 (WAN1)")
        WAN2("新网络外网 (WAN2)")
    end

    subgraph "核心网络设备"
        RTR("企业级VPN管理路由器\n(路由/ACL/NAT/PBR)")
        SW_Core("企业级万兆管理交换机 (核心)")
        SW_Access("企业级千兆管理交换机 (接入)")
    end

    subgraph "内部网络 (VLANs)"
        VLAN10("VLAN 10\n(老网络)")
        VLAN20("VLAN 20\n(新网络)")
        VLAN30("VLAN 30\n(内部环网)")
    end

    subgraph "终端设备"
        DEV10_Core("老网络设备 (接核心)")
        DEV20_Core("新网络设备 (接核心)")
        DEV30_Core("内部环网设备 (接核心)")
        DEV10_Access("老网络设备 (接接入)")
        DEV20_Access("新网络设备 (接接入)")
        DEV30_Access("内部环网设备 (接接入)\n含指定手机")
    end

    %% 连接关系
    WAN1 -- "连接WAN1口" --> RTR
    WAN2 -- "连接WAN2口" --> RTR
    RTR -- "LAN口 (Trunk: VLAN 10, 20, 30)" --> SW_Core

    SW_Core -- "Trunk Port\n(允许 VLAN 10, 20, 30)" --> SW_Access

    %% 设备连接到交换机并划分VLAN
    SW_Core -- "Access Port (VLAN 10)" --> VLAN10
    SW_Core -- "Access Port (VLAN 20)" --> VLAN20
    SW_Core -- "Access Port (VLAN 30)" --> VLAN30

    SW_Access -- "Access Port (VLAN 10)" --> VLAN10
    SW_Access -- "Access Port (VLAN 20)" --> VLAN20
    SW_Access -- "Access Port (VLAN 30)" --> VLAN30

    %% 终端设备连接示意 (可以连接到任一交换机)
    VLAN10 --- DEV10_Core
    VLAN10 --- DEV10_Access
    VLAN20 --- DEV20_Core
    VLAN20 --- DEV20_Access
    VLAN30 --- DEV30_Core
    VLAN30 --- DEV30_Access

    %% 逻辑说明 (通过节点文字体现)
    style DEV10_Core fill:#f9f,stroke:#333,stroke-width:2px
    style DEV10_Access fill:#f9f,stroke:#333,stroke-width:2px
    style DEV20_Core fill:#ccf,stroke:#333,stroke-width:2px
    style DEV20_Access fill:#ccf,stroke:#333,stroke-width:2px
    style DEV30_Core fill:#9cf,stroke:#333,stroke-width:2px
    style DEV30_Access fill:#9cf,stroke:#333,stroke-width:2px

图例说明

  • 外部网络 (WAN):两个互联网接入
  • 核心网络设备
    • VPN 路由器:连接 WAN,作为 VLAN 网关,执行路由、ACLNATPBR
    • 万兆管理交换机(核心):直接连接路由器,并可能连接部分高速设备。通过 Trunk 连接到接入交换机
    • 千兆管理交换机(接入):连接到核心交换机,提供更多的端口给终端设备
  • 内部网络 (VLANs):逻辑网络划分,跨越两台交换机。设备无论连接到核心还是接入交换机,只要端口配置正确,都属于相应的 VLAN
  • 终端设备:示例设备连接到不同的交换机,但根据端口配置属于对应的 VLAN。不同颜色的节点代表属于不同 VLAN 的设备(仅为示意)。指定需要上网的手机设备会连接到 VLAN 30 对应的端口(图中包含在 DEV30_Access 中)

这个拓扑图展示了使用两台交换机时的连接方式,其中核心交换机连接路由器和接入交换机,两台交换机都配置了 VLAN,并通过 Trunk 端口互连以传递所有 VLAN 流量。终端设备可以根据需要连接到任意一台交换机的相应 VLAN 端口。

方案二:使用一台路由器、一台交换机

设备组合

  • 一台企业级 VPN 管理路由器(万兆):承担 WAN 连接、VLAN 间路由、DHCP、NAT、防火墙( ACL )、策略路由( PBR ) 等核心功能。
  • 一台企业级万兆管理交换机:负责创建 VLAN,并将连接不同网络的设备划分到对应的 VLAN,通过 Trunk 口与路由器连接。

核心思路

  1. 网络分段 (VLANs):利用管理交换机创建三个独立的 VLAN ,分别对应老网络、新网络和内部环网。这是实现隔离和精细控制的基础。

    • VLAN 10:老网络 (Old LAN)
    • VLAN 20:新网络 (New LAN)
    • VLAN 30:内部环网 (Internal Ring)
  2. 核心路由 (VPN Router):企业级 VPN 路由器作为网络核心,承担以下职责:

    • 连接两个外网(老网络外网、新网络外网);
    • 作为所有三个 VLAN 的网关,实现 VLAN 间的路由;
    • 配置防火墙/访问控制列表 (ACL) 来执行通信规则;
    • 配置 NAT(网络地址转换)使内网设备能访问外网;
    • 配置策略路由 (PBR) 来确保不同 VLAN 的流量从指定的 WAN 口出去。
  3. 访问控制 (ACLs):在 VPN 路由器上配置精确的 ACL 规则来满足通信限制要求。

  4. 设备识别 (DHCP Reservation/MAC Filtering):为了让内部环网只有指定手机能上网,需要识别这些手机。通常使用基于 MAC 地址的 DHCP 静态分配IP,然后针对这些 IP 配置 ACL,或者直接使用基于 MAC 地址的过滤(如果路由器支持)

详细配置步骤

  1. 物理连接

    • 将老网络的外网线连接到 VPN 路由器的一个 WAN 口(例如 WAN1);
    • 将新网络的外网线连接到 VPN 路由器的另一个 WAN 口(例如 WAN2);
    • VPN 路由器的一个 LAN 口(例如 LAN1)连接到万兆管理交换机的一个端口(例如 端口 1);这个连接将承载所有 VLAN 的流量。【重要: 这条链路是 Trunk 链路,需要承载所有内部网络的 VLAN 流量 (VLAN 10, 20, 30)。因此,路由器的 LAN1 口交换机的端口 1 都需要配置为Trunk模式,并允许这些 VLAN 通过。】
    • 老网络设备 (VLAN 10):
      • 将所有老网络设备连接到万兆管理交换机的空闲端口 (例如 端口 2, 3, 4 等)。这些端口需要配置为Access模式,并划入 VLAN 10
    • 新网络设备 (VLAN 20):
      • 将所有新网络设备连接到万兆管理交换机的空闲端口 (例如 端口 11, 12, 13 等)。这些端口需要配置为Access模式,并划入 VLAN 20
    • 内部环网设备 (VLAN 30):
      • 将所有内部环网设备(包括用于连接指定手机的无线 AP 或有线设备)连接到万兆管理交换机的空闲端口 (例如 端口 21, 22, 23 等)。这些端口需要配置为Access模式,并划入 VLAN 30
  2. 万兆管理交换机配置

    • 创建 VLAN
      • 登录交换机管理界面
      • 创建三个 VLAN:
        • VLAN 10(命名为 Old_LAN)
        • VLAN 20(命名为 New_LAN)
        • VLAN 30(命名为 Internal_Ring)
    • 端口配置
      • Trunk 端口设置
        • 找到连接到 VPN 路由器 LAN1 口的那个交换机端口(例如 端口 1),将该端口模式设置为 Trunk
        • 配置该 Trunk 端口,允许 (Tagged)VLAN 10, VLAN 20, VLAN 30的流量通过。确保其 Native VLAN(或 PVID)通常设置为一个不使用的 VLAN ID 或者根据路由器侧配置匹配(如果路由器侧要求 Untagged 管理流量的话,一般建议都用 Tagged)
      • Access 端口设置
        • 找到连接老网络设备的端口(例如 端口 2-10),将这些端口模式设置为Access,将这些端口的PVID (Port VLAN ID)设置为10,并将它们划入Untagged VLAN 10
        • 找到连接新网络设备的端口(例如 端口 11-20),将这些端口模式设置为 Access,将这些端口的PVID设置为20,并将它们划入 Untagged VLAN 20
        • 找到连接内部环网设备的端口(例如 端口 21-30),将这些端口模式设置为 Access,将这些端口的PVID设置为30,并将它们划入Untagged VLAN 30

以下配置参考方案一,路由器相关配置两个方案相同,语言描述不同,可两种方法进行相互参考,加以理解。

  1. 企业级 VPN 路由器配置
    • WAN 口配置
      • 配置WAN1接口,使用老网络外网的 IP 地址、子网掩码、网关和 DNS 信息
      • 配置WAN2接口,使用新网络外网的 IP 地址、子网掩码、网关和 DNS 信息
    • LAN/VLAN 接口配置
      • 在连接交换机的那个物理 LAN 口(例如 LAN1)上启用VLAN Trunk功能(如果需要显式启用)
      • 创建三个 VLAN 虚拟接口
        • Interface VLAN 10
          • IP 地址: 192.168.10.1(作为 VLAN 10 的网关)
          • 子网掩码: 255.255.255.0
        • Interface VLAN 20
          • IP 地址: 192.168.20.1(作为 VLAN 20 的网关)
          • 子网掩码: 255.255.255.0
        • Interface VLAN 30
          • IP 地址: 192.168.30.1(作为 VLAN 30 的网关)
          • 子网掩码: 255.255.255.0
          • (请根据实际 IP 规划替换以上地址)
    • DHCP 服务器配置
      • VLAN 10 创建 DHCP 作用域,地址池为 192.168.10.x,网关指向 192.168.10.1,分配 DNS
      • VLAN 20 创建 DHCP 作用域,地址池为 192.168.20.x,网关指向 192.168.20.1,分配 DNS
      • VLAN 30 创建 DHCP 作用域,地址池为 192.168.30.x,网关指向 192.168.30.1,分配 DNS
      • 关键:在 VLAN 30 的 DHCP 配置中,找到 MAC 地址绑定静态地址分配功能。将指定允许上网的手机的 MAC 地址与其希望分配的固定 IP 地址(例如 192.168.30.100, 192.168.30.101 等)进行绑定
    • 路由配置(策略路由 PBR / 负载均衡)
      • 配置策略路由规则(或基于源 IP 的路由规则):
        • 规则 1:如果源 IP 地址属于 192.168.10.0/24(VLAN 10),则下一跳/出口指向 WAN1
        • 规则 2:如果源 IP 地址属于 192.168.20.0/24(VLAN 20),则下一跳/出口指向 WAN2
        • 规则 3:如果源 IP 地址是指定的手机 IP(例如 192.168.30.100192.168.30.101 等),则下一跳/出口指向 WAN2
        • 规则 4(可选,取决于默认路由行为):如果需要,可以设置默认路由指向 WAN2,或者根据需要设定其他 VLAN 30 设备(不允许上网的)的路由行为(通常不需要特殊路由,因为会被 ACL 阻止)
      • 路由器默认会允许已配置接口(VLAN 10, 20, 30)之间的路由,满足需求 1 的部分要求
    • NAT 配置
      • 配置源 NAT(SNAT)或 MASQUERADE 规则:
        • 当流量从 192.168.10.0/24 经由 WAN1 出去时,将源 IP 转换为 WAN1 的公网 IP
        • 当流量从 192.168.20.0/24 经由 WAN2 出去时,将源 IP 转换为 WAN2 的公网 IP
        • 当流量源 IP 是指定的手机 IP(例如 192.168.30.100)经由 WAN2 出去时,将源 IP 转换为 WAN2 的公网 IP
    • 防火墙/访问控制列表 (ACL) 配置
      • 规则集 1:限制老网络 (VLAN 10) 访问其他内网(满足需求 3)
        • 方向:从 VLAN 10(源)到其他 VLAN(目的)/ 应用在 VLAN 10 接口入方向或全局策略
        • 规则 1.1:Action: Deny, Source IP: 192.168.10.0/24, Destination IP: 192.168.20.0/24
        • 规则 1.2:Action: Deny, Source IP: 192.168.10.0/24, Destination IP: 192.168.30.0/24
        • (隐式或显式允许 Source IP: 192.168.10.0/24 访问外部网络 WAN1,这通常由 PBR 和 NAT 处理,确保 ACL 不阻止出站)
      • 规则集 2:控制内部环网 (VLAN 30) 访问(满足需求 1, 2, 4)
        • 方向:从 VLAN 30(源)到任意 / 应用在 VLAN 30 接口入方向或全局策略
        • 规则 2.1:Action: Permit, Source IP: [手机 A 的固定 IP], Destination IP: Any(允许手机 A 访问所有地方,包括新外网 WAN2 及其他内网)
        • 规则 2.2:Action: Permit, Source IP: [手机 B 的固定 IP], Destination IP: Any (…)
        • …(为所有允许上网的手机添加 Permit 规则)
        • 规则 2.3:Action: Permit, Source IP: 192.168.30.0/24, Destination IP: 192.168.10.0/24(允许 VLAN 30 访问 VLAN 10)
        • 规则 2.4:Action: Permit, Source IP: 192.168.30.0/24, Destination IP: 192.168.20.0/24(允许 VLAN 30 访问 VLAN 20)
        • 规则 2.5:Action: Deny, Source IP: 192.168.30.0/24, Destination IP: Any(拒绝 VLAN 30 中 除了上面允许的手机 IP 之外 的所有设备访问任何外部网络 - 此规则必须放在允许规则之后
      • 规则集 3:确保新网络 (VLAN 20) 的必要访问(满足需求 1, 2)
        • 通常不需要显式规则,除非有默认拒绝策略。确保 VLAN 20 可以访问 VLAN 10 和 VLAN 30(VLAN 间路由默认允许),并且可以通过 WAN2 访问外网(由 PBR 和 NAT 处理)
      • 规则集 4:新网络外网访问内部环网(满足需求 2 后半部分 - 如果需要,可参考方案一)
        • 如果需要从外部通过新网络外网主动访问内部环网(VLAN 30)的设备(例如服务器),需要在路由器上配置端口转发 (Port Forwarding)DNAT
        • 例如:将来自 WAN2 特定端口(如 TCP 8080)的流量转发到内部环网某设备的私有 IP(如 192.168.30.50)和目标端口(如 TCP 80)
        • 同时,需要在防火墙/ACL 中添加入站规则,允许来自 WAN2 的流量访问该内部 IP 和端口

总结与注意事项

  • 一台交换机可行:只要万兆管理交换机端口足够,此方案完全可行
  • 配置细节:不同品牌路由器的 PBR、ACL、NAT 配置方式差异较大,请务必参考设备的官方文档
  • ACL 顺序:防火墙规则的顺序至关重要,通常是"先允许特定的,后拒绝通用的"
  • 测试:配置完成后,务必从每个 VLAN 的设备(包括允许和不允许上网的手机)进行全面的连通性测试,验证是否符合所有需求
  • IP 规划:示例 IP 地址仅供参考,请使用自己的规划
  • 性能监控:复杂的 ACL 和 PBR 会增加路由器 CPU 负担,注意监控设备性能

这个方案减少了一台交换机,简化了物理拓扑,但核心的逻辑和在路由器上的配置复杂度基本不变。

网络拓扑图

一台交换机(一台万兆管理交换机作为核心、接入/汇聚)方案的网络拓扑图(点击下载)如下:

graph TD
    subgraph "外部网络 (WAN)"
        WAN1("老网络外网 (WAN1)")
        WAN2("新网络外网 (WAN2)")
    end

    subgraph "核心网络设备"
        RTR("企业级VPN管理路由器\n(路由/ACL/NAT/PBR)")
        SW("企业级万兆管理交换机")
    end

    subgraph "内部网络 (VLANs on Switch)"
        VLAN10("VLAN 10\n(老网络)")
        VLAN20("VLAN 20\n(新网络)")
        VLAN30("VLAN 30\n(内部环网)")
    end

    subgraph "终端设备"
        DEV10("老网络设备\n(只能访问VLAN10和WAN1)")
        DEV20("新网络设备\n(可访问所有内网和WAN2)")
        DEV30_Normal("内部环网普通设备\n(可访问VLAN10/20, 不能访问WAN)")
        DEV30_Mobile("指定手机设备\n(可访问所有内网和WAN2)")
    end

    %% 连接关系
    WAN1 -- "连接WAN1口" --> RTR
    WAN2 -- "连接WAN2口" --> RTR
    RTR -- "LAN口 (Trunk: VLAN 10, 20, 30)" --> SW

    SW -- "Access Port\n(划入VLAN 10)" --> VLAN10
    SW -- "Access Port\n(划入VLAN 20)" --> VLAN20
    SW -- "Access Port\n(划入VLAN 30)" --> VLAN30

    VLAN10 --- DEV10
    VLAN20 --- DEV20
    VLAN30 --- DEV30_Normal
    VLAN30 --- DEV30_Mobile

    %% 逻辑说明 (通过节点文字体现)
    %% 路由和访问控制由路由器RTR实施

图例说明

  1. 外部网络 (WAN):代表两个互联网连接。
  2. 核心网络设备:
    • 企业级VPN管理路由器: 连接两个外网,并作为所有内部 VLAN 的网关。它负责执行路由决策、网络地址转换( NAT )、访问控制列表( ACL )以及策略路由( PBR )来满足您的通信规则。
    • 企业级万兆管理交换机: 创建 VLAN 并将设备端口划分到相应的 VLAN 。通过 Trunk 链路与路由器连接,传递所有 VLAN 的流量。
  3. 内部网络 (VLANs on Switch): 逻辑上划分的网络区域。
    • VLAN 10 (老网络): 包含老网络的设备。
    • VLAN 20 (新网络): 包含新网络的设备。
    • VLAN 30 (内部环网): 包含内部环网的设备。
  4. 终端设备: 连接到各个 VLAN 的示例设备,并标注了其主要的访问权限。

这个拓扑图直观地展示了物理连接和逻辑上的 VLAN 划分,以及核心设备在网络中的角色。

使用 Hugo 构建, 主题 StackJimmy 设计
本博客已稳定运行:, 共发表了10篇文章