DNS服务

来源:互联网 发布:y80电动机绕组数据 编辑:程序博客网 时间:2024/05/18 01:35

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.











更改监听的端口:



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




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







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




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










由上可知: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


配置文件检查语法:



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



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



三、搭建从属DNS服务器

1.装包


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





3.设为开机自启动



4.更改配置文件





5.修改数据库文件








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



6.测试




四、搭建子域的DNS服务器

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

1.


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



测试 



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

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











测试



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

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







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












测试