DNS服务重要性
DNS(Domain Name System)是一个全球化的分布式数据库,用于存储域名与互联网 IP 地址的映射关系。
目前 web2.0 时代下,全部互联网internet请求都是通过域名
(baidu.com
、alibaba.com
、tencent.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.com
和 ns2.dns.com
递归 DNS
我们平时使用最多的就是这类DNS,他对公众开放服务,一般由网络运营商提供,大家都自己可以架递归DNS提供服务。
本地电脑上设置的DNS就是这类DNS。 google
的8.8.8.8
和8.8.4.4
以及114
的114.114.114.114
和114.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
有以下优势:
- 无商业许可要求,降低投资成本;
- 轻量化,通过插件实现功能添加;
- 支持 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
:
- 使用 DNSSEC、DOT、DOH 等保障 DNS 安全;
- 缓存 DNS 记录;
- 构建 DNS 实例自动伸缩,应对高 QPS 需求;
内网 DNS
:
- Kubernetes 服务发现;
- 构建上游 DNS 区域;
分区 DNS
:
- 建立开发、测试、UAT、生产等区域 DNS;
- NodeLocalDNS 提高性能;
- 设置转发器处理递归 DNS 请求;