使用Bind提供域名解析服务

时间:2022-06-01 20:52:36

一、DNS域名解析服务

1)DNS(domain name system,域名系统)技术是一项用于管理和解析域名与IP直接对应关系的技术,DNS服务器主要分为三类:

主服务器:在特定区域内具有唯一性,负责维护该区域内的域名与IP地址之间的对应关系;

从服务器:从主服务器中获取的域名与IP地址对应关系并进行维护,以防主服务器宕机的情况;

缓存服务器:通过向其他域名解析服务器查询到域名与IP地址对应关系,并将经常查询的域名信息保存到本地服务器,以提高重复查询时的效率。

2)域名查询的方式有递归查询和迭代查询两种:递归查询是指用户向dns服务器发起请求时,dns服务器必须向用户返回一个查询结果,如果dns服务器本地没有存在与之对应的信息,该服务器则向其他服务器发起请求,并由该服务器返回一个查询结果给用户;迭代查询是指用户向dns服务器发起请求时,dns服务器向用户返回其他dns服务器的地址,用户再向其他dns服务器发起请求,这样依次重复,直到返回查询结果。

二、安装Bind服务程序

1)BIND(Berkeley Internet Name Domain,伯克利因特网名称域)服务是全球范围内使用最广泛、最安全可靠且高效的域名解析服务程序。在生产环境中安装部署bind服务程序时加上chroot(俗称牢笼机制)扩展包,以便有效地限制bind服务程序仅能对自身的配置文件进行操作,以确保整个服务器的安全,安装命令:yum  install  bind-chroot。

bind服务中有3个关键文件:

主配置文件(/etc/named.conf):只有58行,而且在去除注释信息和空行之后,实际有效的参数仅有30行左右,这些参数用来定义bind服务程序的运行。

区域配置文件(/etc/named.rfc1912.zones):用来保存域名与IP地址对应关系的所有位置,类似于书本目录。

数据配置文件目录(/var/named):用于保存域名与IP地址真实的对应关系的数据配置文件。

2)bind服务程序的区域配置文件用来保存域名与IP地址对应关系的所在位置,该文件定义了域名与IP地址解析规则保存的文件位置以及服务类型,服务类型包含根域hint、主区域master、辅助区域slave,其中的master主区域和辅助区域slave就是常用在主服务器和从服务器中。

3)在实验中启动bind服务失败时,可通过执行named-checkconf和named-checkzone分别检查主配置文件和数据配置文件的语法错误或参数错误。

三、DNS解析

1)正向解析:通过域名查找主机的IP地址

2)反向解析:通过主机IP地址查找主机域名

正向解析实验:

1)修改主配置文件配置vi /etc/named.conf,修改监听地址(端口)为any,修改允许客户机更新为any;

2)设置dns地址为本机地址;

3)编辑区域配置文件vi /etc/named.rfc1912.zones,如下配置:

zone "test.com " IN {

type master; /* 服务类型 */

file “test.com.zone"; /* 配置文件所在的位置 */

allow-update {none;};  /* 允许哪些客户机更新 */

};

4)区域配置文件完成后,下一步是配置数据配置文件,即域名与IP地址对应关系的文件,首先在 /var/named目录喜复制一份数据配置模板:cp  -a named.hostlocal  test.com.zone ,cp 命令 -a 参数意思是保留原始文件的所有者,然后编辑数据配置文件 vi test.come.zone,数据配置如下:

$TTL 1D #生存周期为1天        
@ IN SOA test.com. root.test.com. (  
  #授权信息开始: #DNS区域的地址 #域名管理员的邮箱(不要用@符号)  
        0;serial #更新序列号
        1D;refresh #更新时间
        1H;retry #重试延时
        1W;expire #失效时间
        3H;)minimum #无效解析记录的缓存时间
  NS ns.test.com. #域名服务器记录
ns IN A 192.168.198.10 #地址记录(ns.test.com.)
  IN MX 10 mail.test.com. #邮箱交换记录
mail IN A 192.168.198.10 #地址记录(mail.test.com.)
www IN A 192.168.198.10 #地址记录(www.test.com.)
bbs IN A 192.168.198.20 #地址记录(bbs.test.com.)

保存退出后,重启named服务systemctl  restart  named ,然后通过nslookup命令 解析域名www.test.com得到192.168.198.10的IP地址。

反向解析实验:

1)编辑区域配置文件vi /etc/named.rfc1912.zones

zone "198.168.192.in-addr.arpa " IN {

type master; /* 服务类型 */

file “198.168.192.arpa"; /* 配置文件所在的位置 */

};

2)从/var/named中复制一份反向解析模板命名为198.168.192.arpa:cp  -a  named.loopback  198.168.192.arpa,然后编辑反向解析数据配置文件vi  198.168.192.arpa,数据配置文件如下:

$TTL 1D        
@ IN SOA test.com. root.test.com. (
        0;serial
        1D;refresh
        1H;retry
        1W;expire
        3H);minimum
  NS ns.test.com.  
ns A 192.168.198.10  
10 PTR ns.test.com.     #PTR为指针记录,仅用于反向解析中。
10 PTR mail.test.com.  
10 PTR www.test.com.  
20 PTR bbs.test.com.

四、部署从服务器

1)配置流程为:

在主服务器的区域配置文件中允许从服务器的更新请求,并重新加载配置文件;

在从服务器配置文件中填写主服务器地址与要抓取的区域配置,并重新加载配置文件;

在从服务器中查看/var/named/slaves目录并使用nslookup命令验证结果。

五、安全加密传输

1)第一步是在主服务器中生成密钥:命令是dnssec-keygen -a HMAC-MD5 -b 128 -n HOST master-slave,-a参数是指定加密算法,-b参数是密钥长度,-n是密钥类型。这时会生成一个密钥。

2)在主服务器中创建密钥验证配置文件,进入bind服务程序用于保存配置文件的目录,把刚刚生成的密钥名称、加密算法和私钥加密字符串按照下面格式写入到tansfer.key传输配置文件中:

cd /var/named/chroot/etc/

vi  /transfer.key

3)配置主/从服务器开启密钥验证功能并重新加载named服务,即在主/从服务器的主配置文件中添加:include “/etc/transfer.key;'”