一.环境
- 服务器:Centos7
- DNS:bind
二.安装BIND服务器软件并启动
- yum -y install bind*
在安装完BIND后,系统会多一个用户named
安装过程中,出现错误,需要依赖libmysqlclient.so.18()(64bit)组件的解决办法:
首先,手动下载:wget https://downloads.mysql.com/archives/get/file/mysql-community-libs-compat-5.7.22-1.el7.x86_64.rpm
再手动安装; rpm mysql-community-libs-compat-5.7.22-1.el7.x86_64.rpm
最后,再重新安装bind
2.启动DNS服务
systemctl start named.service
3.查看named进程是否正常启动
ps -eaf | grep named
4. DNS采用的UDP协议,监听53号端口,进一步检验named工作是否正常
netstat -an|grep :53
iptables -I INPUT -p tcp --dport 53 -j ACCEPT
iptables -I INPUT -p udp --dport 53 -j ACCEPT
三.DNS服务的相关配置文件
1.编辑配置/etc/named.conf
修改如下两行(如下图所示),
listen-on port 53 { 127.0.0.1; };
#将127.0.0.1修改成本机实际IP 或者 any
allow-query { localhost; };
#将localhost 该成any
修改前:
修改后:
2. 配置域名解析文件
域名解析分正向区域和反向区域,正向区域是将域名解析为IP地址的过程,反向区域则是客户机根据一台计算机的IP 地址搜索它的域名。在大部分的 DNS查询中,客户机一般执行正向区域解析。
正反向区域的配置,可以直接写在/etc/named.conf中(不推荐),在/etc/named.conf最下方有两句include语句,其中include "/etc/named.rfc1912.zones";就是用来配置正反向区域配置的文件,当然也可以自定义(自定义需要在/etc/named.conf中include),入下图。
这里我们使用默认的配置文件/etc/named.rfc1912.zones,执行
vim /etc/named.rfc1912.zones
编辑这个文件,加入(以下笔者以域名esgz.com为例):
添加正向解析域esgz.com,其对应的域解析文件分别为由file指定的esgz.com.zone。
正反向解析区域文件都在/etc/named.conf的 directory 参数配置,默认是"/var/named"。
编辑正向区域文件,内容如下图,其中:ns1、ns2为解析的两个DNS域名,在我们自定义域名DNS服务器的时候要用到
参考链接:https://blog.csdn.net/weiyongle1996/article/details/73302458
https://www.jianshu.com/p/ceaa2cc5715c
https://blog.csdn.net/nahancy/article/details/79370993