通过DNS解析器实现云上云下业务互访
背景
用户基于数据管理和信息安全等方面的因素考虑,数据没有全部部署在云上,选择采用本地数据中心与华为云混合部署的组网方式。
这种组网方式既可以保证敏感信息的安全,又保留了华为云灵活部署、控制成本等优势, 其组网如图1所示。
在这种组网中,通过VPN或者云专线建立本地数据中心和华为云服务器的通信,使本地服务器和华为云服务器可以互通。
但是,由于一些网络安全因素,本地数据中心服务器无法直接访问华为云内网DNS的100网段地址,华为云服务器可以直接访问云服务100网段。华为云DNS和本地自建DNS服务器均有独立的域名,从而导致了以下问题:
- 本地数据中心的服务器使用本地自建的DNS,仅支持解析本地域名,无法解析华为云服务域名,例如OBS,SFS等。
- 华为云服务器使用华为云的DNS,可以解析内网域名,云服务域名,互联网域名,无法解析本地数据中心的域名。
在混合DNS解决方案中,云解析服务提供解析器,创建入站终端节点(Inbound Rule)和出站终端节点(Outbound Rule),用于解决线下DNS与云上DNS互访的问题。
- 线下站点访问云上资源
线下自建DNS把华为云服务域名,云上内网域名都转发到入站终端节点解析(华为云服务域名大部分都是*.myhuaweicloud.com格式的,可以把myhuaweicloud.com域名转发到入站终端节点,这样myhuaweicloud.com域名及其所有子域名解析都会转发到云上DNS解析)。
- 云上资源访问线下站点
为出站终端节点创建转发规则指定线下域名,内网DNS针对此线下域名请求都转发到线下自建DNS解析。
操作流程
操作步骤 |
说明 |
---|---|
入站终端节点可以将本地自建DNS的解析请求转发到华为云内网DNS。 |
|
华为云内网DNS通过出站终端节点将特定域名解析转发到您指定的DNS。 |
|
在出站终端节点和本地自建DNS分别配置转发规则。 |
配置完成后,线下站点与云上资源的互访如图3所示。
如图3所示,线下站点与云上资源的互访路径如下:
①:本地自建DNS将对华为云域名(例如“example.huaweicloud.com”)的解析请求转发到入站终端节点(10.231.x.x)。
②:入站终端节点(10.231.x.x)将对华为云域名的解析请求转发至华为云内网DNS。
③:出站终端节点(10.231.x.x)将对线下域名(例如“example.com”)的解析请求转发至本地自建DNS(192.168.10.179)。
要实现上述互访要求,需要为出站终端节点和本地自建DNS分别配置DNS转发规则:
- 出站终端节点:配置转发规则,将对线下域名(例如“example.com”)的解析转发至本地自建DNS。
- 本地自建DNS:
- 配置转发规则,将对华为云域名的解析转发至入站终端节点。
- 配置线下域名(例如“example.com”)的解析记录。
步骤一:配置入站终端节点
入站终端节点可以将本地自建DNS的解析请求转发到华为云内网DNS
- 进入云解析服务控制台。
- 在左侧树状导航栏,选择“域名解析 > 解析器”。
- 在页面右上角,单击“创建终端节点”。
- 在“入站终端节点”页签,根据界面提示配置参数。
- VPC:选择云上资源所属VPC。
- IP地址:指定IP地址,例如“10.231.x.x”。
- 单击“确定”,完成入站终端节点的创建。
步骤三:配置DNS转发规则
配置出站终端节点的DNS forward规则
- 进入云解析服务控制台。
- 在左侧树状导航栏,选择“域名解析 > 解析器”。
- 在“出站终端节点”页签,单击已创建的出站终端节点“操作”列的“添加规则”。
- 根据界面提示配置参数,为出站终端节点配置转发规则。
- 域名:线下域名,例如“example.com”。
- VPC:选择云上资源所属VPC。
- IP地址:本地自建DNS的IP地址,例如“192.168.10.179”。
配置本地自建DNS的DNS forward规则
- 登录线下节点(本地数据中心)的服务器,IP地址为“192.168.10.179”。
- 执行如下命令,安装bind,为服务器配置DNS服务。
- 自建DNS安装完成后,通过如下命令为DNS配置forward规则,将自建DNS无法解析的域名统一转发到入站终端节点。
关键配置参数如下:
- 增加监听IP:192.168.10.179
- 增加默认forward配置,将自建DNS无法解析的域名转发到入站终端节点。
图4 自建DNS Forward规则示例
“10.231.x.x”为入站终端节点配置的IP地址。
- 在自建DNS中,创建域名“example.com”,域名zone文件的路径为:/opt/dns/zones/example.com.z。
zone "example.com" IN { type master; file "/opt/dns/zones/example.com.z"; };
- 执行如下命令,为自建DNS的域名“example.com”配置解析记录。
至此,可以实现线下站点与云上资源的互访。