CentOS 7.4搭建DNS服务器
一、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地址解析成域名
实验环境:
系统:CentOS Linux release 7.4.1708 (Core)
IP地址:192.168.8.20
二、安装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
四、正向解析
#这里以test.com域为例,编辑/etc/named.rfc1912.zones配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones
#配置内容如下
zone "test.com" IN {type master;file "test.com.zone";allow-update { none; };}; zone "8.168.192.in-addr.arpa" IN {type master;file "192.168.8.arpa";allow-update { none; };};
#进入/var/named目录,创建正向解析配置文件(此处我直接复制默认生成的正向解析配置文件)
[root@localhost ~]# cd /var/named
[root@localhost named]# cp named.localhost test.com.zone
[root@localhost named]# vim test.com.zone
#添加解析记录
www IN A 192.168.8.20@ IN A 192.168.8.20mail IN A 192.168.8.20bbs IN A 192.168.8.20
五、反向解析
#创建反向解析配置文件
[root@localhost named]# cp named.loopback 192.168.8.arpa
#添加解析记录
20 IN PTR www.test.com.20 IN PTR test.com.20 IN PTR mail.test.com.20 IN PTR bbs.test.com.
六、正反向配置完以后,检查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