Azure Virtual Network Gateway如何移除传播网络,限制P2S客户端仅访问指定子网?
根本原因
路由下发不生效源于两个配置逻辑的认知偏差:
- 子网级路由表仅影响VNet内部的流量转发决策,完全不参与P2S VPN网关向客户端推送路由的流程,后续新建路由表、配置下一跳的操作从一开始就无法解决客户端侧看到全VNet路由的问题。
- Azure P2S VPN网关默认会把整个VNet地址空间的所有前缀作为路由条目推送给所有连接的客户端。之前通过
--custom-routes追加自定义网段的操作,是在保留原有全VNet默认路由的基础上追加可访问网段,根本没有替换掉默认推送的全VNet路由条目。
正确配置调整步骤
- 进入虚拟网络网关的Point to Site配置页,找到路由下发列表(自定义路由配置块)。不需要在原有列表基础上追加条目,直接清空列表里原有的默认条目
10.50.50.0/23,仅保留希望客户端可访问的两个网段:10.50.51.0/26、10.50.51.64/26。
该操作的本质是:当路由列表完成手动编辑后,网关会关闭“自动推送全VNet地址空间路由”的默认逻辑,后续只会把列表中保留的网段推送给客户端。 - 如果通过命令行配置,需要确保
--custom-routes参数仅传入需要开放的两个网段,不要包含默认的全VNet网段,参考命令结构:az network vnet-gateway update --name <你的网关名称> --resource-group <资源组名称> --custom-routes "10.50.51.0/26 10.50.51.64/26" - 等待网关完成配置部署(状态从“更新中”恢复为“正在运行”),重新下载对应认证方式的VPN客户端配置文件,重新安装后再次连接。此时检查客户端路由表,只会看到配置的两个网段的路由条目,不会再出现
10.50.50.0/23的全VNet路由。
额外注意点
- 之前创建的子网路由表不需要删除,如果后续有VNet内部的流量路径调整需求可以继续保留,但在该场景下不需要做任何绑定操作。
- 只要自定义路由列表中没有包含其他子网的网段,客户端即使手动添加路由,也无法绕过限制访问10.50.50.0/26、10.50.50.64/26、10.50.50.128/26、172.16.0.0/26这些子网,不需要额外配置网络安全组规则做拦截。
- 如果10.50.51.64/26网段还没有分配到对应子网资源,需要提前在VNet的子网配置中纳入该网段的规划,否则即使客户端路由可达,实际流量也无法正常转发。
内容的提问来源于stack exchange,提问作者Laki
相关产品推荐
相关产品推荐

