You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止Azure VPN Gateway P2S客户端在IP段内互访?

问题场景

基础设施背景

  • 虚拟网络IP段:10.0.0.0/16
  • VPN网关所在子网:GatewaySubnet(10.0.1.0/24)
  • VPN网关配置:OpenVPN证书认证,客户端IP地址池为10.2.0.0/24
  • 当前状态:已连接的两个客户端(10.2.0.2、10.2.0.3)可互相访问,存在被攻陷后横向渗透的安全风险

核心需求

阻止10.2.0.0/24段内的所有VPN客户端互相通信;排除多VPN网关部署、IP白名单方案(前者成本高,后者扩展性差);已尝试NSG、Azure防火墙,均无法生效


解决方案

1. 配置VPN网关的客户端拒绝路由(推荐)

Azure托管VPN网关支持通过自定义路由实现客户端网段互访限制:

  • 登录Azure门户,找到目标VPN网关,进入「点到点配置」(或OpenVPN专属配置页)
  • 添加一条自定义路由规则:
    • 目标地址前缀:10.2.0.0/24
    • 下一跳类型:选择拒绝(Reject)
  • 保存配置后,所有VPN客户端将无法访问同网段内的其他节点,但仍可正常访问虚拟网络内的资源

2. 用用户定义路由表(UDR)拦截流量

创建UDR并关联到GatewaySubnet,丢弃客户端网段互访流量:

  • 新建用户定义路由表,添加一条路由:
    • 地址前缀:10.2.0.0/24
    • 下一跳类型:无(None)
  • 将该路由表关联到VPN网关所在的GatewaySubnet
  • 原理:此路由会阻止VPN网关向10.2.0.0/24网段转发流量,客户端互访数据包会被直接丢弃,不影响客户端与虚拟网络的通信

3. OpenVPN服务器端配置(自定义部署场景)

如果是自行部署的OpenVPN服务器(非Azure托管网关),可直接在服务器配置中添加拒绝路由:

  • 编辑OpenVPN主配置文件(通常为server.conf),加入:
    push "route 10.2.0.0 255.255.255.0 reject"
    
  • 重启OpenVPN服务,客户端会同步这条拒绝路由,从而无法访问同网段其他客户端

关键说明

  • NSG无法生效的原因:VPN客户端IP属于虚拟网络外部的地址池,客户端互访流量是通过VPN网关内部转发的,NSG仅管控子网内或进出子网的流量,无法捕获这类内部转发流量
  • Azure防火墙无效的原因:客户端互访流量默认不会经过Azure防火墙,必须通过路由强制引导流量至防火墙才能过滤,但这种配置复杂且没必要

内容的提问来源于stack exchange,提问作者itsbriany

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 21:17:34