技术分享之 CoreDNS 来构建企业级 DNS 实现

CoreDNS 来构建企业级 DNS 实现

Posted by 董江 on Thursday, July 21, 2022

DNS服务重要性

DNS(Domain Name System)是一个全球化的分布式数据库,用于存储域名与互联网 IP 地址的映射关系。

目前 web2.0 时代下,全部互联网internet请求都是通过域名baidu.comalibaba.comtencent.com)来承载千千万万的应用的。 对于每个企业,都通过权威DNS,将domian解析自己企业内的递归 DNS递归 DNS又通过设计多层递归,实现企业下,网络隔离多层域名解析的各层转发DNS

DNS 分为三大类:权威 DNS递归 DNS转发DNS

权威 DNS

权威 DNS是经过上一级授权对域名进行解析的服务器,同时它可以把解析授权转授给其他人。如COM顶级服务器可以授权dns.com这个域名的的权威服务器为NS.ABC.COM,同时NS.ABC.COM还可以把授权转授给NS.DDD.COM,这样NS.DDD.COM就成了ABC.COM实际上的权威服务器了。

平时我们解析域名的结果都源自权威DNS。 dns.com的权威DNS服务器就是帝恩思的ns1.dns.comns2.dns.com

递归 DNS

我们平时使用最多的就是这类DNS,他对公众开放服务,一般由网络运营商提供,大家都自己可以架递归DNS提供服务。

本地电脑上设置的DNS就是这类DNS。 google8.8.8.88.8.4.4以及114的114.114.114.114114.114.115.115都属于这一类DNS。

转发DNS

可以理解为递归DNS和用户之间的一个中转站. 负责接受用户查询,并返回结果给用户. 但这个结果不是按标准的域名解析过程得到的,而是直接把递归 DNS的结果转发给用户。 比如:家用路由器中的DNS、企业办公网的DNS 192.168.1.1

企业递归 DNS实现

构建企业 DNS 服务器时,一般会有以下需求:

  • 用户外网域名访问服务;
  • 混合云业务迁移、数据共享、容灾;
  • 开发代码 IP 写死导致架构可用性、弹性无法实现;
  • 统一 DNS 管理需求,含上下级平台对接;
  • DNS 劫持等网络安全风险;
  • 存量代码固定域名访问;
  • 集群外域名访问;

构建企业DNS实现: Bind DNS server 开源方案 和 Windows Server DNS 商业 DNS 服务器

CoreDNS

云原生的CoreDNS 有以下优势:

  • 无商业许可要求,降低投资成本;
  • 轻量化,通过插件实现功能添加;
  • 支持 DNS,DNS over TLS,DNS over HTTP/2,DNS over gRPC 协议;
  • 提供 Service Discovery: kubernetes、file、etcd等;
  • 支持整合容器管理平台,提供统一 DNS 系统运维。

云原生企业DNS架构

基于 CoreDNS 特性的企业的 DNS 架构:

企业DNS

DNS 架构: 外网 DNS内网 DNS分区 DNS 组成:

外网 DNS

  • 使用 DNSSEC、DOT、DOH 等保障 DNS 安全;
  • 缓存 DNS 记录;
  • 构建 DNS 实例自动伸缩,应对高 QPS 需求;

内网 DNS

  • Kubernetes 服务发现;
  • 构建上游 DNS 区域;

分区 DNS

  • 建立开发、测试、UAT、生产等区域 DNS;
  • NodeLocalDNS 提高性能;
  • 设置转发器处理递归 DNS 请求;

「如果这篇文章对你有用,请随意打赏」

Kubeservice博客

如果这篇文章对你有用,请随意打赏

使用微信扫描二维码完成支付