将内网解析记录同步至自建DNS

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: v

本文九河云主要介绍企业在混合云网络场景下,如何通过内网DNS解析配置内网DNS解析记录,并同步至自建DNS。

业务场景

自建IDC与阿里云VPC通过专线或者VPN进行网络连通。部署在自建IDC和阿里云VPC内的业务均需要通过DNS查询进行业务间调用。因此需要在自建IDC和阿里云VPC共享DNS解析数据,以实现业务间能实时调用。


实现难点

自建IDC和阿里云VPC分别属于两套网络环境。在自建IDC中,客户往往已经使用bind9等开源软件搭建了自身的DNS服务;在阿里云VPC内部,客户会使用内网DNS解析服务作为内网DNS解析服务。


自建IDC和内网DNS的数据共享是混合云内网DNS中的一大痛点。分别管理两套数据不仅给运维工程师带来重复新工作的增加,同时也数据一致性管理的风险。给业务带来不确定性。


本文介绍一种自动DNS同步解决方案,可以自动将客户在内网DNS解析控制台配置的解析记录同步至自建IDC服务器上,并生成标准Zone文件,bind9可以加载生效。


解决方案

  1. 解析记录管理:解析记录管理通过阿里云解析DNS控制台完成,内网DNS解析提供Web控制台UI,管理DNS解析记录十分方便;
  2. 解析记录同步:在此我们提供一款轻量级的DNS记录同步工具,通过阿里云账号AK,自动读取内网DNS的解析记录,并在本地生成Zone文件,下载,下载后解压缩。
  3. 解析记录加载:自建IDC内部DNS软件bind9加载生成的Zone文件。
  4. 解析生效测试:使用dig或者ping命令验证是否生效。

详细配置

这里以example.com为例,进行说明。

工具配置介绍

工具有两部分组成,同步程序Zone_file_sync和配置文件config.json

  1. config.json的配置格式:
{
  "accessKeyId": "LCAIF4bcGHrU****",
  "accessKeySecret": "KT4eXSgppowkkPZ5AgSbxNMBHl****",
  "zone": [
    {
      "zoneName": "example.com",
      "zoneId": "298cc343c4387b0745e9b5e24fdej624",
      "filePath": "/var/named/example.com.zone"
    }
  ]
}

其中:

  • accessKeyId与 accessKeySecret为阿里云账号AK;
  • zoneName与 zoneId为内网DNS解析控制台显示的域名(Zone)名称和Zoneid,请替换为自己的配置;
  • filePath为工具生成的Zone文件在自建IDC的DNS服务器上存放的目录,建议为您的bind9的Zone文件存放目录;
  • Zone内部是JSON列表,可以配置多个需要同步的Zone,最多一次同步10个Zone;


bind9配置介绍

  1. bind9的named.conf配置:在named.conf文件中,example.com的配置如下:
zone "example.com" IN {
     type master;
     file "example.com.zone";
     allow-update { 127.0.0.1; };
};

自动同步配置

在准备好同步工具和bind9后,按照如下命令的顺序,进行执行,同步最新的内网DNS解析记录。(这里需要将命令替换为具体实际执行的命令。)

  1. 执行更新锁定: /usr/sbin/rndc freeze host.local
  2. 执行同步记录: ./Zone_file_sync -c config.json
  3. 执行bind9数据加载:/usr/sbin/rndc thaw host.local


以上命令,您可以写成 Shell 脚本,并使用Linux服务器的crontab功能进行定时执行,以实现自动同步PrivateZone的记录更新功能。

生效测试

使用如下命令进行测试:dig @localhost 域名


总结

本文介绍了一种使用自动同步工具的方式,将内网DNS的解析记录同步至本地自建IDC内部DNS服务器的方式。方便运维工程师搭建混合云DNS解析方案,有效的降低了混合云场景下DNS配置的复杂度,同时能够避免专线或者VPN的故障对自建IDC内部DNS解析的影响。


相关文章
|
1月前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
1月前
|
域名解析 存储 缓存
DNS是什么?内网电脑需要配置吗?
【10月更文挑战第22天】DNS是什么?内网电脑需要配置吗?
161 1
|
2月前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
64 4
|
2月前
|
域名解析 网络协议
非阿里云注册域名如何在云解析DNS设置解析?
非阿里云注册域名如何在云解析DNS设置解析?
|
2月前
|
域名解析 存储 缓存
域名解析 DNS:连接数字世界的关键枢纽
在数字世界中,DNS(域名解析系统)如同一位至关重要的引路人,将我们输入的域名与对应的IP地址相连,使我们可以轻松访问各种网站和服务。它通过多级服务器查询,将易于记忆的域名转换为复杂的IP地址,极大提升了互联网的易用性和普及度。尽管面临网络延迟和域名数量激增等挑战,通过分布式系统和缓存技术等创新方案,DNS 系统将持续发展,为用户提供更安全、高效的网络体验。
56 2
|
2月前
|
域名解析 弹性计算
内网域?名解析记录是否会覆盖公网域名解析记录?
内网域?名解析记录是否会覆盖公网域名解析记录?
|
2月前
|
弹性计算 网络协议 网络安全
内网DNS解析&VPN网关联动实现云上访问云下资源
内网DNS解析&VPN网关联动实现云上访问云下资源
|
23天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
60 2
|
2月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
72 0
|
2月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
57 0

推荐镜像

更多