前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速搭建 DNS 服务器

快速搭建 DNS 服务器

原创
作者头像
9527
修改2019-11-26 12:12:49
22.7K2
修改2019-11-26 12:12:49
举报
文章被收录于专栏:前端之心前端之心

前面几篇文章我们介绍了域名解析,介绍了如何通过 dig 命令洞察 DNS 解析的过程,并从 DNS 协议的层面分析了全球为什么只有13组根域名服务器,本文向大家介绍如何自己动手快速搭建一组主从架构的 DNS 服务器。

动手前的准备

搭建 DNS 服务器需要准备一台 centos 的机器,我们可以通过腾讯云开发者实验室领取免费的实验机器。假设我们领取到的机器的外网 IP 为123.207.8.164/内网 IP 为10.135.87.104(可以通过 ifconfig 查看),现在我们可以开始动手实践了。

安装 BIND 软件

BIND 是美国加利福尼亚大学伯克利分校开发的软件,是一套域名服务器软件包,该软件实现了 DNS 解析协议,可以在 Linux 系统上通过这个软件包来提供域名解析服务。

  • 查看 BIND 软件是否安装:rpm  -qa  |  grep  ^bind,若软件包不全或者不是最新,可以通过 yum 进行安装;
  • 通过 yum 命令安装 BIND 软件包:yum install -y bind*,安装成功后截图如下所示;
  • 启动 DNS 服务:systemctl start named.service(同时可以设置开机启动:systemctl enable named.service),启动成功后可以通过 netstat -npl|grep named 查看结果

从结果可以看到 named 进程是 BIND 软件的运行进程,提供 DNS 解析服务,可以同时支持 udp/tcp 两种协议,默认使用53端口,此外 named 进程同时监听了953端口,主要用于为远程管理工具提供控制通道。

修改 DNS 服务器配置

  • 修改 /etc/named.conf 配置文件,将监听 IP 修改为 10.135.87.104,allow-query 取值修改为 any,如截图所示;
  • 修改 /etc/named.rfc1912.zones 配置文件,将加入 zone 配置,这里我们以 qq.com 为例进行介绍,新增配置代码块如下所示,表示本 DNS 服务器包含 qq.com 域名的解析库;
代码语言:javascript
复制
zone "qq.com" IN {
        type master;
        file "data/qq.com.zone";
};
  • 新增 /var/named/data/qq.com.zone 配置文件,配置文件的内容如下所示;
代码语言:javascript
复制
$TTL 1D
@       IN SOA  dns.qq.com. webmaster.qq.com. (
                                        20191124      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@                       IN      NS      dns.qq.com.
dns.qq.com.           IN      A       123.207.8.164
www.qq.com.           IN      A       8.8.8.8
  • 通过命令 systemctl  restart  named.service 重启 DNS 服务器,通过 netstat -npl|grep named 截图如下所示;

验证 DNS 服务器有效性

  • 通过 PC 电脑执行命令 dig -t a www.qq.com 查看现网真实的 www.qq.com 的解析情况,结果如下图所示;
  • 通过修改 PC 电脑的 /etc/resolv.conf 配置文件指定 nameserver,将 PC 的默认 DNS 服务器设置为我们搭建的 DNS 服务器;
  • 再次通过 PC 电脑执行命令 dig -t a www.qq.com 查看解析情况,如我们所预期的,域名www.qq.com 被解析到8.8.8.8,同时 qq.com的权威服务器变成了 dns.qq.com(指向 IP 为123.207.8.164),与我们搭建的 DNS 服务器配置一致;
  • 通过命令 nslookup www.qq.com 验证 www.qq.com 域名的解析结果,如图所示;

至此,我们完成了简单 DNS 服务器的搭建,支持对域名 www.qq.com 进行正向解析,即将域名解析为 IP。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档