DNS简介
DNS(Domain Name System,域名系统),互联网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住较难记住的IP地址。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。
DNS缓存服务器:DNS缓存服务器,即用来存储计算机网络上的用户需要的网页、文件等信息的专用服务器。这种服务器不仅可以使用户得到他们想要的信息,而且可以减少网络的交换量。缓存服务器往往也是代理服务器。由解析器和域名服务器组成的,用于TCP/IP网络。
DNS协议运行在UDP协议之上,使用端口号53,linux上的DNS服务是基于一种软件BIND实现的。
BIND:Berkeley Internet Name Domain
相关概念:
正向解析:将域名解析成IP地址
反向解析:将IP地址解析成域名
安装DNS服务器软件
[root@localhost ~]# yum -y install bind bind-utils bind-chroot
配置相关配置文件:
/etc/named.conf,/etc/named.rfc1912.zones为DNS主配置文件
/var/named/目录为DNS数据库文件存放目录,每一个域文件都放在这里。
/etc/rc.d/init.d/named 为DNS服务的服务脚本。
配置bind的主配置文件
#将侦听53端口和dns请求查询设置为所有主机
[root@localhost ~]# sed -i -e 's/127.0.0.1/any/' -e 's/localhost/any/' /etc/named.conf
正向解析
[root@localhost ~]# vim /etc/named.rfc1912.zones
[root@localhost ~]# cd /var/named
[root@localhost named]# cp named.localhost test.com.zone
[root@localhost named]# vim test.com.zone
反向解析
#创建反向解析配置文件
[root@localhost named]# cp named.loopback 192.168.8.arpa
正反向配置完以后,检查bind文件配置过程中容易出错的地方,以下命令用于检查bind配置文件以及zone文件语法
#检查正向解析
[root@localhost named]# named-checkconf /etc/named.conf
[root@localhost named]# named-checkzone test.com /var/named/test.com.zone
#检查反向解析
[root@localhost named]# named-checkconf /etc/named.conf
[root@localhost named]# named-checkzone 192.168.8.arpa /var/named/192.168.8.arpa
启动DNS服务
#需要授权,不然named用户加载不了这两个文件,导致解析失败
[root@localhost named]# chown named.named test.com.zone 192.168.8.arpa
[root@localhost named]# systemctl start named.service
验证解析记录
#修改本地DNS解析,添加以下内容
[root@localhost named]# vim /etc/resolv.conf
nameserver 192.168.8.20
[root@localhost named]# nslookup -pt=a www.test.com
[root@localhost named]# nslookup -pt=ptr 192.168.8.20