
# 通过DNS解析器实现VPC单线出口场景下的智能解析
#### 背景
多数企业业务部署在华为云VPC内，通过公网NAT网关绑定弹性公网IP访问公网。若NAT网关仅配置电信/联通/移动单运营商线路EIP，默认DNS递归解析无法感知出口运营商线路，权威DNS只能随机返回解析IP，易出现跨运营商访问、网络时延高、业务卡顿等问题。
为解决该问题，需要依托DNS智能解析能力，让域名解析请求携带出口运营商网络信息，权威DNS匹配同运营商就近节点，实现VPC单线出口下的智能调度访问。
#### 方案概述
本文针对VPC绑定单线运营商EIP出口场景，介绍通过DNS解析器出站终端节点、转发规则能力，实现域名智能线路解析，可以让VPC内业务访问公网时匹配同运营商最优节点，降低网络时延、提升访问稳定性。
#### 实现原理
借助华为云解析器出站终端节点承载VPC内DNS流量，配置转发规则将全网域名解析请求转发至公共DNS；通过NAT单线EIP统一公网出口，权威DNS基于线路智能调度机制，返回与出口运营商匹配的最优解析IP，业务流量就近接入。
![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002687909042.png "点击放大")
1. 业务VPC内的ECS01发起www.example.com的域名查询请求。
2. 域名查询请求命中转发规则，请求流量转发至出站终端节点。
3. 域名查询请求在出站VPC经由NAT网关绑定的电信IP转发至公共DNS进行递归查询。
4. 公共DNS进行递归查询时，电信IP子网信息会被携带至example.com的权威DNS侧，权威DNS根据智能解析规则，返回电信线路对应的IP地址2.2.xx.xx。
5. 业务VPC内的ECS通过NAT网关绑定的电信IP地址对目标地址2.2.xx.xx发起业务请求，网内访问，时延更低。
 
#### 约束与限制
- 仅支持华为云公网NAT网关绑定单运营商单线EIP场景，不适用多线路负载均衡架构。
- 出站终端节点归属固定VPC，创建后不支持修改所属VPC，需提前规划选择与单线NAT网关同一VPC。
- 为保障解析高可用，需要为出站终端节点配置至少2个子网IP。
- 转发规则创建后，不支持修改域名、类型、出站终端节点信息。
- 转发规则的域名和VPC不能与已创建的内网域名及其关联的VPC信息冲突。
- 配置根域名转发规则时，除内网域名以外的所有域名将被转发至指定DNS解析，请谨慎操作。
- 仅支持转发至公共DNS。
- 目标访问域名的权威DNS需支持运营商线路调度，否则无法实现智能线路匹配。
- 单出站终端节点存在解析并发配额，高并发业务需提前评估容量，避免触发解析限流。 相关配额与规格限制详情请参见[约束与限制](https://support.huaweicloud.com/productdesc-dns/dns_pd_0015.html)。
  
 
#### 前提条件
- 已完成VPC及子网创建，完成网络网段规划。
- 已申请单运营商单线弹性公网IP，并创建公网NAT网关。
- 已为NAT网关配置SNAT规则，实现VPC内子网主机正常访问公网。请参见[通过公网NAT网关的SNAT规则访问公网](https://support.huaweicloud.com/qs-natgateway/nat_qs_0001.html)。
- 已开通华为云云解析DNS服务，账号具备解析器终端节点、转发规则创建权限。
 
 #### 步骤一：创建出站终端节点
1. 进入[解析器列表页面](https://console.huaweicloud.com/dns/?#/dns/resolverList)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000001884579401.png)，选择区域和项目。
3. 在页面右上角，单击"创建终端节点"。 根据界面提示配置相关参数：
   - **终端节点方式**：此处选择"出站"
   
   - **终端节点名称**：自定义终端节点的名称。
   
   - **区域** ：默认步骤[2]选择的区域
   
   - **VPC**：选择已绑定单线NAT网关的VPC
   
   - **子网**：选择当前VPC内有可用IP的业务子网
   
   - **IP地址** ：支持**自动选择** 或**自定义**，建议配置至少2个IP保障高可用
    
4. 确认配置，单击"立即创建"。
 
#### 步骤二：配置DNS转发规则
1. 返回解析器主页面，单击进入"规则"页签。
2. 单击"添加规则"。根据界面提示配置相关参数配置基础参数：
   ![](https://support.huaweicloud.com/bestpractice-dns/public_sys-resources/caution_3.0-zh-cn.png)
   转发规则创建后不支持修改域名、类型、出站终端节点信息，配置前请仔细核对。
   - **名称**：自定义转发规则名称
   
   - **域名**：填写\*，匹配所有公网域名解析请求
   
   - **类型**：默认选择解析器
   
   - **出站终端节点** ：选择[步骤一：创建出站终端节点]中已创建的出站终端节点
   
   - **关联VPC**：勾选开启。
   
   - **区域** ：默认[步骤一：创建出站终端节点]中选择的区域。
   
   - **VPC**：此处选择弹性云服务器ECS所绑定的VPC。
   
   - **IP地址** ：填写公共DNS服务器地址，支持填写多个。可选用第三方正规公共DNS，也可前往对应服务商官网获取最新可用地址。
     常用参考地址：114.114.114.114、223.5.5.5、119.29.29.29、8.8.8.8、1.1.1.1。
     ![](https://support.huaweicloud.com/bestpractice-dns/public_sys-resources/caution_3.0-zh-cn.png)
     示例IP地址仅作参考，公共DNS为第三方提供的互联网服务，其服务可用性、解析性能、安全策略由对应服务商负责，请您根据业务部署地域以及网络环境等因素自行评估并选择合适的DNS服务器。
     
    
3. 单击"确定"。
 
#### 步骤三：规则生效验证
1. 转发规则创建后，自动关联指定VPC并全网下发，通常分钟级生效。
2. 可在规则列表页，查看目标规则的关联VPC列，确认已正确关联业务VPC。
![](https://support.huaweicloud.com/bestpractice-dns/public_sys-resources/caution_3.0-zh-cn.png)
规则创建即生效，无需额外操作，请勿重复创建相同规则避免冲突。如需新增关联VPC或解关联VPC，可进入规则详情页面配置。
#### 配置验证
1. 登录目标VPC内弹性云服务器，执行域名解析测试命令：
   ```
   nslookup 转发规则配置的域名
   dig 转发规则配置的域名
   ```
   
2. 校验解析状态为NOERROR，无超时、无解析失败情况。
3. 查看解析返回IP归属运营商，与NAT网关单线EIP运营商保持一致，即为配置生效。
4. 可多次拨测不同域名，验证智能线路调度稳定性。
 
#### 常见问题与配置注意事项
#### 通用配置注意事项
- 出站终端节点、NAT网关关联VPC需保持同一VPC。
- 高并发业务建议关注解析并发配额，必要时申请容量调整，规避限流。
- 更换NAT网关绑定的运营商EIP后，无需重建终端节点和转发规则，仅需重新拨测验证即可。
 
#### 常见故障排查
- 解析超时或失败：优先检查NAT网关SNAT规则、出站终端节点状态、转发规则配置是否正确。
- 部分云主机解析不生效：确认转发规则关联VPC已正确配置，主机未配置自定义第三方DNS。
- 规则无法关联VPC：检查VPC是否与终端节点同区域、是否存在内网域名冲突。
 
