一、配置主DNS服务器
伯克利因特网名称域(Berkeley Internet Name Domain,BIND)服务是全球范围内使用非常广泛,安全可靠且高效的域名解析服务程序。DNS域名解析服务作为互联网基础设施服务,其责任非常重大,因此建议大家在生产环境中安装部署BIND服务程序时加上chroot(俗称牢笼机制)扩展包,以便有效地限制BIND服务程序,使其仅能对自身的配置文件进行操作,以确保整个服务器的安全。
建议配置前临时关闭防火墙和SELinux服务。
【systemctl stop firewalld】
setenorce 0
【yum install -y bind-chroot】
配置BIND服务程序并不简单,因为要想为用户提供健全的DNS查询服务,必须在本地保存相关的域名数据库,但是如果把所有域名和IP地址的对应关系都写入某个配置文件,会有上千万条的参数,这样既不利于提高程序的执行效率,也不方便日后的修改和维护工作。因此,在BIND服务程序中有以下3个比较关键的文件。
• 主配置文件(/etc/named.conf):只有58行,而且在去除注释信息和空行之后,实际有效的参数仅有30行左右,这些参数用来定义BIND服务程序的运行。
• 区域配置文件(/etc/named.rfc1912.zones):用来保存域名和IP地址的对应关系。类似于图书目录,对应着每个域名和相应的IP地址所在的具体位置,当需要查看或修改文件时,可根据这个位置找到相关文件。
• 数据配置文件目录(/var/named):该目录用来保存域名和IP地址真实对应关系的数据配置文件。
在Linux操作系统中,BIND服务程序的名称为named。首先需要在/etc目录中找到该服务程序的主配置文件,然后把第11行和第17行的地址均修改为any。这两个地方一定要修改准确,如图下图所示。
【vim /etc/named.conf】
图中的第13行表示监听在这个DNS服务器系统上面的哪个网络接口。默认监听“localhost或127.0.0.1”,即只有本机可以对DNS服务器进行查询,但是这样并不合理,所以这里要将大括号内的数据改成any,这样可以监听多个接口,any后面要加上分号才算结束。
“allow-query { any; };”是针对客户端的设定,即谁可以对此DNS服务器提出查询请求。原本的档案内容默认只对localhost开放,这里改成对所有的用户开放,防火墙也要开放才行。
BIND服务程序的区域配置文件(/etc/named.rfc1912.zones)用来保存域名和IP地址对应关系的所在位置。在这个文件中,定义了域名与IP地址解析规则的存放位置及服务类型等内容,但不包含具体的域名、IP地址对应关系等信息。BIND服务类型有3种,分别为hint(根区域)、master(主区域)、slave(辅助区域),其中常用的master和slave指的就是主服务器和从服务器。将域名解析为IP地址的正向解析参数和将IP地址解析为域名的反向解析参数分别如下图所示。
下面的实验中会分别修改bind服务程序的主配置文件、区域配置文件与数据配置文件。如果在实验中遇到了bind服务程序启动失败的情况,并且您认为这是由写错参数造成的,就可以执行【named-checkconf】命令和【named-checkzone】命令,分别检查主配置文件与数据配置文件中的语法或参数的错误。
1.配置正向解析区域
在DNS域名解析服务中,正向解析是指根据域名(主机名)查找到对应的IP地址。也就是说,当用户输入了一个域名后,BIND服务程序会自动进行查找,并将匹配到的IP地址返给用户。这也是最常用的DNS工作模式。
第1步:编辑区域配置文件。该文件中默认存在一些解析参数,旨在让用户有一个参考。可以将以下参数添加到区域配置文件的最下面,当然,也可以将该文件中的原有信息全部清空,只保留自己的域名解析信息。
【vim /etc/named.rfc1912.zones】
zone "linux-yhy.com" IN {
type master;
file "linux-yhy.com.zone";
allow-update {none;};
};
第2步:编辑数据配置文件,命令为【vim linux-yhy.com.zone】。可以从/var/named目录中复制一份正向解析的模板文件(named.localhost),命令为【cp -p named.localhost linux-yhy. com.zone】,然后把域名和IP地址的对应数据填写到数据配置文件中并保存。在复制时记得加上-p参数,这样可以保留原始文件的所有者、所属组、权限等信息,以便让BIND服务程序顺利读取文件内容,正向解析文件如下图所示。
在保存并退出文件后记得重启named服务程序,命令为【systemctl restart named】,以使新的解析数据生效。考虑到正向解析文件中的参数较多,而且都比较重要,笔者在每个参数后面都进行了简要说明。
$TTL 1D |
#生存周期为1天 |
||||
@ |
IN SOA |
linux-yhy.com. |
root.linux-yhy.com. |
( |
|
#授权信息开始 |
#DNS区域的地址 |
#域名管理员的邮箱(不要用@符号) |
|||
0;serial |
#更新序列号 |
||||
1D;refresh |
#更新时间 |
||||
1H;retry |
#重试延时 |
||||
1W;expire |
#失效时间 |
||||
3H);minimum |
#无效解析记 |
||||
NS |
ns.linux-yhy.com. |
#域名服务器记录 |
|||
ns |
IN A |
192.168.88.188 |
#地址记录(ns.linux-yhy.com.) |
||
IN MX 10 |
mail.linux-yhy.com. |
#邮箱交换记录 |
|||
|
IN A |
192.168.88.188 |
#地址记录(mail.linux-yhy.com.) |
||
www |
IN A |
192.168.88.188 |
#地址记录(www.linux-yhy.com.) |
||
bbs |
IN A |
192.168.88.20 |
#地址记录(bbs.linux-yhy.com.) |
第3步:检验解析结果。为了检验解析结果,一定要先把Linux操作系统网卡中的DNS地址参数修改成本机IP地址,这样就可以使用本机提供的DNS查询服务了,如下图所示。修改完成后重启网络服务,命令为【systemctl restart network】。
【nslookup】命令用于检测能否从DNS服务器中查询到域名与IP地址的解析记录,进而更准确地检验DNS服务器是否能够为用户提供服务,如下图所示。
2.配置反向解析区域
在DNS域名解析服务中,反向解析的作用是将用户提交的IP地址解析为对应的域名信息,它一般用于对某个IP地址上绑定的所有域名进行整体屏蔽,屏蔽由某些域名发送的垃圾邮件。它也可以针对某个IP地址进行反向解析,大致判断出有多少个网站在上面运行。当购买虚拟主机时,可以使用这一功能验证虚拟主机提供商是否有严重的超售问题。
第1步:编辑区域配置文件。在编辑该文件时,除了不要写错格式,还需要记住此处定义的数据配置文件名称,因为一会儿还需要在/var/named目录中建立与其对应的同名文件。反向解析是把IP地址解析成域名格式,因此在定义zone(区域)时应该把IP地址反写,如果原来是192.168.88.0,反写后应该是88.168.192,而且只需写出IP地址的网络位即可。把下列参数添加至正向解析参数的后面。
【vim /etc/named.rfc1912.zones】
zone "linux-yhy.com" IN {
type master;
file "linux-yhy.com.zone";
allow-update {none;};
};
zone "88.168.192.in-addr.arpa" IN {
type master;
file "192.168.88.arpa";
};
第2步:编辑数据配置文件。首先从/var/named目录中复制一份反向解析的模板文件,命令为【cp-p named.loopback 192.168.88.arpa】,然后把下列参数填写到文件中,命令为【vim 192.168.88.arpa】。其中,IP地址仅需要写主机位,如下图所示。最后重启BIND服务,命令为【systemctl restart named】。
TTL 1D |
||||
@ |
IN SOA |
linux-yhy.com. |
root.linux-yhy.com. |
( |
0;serial |
||||
1D;refresh |
||||
1H;retry |
||||
1W;expire |
||||
3H );minimum |
||||
NS |
ns.linux-yhy.com. |
|||
ns |
A |
192.168.88.188 |
||
188 |
PTR |
ns.linux-yhy.com. |
#PTR为指针记录,仅用于反向解析 |
|
188 |
PTR |
mail.linux-yhy.com. |
#对应IP地址为192.168.88.188 |
|
20 |
PTR |
www.linux-yhy.com. |
#对应IP地址为192.168.88.20 |
|
30 |
PTR |
bbs.linux-yhy.com. |
#对应IP地址为192.168.88.30 |
第3步:检验解析结果。在前面的正向解析实验中,已经把系统网卡中的DNS地址参数修改成了本机IP地址,因此可以直接使用【nslookup】命令来反向检验解析结果,仅需输入IP地址即可查询到对应的域名信息,如下图所示。
二、配置从服务器
作为重要的互联网基础设施服务,保证DNS域名解析服务的正常运转至关重要,只有这样才能提供稳定、快速且不间断的域名查询服务。在DNS域名解析服务中,从服务器(IP地址:192.168.88.20)可以从主服务器(IP地址:192.168.88.188)上获取指定的区域数据文件,从而起到备份解析记录与均衡负载的作用,因此通过配置从服务器可以减轻主服务器的负载压力,还可以提升用户的查询效率,具体的操作步骤如下。
第1步:在主服务器的区域配置文件中允许该从服务器的更新请求,即修改allow-update {允许更新区域信息的主机地址;};参数,然后重启主服务器的DNS服务程序。
【vim /etc/named.rfc1912.zones】
zone "linux-yhy.com" IN {
type master;
file "linux-yhy.com.zone";
allow-update { 192.168.88.20; };
};
zone "88.168.192.in-addr.arpa" IN {
type master;
file "192.168.88.arpa";
allow-update { 192.168.88.20; };
};
【systemctl restart named】
第2步:在从服务器中填写主服务器的IP地址与要获取的区域信息,然后重启DNS服务程序。注意此时的服务类型应该是slave(从),而不再是master(主)。masters参数后面应该为主服务器的IP地址,而且file参数后面定义的是同步数据配置文件后要将其保存到什么位置,稍后可以在该目录中看到同步的文件。
【vim /etc/named.rfc1912.zones】
zone "linux-yhy.com" IN {
type slave;
masters { 192.168.88.188; };
file "slaves/linux-yhy.com.zone";
};
zone "10.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.88.188; };
file "slaves/192.168.88.arpa";
};
【systemctl restart named】
第3步:检验解析结果。当从服务器的DNS服务程序重启后,就可以已经自动从主服务器上同步数据配置文件了,而且该文件默认会放置在区域配置文件所定义的目录位置。随后修改从服务器的网络参数,把DNS地址参数修改成192.168.88.20,即可使用从服务器自身提供的DNS域名解析服务。最后就可以使用nslookup命令顺利看到解析结果了。使用【cd /var/named/slaves】命令切换到相应目录,使用【ls】命令查看从服务器复制过来的文件,如下图所示。文章来源:https://www.toymoban.com/news/detail-762897.html
文章来源地址https://www.toymoban.com/news/detail-762897.html
到了这里,关于CentOS8服务篇1:配置DNS服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!