专栏首页前端之心快速搭建 DNS 服务器
原创

快速搭建 DNS 服务器

前面几篇文章我们介绍了域名解析,介绍了如何通过 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 域名的解析库;
zone "qq.com" IN {
        type master;
        file "data/qq.com.zone";
};
  • 新增 /var/named/data/qq.com.zone 配置文件,配置文件的内容如下所示;
$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。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何搭建主从架构的 DNS 服务器

    前面我们介绍了如何搭建 DNS 服务器以及如何往 DNS 服务器添加反向解析记录,本文将在前面的基础上告诉大家如何搭建主从架构的 DNS 服务器。

    9527
  • 域名解析详解

    我们知道网络通讯基本上是基于TCP/IP的,而TCP/IP以IP地址为基础,而域名仅仅是为了方便人类的记忆而设计的名称,计算机在网络中进行通讯时不能识别域名,只...

    9527
  • dig 命令洞察 DNS 解析过程

    在上一篇文章,我们介绍了域名解析的过程,本章我们将介绍一个实用的工具---dig命令,通过dig命令我们可以查看 DNS 解析的过程,以便我们更好的理解 DNS...

    9527
  • Python入门白皮书#P01 Lists

    文档: 我们以Google Python Exercises作为练习素材。 参考对应的文档 https://developers.google.com/edu/...

    企鹅号小编
  • 90后的你,Q龄几年了?

    近几年,由于微信的流行,大部分人不再频繁使用QQ,所以我们对于自己的QQ数据并不是特别了解。我相信,如果能够生成一份属于自己的QQ历史报告,那将是无比开心的一件...

    小小詹同学
  • 观点 | Yoshua Bengio 经验分享:如何做好学术研究?如何管好实验室?

    AI 科技评论按:深度学习三驾马车、四大金刚中,相比于 Yann LeCun 经常以(曾任) Facebook 人工智能研究院 FAIR 负责人以及 Faceb...

    AI科技评论
  • python3实现自动化框架robotf

    由于python2只更新到2020年,python3是未来的主流,为了适应技术的变化python3实现robotframework是迟早的事 1.下载最新版本的...

    py3study
  • jQuery跳转到另一个页面

    window.location.replace("https://www.cnblogs.com/pythonywy/");

    小小咸鱼YwY
  • Apache rewrite Url

    本文主要介绍Apache环境下,如何使用mod_rewrite模块完成URL重写功能。

    梦_之_旅
  • mysq配置参数详细说明

    mysql最大并发数|Linux修改Mysql最大并发连接数 第一步,先查看下当前MYSQL的最大连接数 [root@localhost ~]# /u...

    梦_之_旅

扫码关注云+社区

领取腾讯云代金券