DNS服务

DNS是域名解析服务,就是网址名字解析成IP地址 ,方便了人们上网浏览、访问。由于访问量巨大,只一台服务器难以解决问题,所以要搭建若干服务器来对外提供服务,其中一台为主服务器,其他为从属服务器。下面将介绍DNS主服务器、从属服务器以及子域的DNS服务器的搭建。

linux系统域名解析有三种方式:

1..hosts文件解析:完全分散管理,只影响本机,当然windows上也有hosts文件 

2.NIS服务器 :完全集中管理,有自己的数据库,记录IP与名字的对应关系,影响所有机器,考虑到访问量,适合小型环境 

3.DNS:既集中又分散,linux系统的主机名叫FQDN(全称域名),结构是以点相隔,前为别名,后面为域名,例如:
                                                                      www.qq.com. (最后有点结束,默认不写)
其中www为别名,mage.com为域名。

一、DNS域名结构
从根域开始向下,依次是一级域、二级域、三级域......最多有127级,例如:“点”表示根域,而com则为一级域,又称为顶级域,com以下的qq就是二级域。每个域都有自己的DNS服务器,每个上级域的DNS服务器都记录了下级域的DNS服务器地址。

二、搭建DNS服务器
准备工作:关闭防火墙,禁用selinux
1.互联网上大部分由bind软件提供DNS服务 ,安装bind软件包,其中的程序名叫named:yum install bind
2.启动服务:systemctl start named
3.查看DNS服务启动的端口为TCP与UDP的53,但监听的端口绑定的地址为127.0.0.1,意味者DNS还不能对外提供服务,需要更改配置文件
4.DNS的主配置文件为 /etc/named.conf, 更改监听的端口及区域数据库的配置文件
5.检查数据库文件的语法:named-checkzone  文件名
6.测试
 
具体过程如下图
1.
DNS服务
DNS服务

DNS服务

DNS服务

DNS服务

DNS服务

DNS服务
更改监听的端口:

DNS服务DNS服务

或者:包括本机上的所有地址

DNS服务DNS服务


或者注释掉,或者删除,表示包括本机所有地址

DNS服务
DNS服务

DNS服务
DNS服务

更改数据库,建议在 rfc1912.zones等子配置文件中修改定义,文件内容: 

DNS服务DNS服务


建立区域数据库文件,以一个文件为模版(named.localhost),必须放在/var/named目录下:

DNS服务DNS服务

DNS服务

DNS服务

DNS服务
DNS服务

由上可知:1.TTL是缓存到DNS服务器或客户端的记录的有效期,提前定义,可以全局使用,也可以自己定义
                 2.整个DNS区域数据库结构由SOA、NS、 A记录组成
                 3.SOA记录必须放在第一条,开始是域名,也可以写为mage.com.,注意要以点结尾,否则自动补全域名(mage.com.mage.com),在SOA记录中只记录主服务器数据库的名字(master),然后是邮箱地址,因为@有定义,所以用点来代替。
                 4.区域数据库版本号:要根据版本号来判断数据库是否更新,版本号最长十位
                 5.刷新时间:除了主服务器,还有若干从属服务器,一起提供本域的解析,主服务器的数据库权限为rw,可以更改,二从属数据库只能读。当主数据库更新后,从属数据库要与其同步,时间间隔为refresh,默认时间单位为秒,即一天同步一次
                 6.同步的方式有两种:push:主去同步从属 
                                                  pull:从属去同步主
                 7.尝试时间:同步过程中,网络出故障,无法同步时,会每隔一个尝试时间去继续同步
                 8.过期时间:超过一周仍然无法同步,从属服务器数据库就过期,不再提供服务
                 9.否定结果的缓存时间:用户输入错误的结果也会被缓存,以便下次输入错误不必再去解析:wwww.qq.com
                 10 NS记录前可省略域名,TTL,IN,与SOA记录不同,需要记录所有的DNS服务器名称(包括主从)
                 11.A记录,DNS服务器名与和它对应的IP


配置文件检查语法:

DNS服务DNS服务

启动服务:可以用systemctl  restart  named,也可以用rndc,表示重新加载配置文件,是DNS专用命令 

DNS服务DNS服务

测试是否可以解析,表明本机作为DNS服务器: 

DNS服务DNS服务

三、搭建从属DNS服务器

1.装包
DNS服务DNS服务

2.启动服务,禁用selinux,关闭防火墙

DNS服务DNS服务

DNS服务

3.设为开机自启动

DNS服务DNS服务

4.更改配置文件

DNS服务DNS服务

DNS服务

5.修改数据库文件

DNS服务DNS服务

DNS服务

DNS服务


其中CentOS 7复制过来为加密状态,而CentOS 6是明文(实现主从复制,两种方式:push  pull)

DNS服务DNS服务

6.测试

DNS服务DNS服务


四、搭建子域的DNS服务器

子域的服务器有三种情况:
1.若子域访问量较小,则可与上级域公用一个DNS服务器,即在主DNS服务器的数据库文件中添加一条记录,将子域当作主机记录来实现
2.子域作为一个独立域来实现
3.上级域和子域不在同一台主机上,即上级域将子域DNS的管理权委派给另一个DNS服务器 

1.
DNS服务

zhengzhou后面没有加点,自动补后缀 

DNS服务

测试 

DNS服务

以上并没有以子域的方式来实现,而是当作一个主机(记录)来实现 

2.访问量大的子域,作为一个独立域实现,但上级域和子域在同一个主机上

DNS服务

DNS服务

DNS服务

DNS服务

DNS服务

测试

DNS服务

3.级域和子域不在同一台主机上,即上级域将子域DNS的管理权委派给另一个DNS服务器 

在上级域的DNS服务器上增加一个NS记录 
DNS服务

DNS服务

DNS服务


在另一台主机上 设置数据库文件

DNS服务

DNS服务

DNS服务

DNS服务

DNS服务


测试

DNS服务