写在前言:DNS服务器中 named-checkconf -z /etc/named.conf
命令用来检查所有与DNS有关的配置文件,若有错误,会直接提示,可以代替相关的所有检查命令。
CentOS 7通过yum安装所需的BIND软件,系统光盘中自带了BIND服务的安装文件。
打开DNS服务的主配置文件:
以下是主配置文件中的 “全局配置” 部分各主要配置项的含义(建议删除的就算没删除,也必须更改对的地址,否则服务会失败):
主配置文件中的 “区域配置” 部分配置项的含义:
以上每个zone区域都是可选的,根据自己的实际需求定义即可,以上配置项是做了一个正向解析区域,一个反向解析区域。 (反向解析并不实用,可以忽略,根据自己需求定义吧)
定义好主配置文件后,就可以去配置区域数据文件了,通常默认存放在 /var/named目录下,每个区域数据文件对应一个DNS解析区域,文件名及内容我们自己定义
以我们在主配置文件中指定的区域数据文件名新建一个文本:(文件名一定要和主配置文件中指定的区域数据文件名一致)
进入新建的配置文件中,在末行模式下执行如下操作可以把配置文件的模板写入当前文件:
以上单位时间为M(分)、H(时)、W(周)、D(天)。
根据自己的需要编辑完后如下所示:
编辑完成后, 保存退出。
继续写另一个反向解析的配置文件,(同样,要和主配置文件中指定的文件名一样)
因为此反向解析是对应的刚才的正向区域,所以可以在末行模式下执行以下操作,把刚才编写的正向解析记录复制到当前文件。
然后更改它主机记录的格式,(注意要把 “A” 记录换成 “PTR” ),更改完成后如下:
全部配置文件编写完成后可以使用以下命令对所有DNS相关的配置文件进行检查,如有语法错误的地方,会依次指出。
如下显示,则表示配置文件没有问题,便可执行 systemctl start named
启动DNS服务。
使用客户机验证是否能够解析到各主机(正、反向解析均成功):
接下来,开另一台服务器,做 刚才那台 “主DNS服务器” 的 “从DNS服务器”(辅助DNS服务器):
安装BIND相关的软件:
编写主配置文件:
写入以下区域配置:
执行 systemctl start named
启动DNS服务,客户机验证一下即可。
关于DNS转发器配置简单介绍:
转发的类型 (1)全局转发:针对凡本地没有通过zone定义的区域查询请求,全部转给某转发器
options { forwarders { 0.0.0.0; }; #指明转发器是谁 forward only|first; #only表示仅转发 ;first表示先进行转发,如果没查询到结果,那么它自己还会根据根提示向外迭代查询 };
例如:
forward first; #本机不能解析的转发给202.96.209.5做解析#first:首先转发;转发器不响应时,自行去迭代查询;only:只转发; forwarders { 202.96.209.5; 210.22.84.3; 202.96.209.133; 223.5.5.5; };
(2)局部转发:仅转发对某特定区域的解析请求 zone { forwarders { ip; }; #指明转发器是谁 forward only|first; #only表示仅转发 ;first表示先进行转发,如果没查询到结果,那么它自己还会根据根提示向外迭代查询 }; 例如:
root@DNS-Slave chroot]#vim /etc/named.rfc1912.zones zone "google.com.hk" IN { type forward; forward only; forwarders { 8.8.8.8; }; };