如何在Azure中配置子网与自定义路由实现指定主机跨子网访问控制
前置资源检查与配置
- 确认你使用的Azure虚拟网络(VNet)已包含所需的所有地址段:
10.0.0.0/24、10.0.1.0/29(刚好容纳4个可用IP,对应子网A)、10.0.2.0/29(容纳4个可用IP,对应子网B),避免地址冲突。 - 确认IP为
10.0.0.3的虚拟机网卡已开启IP转发:进入该虚拟机的「网络配置」页面,找到对应的网卡,在「IP配置」页签中开启IP转发选项,允许该网卡转发非自身目标的流量。
路由表配置
- 新建路由表,关联到子网A,添加自定义路由条目:
- 目标地址段:
10.0.2.0/29(子网B的地址范围) - 下一跳类型:虚拟设备
- 下一跳地址:
10.0.0.3
- 目标地址段:
- 若需要子网B的回程流量也走该设备,可以给子网B也关联同一张路由表,添加回程路由指向
10.0.0.3,如果无特殊需求也可以保留默认系统路由,建议手动配置避免路由环路。
网络安全组(NSG)规则配置(访问控制核心)
给子网B关联专属NSG,按优先级从高到低添加以下入站规则:
- 允许规则(优先级设为100,数值越小优先级越高):
- 源:
10.0.0.3/32 - 源端口范围:
* - 目标:
10.0.2.0/29 - 目标端口范围:按需开放,全量开放可填
* - 协议:
Any - 动作:允许
- 源:
- 拒绝规则(优先级设为200):
- 源:
10.0.1.0/29(子网A的其他主机地址段) - 源端口范围:
* - 目标:
10.0.2.0/29 - 目标端口范围:
* - 协议:
Any - 动作:拒绝
- 源:
注意:必须保证允许10.0.0.3的规则优先级高于拒绝子网A其他主机的规则,否则会出现所有流量都被拒绝的问题。
配置验证
- 用子网A内除10.0.0.3外的主机访问子网B内资源,确认无法连通
- 登录10.0.0.3主机访问子网B内资源,确认可以正常连通
- 用
traceroute(Linux)或tracert(Windows)命令跟踪到子网B的路由路径,确认下一跳为10.0.0.3
内容的提问来源于stack exchange,提问作者LinusGates
相关产品推荐
相关产品推荐

