如何自建dns解析服务器(自建dns解析服务器基本步骤)

如何自建dns解析服务器(自建dns解析服务器基本步骤)

大咖专栏

大咖专栏主要刊登亚马逊AWS诸位大咖亲自撰写的Blog,内容涉猎广泛,话题讨论前沿,且与实战紧密相连。我们非常欢迎小伙伴们在评论区留言,与大咖互动交流!

今天为大家撰文的大咖,是我们的AWS解决方案架构师——刘旭东老师。

刘旭东

AWS解决方案架构师

刘旭东负责基于AWS的云计算方案的咨询和架构设计,具有超过十年以上企业客户服务经验,同时致力于AWS云服务在国内和全球的应用和推广。他在大数据解决方案、企业级解决方案,混合云架构,基础设施运维管理,以及Serverless无服务器架构及IoT等领域有着广泛的设计与实践经验。在加入AWS之前曾任职HPE技术顾问,有超过十年的虚拟化/云计算架构设计经验, 始终推动技术实现商业价值。

常见的应用场景是在混合IT架构下,客户数据中心通过VPN或是Direct Connect专线连接到AWS上的VPC,在VPC中配置1台DNS服务器,在客户数据中心也配置1台DNS服务器,服务器的主从角色客户可自行定义。通过多台DNS服务器为不同位置的客户端提供DNS服务,即能保证服务的高可用,又能就近提供服务,减少DNS查询延迟。

接下来,我将基于上述架构图一步一步说明如何使用BIND搭建DNS服务器。本文不会涉及BIND的高级配置,如需了解BIND的高级配置,可参考BIND官方网站:

https://www.isc.org/

安装配置DNS主服务器

首选需要准备一台EC2实例用于安装BIND软件,如何创建EC2实例可参考Amazon EC2入门指南:

http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/EC2_GetStarted.html

本次示例选用Amazon Linux操作系统的AMI来创建实例,实例类型选用了通用型实例类型: m4.large。BIND对服务器硬件资源要求不高,在不启用DNSSEC的情况下(不在本文讨论范围),普通配置的服务器即可承载DNS服务。m4.large配置有2颗vCPU和8G内存,运行DNS服务能够支持中等规模的DNS请求,当请求增加时,也可方便的调整实例类型到更大的配置。

创建EC2实例时需要指定安全组来开放服务端口,DNS服务通过UDP 53端口提供DNS查询相应,通过TCP 53端口提供区域传送。因此,安全组队VPC网段开放UDP 53端口,对客户数据中心的DNS服务器开放TCP 53端口,如下图所示:

创建好警报之后,通过SSH登陆至EC2实例,并yum命令安装bind软件:

allow-query缺省配置为localhost,即只允许DNS服务器所在的EC2实例对自己进行DNS查询,添加VPC的网段可允许来自VPC内部的主机进行DNS查询。注:也可将此参数设置为0.0.0.0/0,因为前面安全组设置里只允许了VPC内的IP访问UDP 53端口。

此外,还需要增加对aws.local这个域的定义,在/etc/named.conf中增加以下内容,allow-transfer指定了只允许从DNS服务器进行区域传送,限定允许区域传送的范围颗可提高DNS服务的安全性:

上述配置说明aws.local域的具体解析配置在文件/var/named/aws.local.db 里,其内容如下,在这个示例配置中,定义了两条A记录,分别是dns.aws.local对应10.206.0.212和www.aws.local对应10.206.0.213

在接下来的内容里,我们会介绍:

配置Amazon VPC使用自建DNS服务器

安装配置DNS从服务器

……

或扫描/长按识别下方的二维码

阅读完整版文章

发表评论

登录后才能评论