一、DNS介绍
DNS(Domain Name System)是互联网上的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。 DNS系统使用的是网络的查询,那么自然需要有监听的port。DNS使用的是53端口,在/etc/services(搜索domain)这个文件中能看到。通常DNS是以UDP这个较快速的数据传输协议来查询的,但是没有查询到完整的信息时,就会再次以TCP这个协议来重新查询。所以启动DNS时,会同时启动TCP以及UDP的port53。
其服务器类型分为:
- 顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。
- 权限域名服务器:负责一个“区”的域名服务器。负责一个区的域名服务器,因此权威域名服务器通常是指顶级域名以下的管理二级、三级、四级等域名的服务器。
- 本地域名服务器:本地域名服务器不属于域名服务器的层次结构,但是它对域名系统非常重要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。
- 主从DNS服务器:为了提高域名服务器的可靠性,DNS域名服务器都把数据复制到几个域名服务器来保存,其中的一个就是主DNS服务器(Master name server),负责解析至少一个域。其他的是辅助(从)DNS服务器(Slave name server):负责解析至少一个域,是主DNS服务器的辅助。当主域名服务器出故障时,辅助域名服务器可以保证DNS的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。
- 缓存DNS服务器:不负责解析域,只是缓存域名解析的结果
二、DNS服务器配置
提供DNS服务的软件叫bind,服务名是named。---->可以通过进程查看 [root@localhost ~]# yum install bind -y [root@localhost ~]# rpm -ql bind /etc/named.conf # bind主配置文件 /var/named/slaves # 从dns服务器文件夹 [root@localhost ~]# vim /etc/named.conf options { #定义监听端口,如果所有地址都监听,则只写端口 listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; #定义数据文件目录 directory "/var/named"; #只允许本地主机进行查询 allow-query { localhost; }; }; #定义区域 zone "." IN { type hint; file "named.ca"; };
三、实验
主从DNS服务器
将一个区域文件复制到多个服务器上的过程叫做区域传送。将主服务器上的信息复制到辅助服务器上来实现。
(一)#主DNS服务器的配置【主dns服务器的ip地址为192.168.119.128】
1.编辑named.conf配置文件
[root@localhost ~]# vim /etc/named.conf
2、由named.conf配置文件编辑正向解析文件
[root@localhost named]# vim /var/named/baidu,如图所示,
3.配置反向解析文件
[root@localhost ~]# vim /var/named/192
主服务器配置结束后 重启服务systemctl restart named ,使配置生效
(二)#从DNS服务器的配置【从dns服务器的ip地址为192.168.119.129】
准备工作:
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux
yum install bind #安装bind软件
1、编辑配置文件[root@localhost ~]# vim vim /etc/named.conf
如图示:
配置完成后重启服务:
[root@localhost ~]# systemct restart named
(三)进行测试