快速搭建 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 条评论
登录 后参与评论

相关文章

来自专栏小文博客

app防盗——一键加密

2625
来自专栏java一日一条

JVM 开发者必看:傻瓜式编译 OpenJDK 7

LZ经过一个星期断断续续的研究,终于成功的搞定了JDK的成功编译与调试。尽管网络上的教程也有不少,包括源码中也有自带的编译步骤说明,但真正自己动手的话,还是会遇...

982
来自专栏北京马哥教育

10个方法助你轻松完成Linux系统恢复

在Linux中有一些应用程序可以帮助你保存系统快照。大多数应用程序都是针对于新手的,并不需要高级的Linux操作技巧。我们在这里挑选了10个,你可以从中选择适合...

5005
来自专栏Youngxj

emlog评论邮箱通知插件4.0

1982
来自专栏Seebug漏洞平台

DeDeCMS v5.7 密码修改漏洞分析

作者:LoRexxar'@知道创宇404实验室 0x01 背景 织梦内容管理系统(DedeCms)以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理...

43211
来自专栏云市场·精选汇

小程序申请流程

在微信公众平台官网首页(mp.weixin.qq.com)点击右上角的“立即注册”按钮。

2352
来自专栏皮振伟的专栏

[linux][bcache]bcache导致的xfs文件系统错误问题分析

前言: 频繁见到xfs报错,文件系统出现了破损。 目前有两种情况下使用xfs: 其一,在物理机上使用启用了bcache的blk设备,格式化成xfs直接使用,这种...

3807
来自专栏FreeBuf

Redis数据库安全手册

Redis是一个高性能的key-value数据库,这两年可谓火的不行。而Redis的流行也带来一系列安全问题,不少攻击者都通过Redis发起攻击。本文将讲解这方...

2186
来自专栏编程坑太多

『中级篇』Docker Cloud自动构建 Docker image(55)

PS:自动化构建的build image,是不是感觉很爽,但是这里的Dockfile这是需要基础牢靠。本节也是以后学习的基础。

1675
来自专栏ytkah

dedecms批量删除文档关键词可以吗

  这几天在重新整服务器,几个站点都是用dedecms搭建的,版本相对比较早,虽然都已经打了补丁,但客户还是在纠结,所以就下载了新的系统进行搭建(注意编码要和原...

3328

扫码关注云+社区

领取腾讯云代金券