4. 迁移网络与连接设计
迁移网络设计的核心目标不是“把线连通”,而是让本地数据中心、Azure虚拟网络、分支机构和互联网访问在地址不重叠、路由可预测、流量可审计、故障可回退四个条件下安全互通。设计顺序应从地址规划开始,再确定混合连接方式,最后补齐DNS、防火墙与安全策略,否则后期改地址或改路由的代价极高。
一、先定地址空间与拓扑骨架
Azure虚拟网络(VNet)使用私有地址空间,常见规划为生产、非生产、共享服务、DMZ四类VNet,或采用Hub-Spoke拓扑:Hub VNet承载VPN/ExpressRoute网关、Azure Firewall、DNS转发器;Spoke VNet承载业务子网,通过VNet Peering接入Hub。示例规划如下(属于教学示例,非实测结果):
| 用途 | 地址空间 | 关键子网 |
|---|---|---|
| Hub VNet | 10.0.0.0/16 | GatewaySubnet 10.0.1.0/27、AzureFirewallSubnet 10.0.2.0/26、DNS 10.0.3.0/28 |
| 生产 Spoke | 10.10.0.0/16 | App 10.10.1.0/24、DB 10.10.2.0/24 |
| 非生产 Spoke | 10.20.0.0/16 | App 10.20.1.0/24 |
| 本地数据中心 | 192.168.0.0/16 | 服务器段 192.168.10.0/24 |
必须避免本地与Azure地址重叠,否则VPN或ExpressRoute路由无法正确发布。GatewaySubnet名称固定,不能改名;Azure Firewall需要独立的AzureFirewallSubnet。Spoke之间默认不互通,需要显式Peering或经Hub防火墙转发。
二、混合连接:VPN网关与ExpressRoute的选择
VPN网关适合中小带宽、快速开通、成本敏感或作为备份链路;ExpressRoute适合大带宽、低延迟、SLA要求高且需要私网连接的生产场景。两者可共存,形成主备或负载分担。VPN网关的关键参数包括:GatewaySubnet、SKU(如VpnGw2)、路由类型(RouteBased)、本地网络网关(Local Network Gateway)和共享密钥。站点到站点连接示例:
# 示例:创建VPN网关(教学示例参数)
az network vnet-gateway create \
--name vpn-gw-hub \
--resource-group rg-network \
--vnet hub-vnet \
--gateway-type Vpn \
--vpn-type RouteBased \
--sku VpnGw2 \
--public-ip-address pip-vpn-gw
# 本地网络网关:声明本地公网IP与地址空间
az network local-gateway create \
--name lgw-datacenter \
--resource-group rg-network \
--gateway-ip-address 203.0.113.10 \
--local-address-prefixes 192.168.0.0/16
ExpressRoute则通过连接服务提供商的专线接入Microsoft Enterprise Edge(MSEE),配置Private Peering(访问VNet)和Microsoft Peering(访问Microsoft 365、Azure PaaS)。ExpressRoute不经过公网,但需要规划VLAN ID、对等ASN、/30互联子网和路由过滤。若同时使用VPN作为备份,需配置BGP路由优先级,使ExpressRoute为主路径。
三、DNS设计:解析决定连通体验
混合场景中DNS最容易出问题:本地服务器解析Azure私有域名、Azure资源解析本地域名,都需要条件转发。推荐在Hub VNet部署DNS转发器(如Windows DNS或Azure Private DNS Resolver),本地DNS将azure.contoso.com转发到Azure DNS,Azure DNS将corp.contoso.com转发到本地DNS。Azure Private DNS Zone用于解析Private Endpoint和内部服务,例如privatelink.database.windows.net。若使用Azure Firewall作为DNS代理,需在VNet DNS设置中指向防火墙私有IP,并在防火墙策略中配置DNS规则。
四、防火墙与安全策略
Azure Firewall部署在Hub VNet,集中控制东西向和南北向流量。关键配置包括:网络规则(IP/端口)、应用规则(FQDN)、DNAT规则(发布内部服务)和威胁情报。Spoke VNet通过UDR将默认路由指向防火墙私有IP,实现强制隧道。示例UDR:目标0.0.0.0/0下一跳为虚拟设备10.0.2.4。同时,NSG用于子网级微隔离,例如DB子网仅允许App子网访问1433端口。需注意:NSG与Azure Firewall是互补关系,不是替代关系。
五、验证与排障要点
连通性验证不能只看“能ping通”。建议按以下顺序检查:第一,确认VNet与本地地址无重叠;第二,在VPN网关或ExpressRoute连接上查看BGP路由是否发布和接收;第三,检查UDR是否将流量正确指向防火墙;第四,查看Azure Firewall网络规则和应用规则日志,确认允许或拒绝;第五,用nslookup或Resolve-DnsName验证条件转发是否生效;第六,测试主备链路切换,记录切换时间和丢包情况。若出现“能解析不能访问”,优先检查NSG和防火墙规则;若出现“能访问不能解析”,优先检查DNS转发器和Private DNS Zone关联。
完成上述设计后,网络层应形成清晰的分层:地址规划决定可达范围,混合连接决定路径,DNS决定名称解析,防火墙与NSG决定安全边界。四者缺一不可,且必须在迁移前完成端到端验证,而不是在业务上线后再补。