Linux中搭建DNS域名解析服务
一、DNS简介
DNS即Domain Name System---域名系统,可以将其理解为域名和IP地址相互映射的一个分布式数据库,能够使用户不用记住能够被机器直接读取的IP地址,而可以直接输入域名网址进行网络访问。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(分为递归查询和迭代查询)。DNS协议运行在UDP协议之上,使用53号端口进行通信。本文将利用Linux系统搭建简单DNS以及区域委派DNS服务,实现DNS域名解析功能。
二、DNS解析过程及相关配置文件
![](https://img.haomeiwen.com/i10555407/448f391bdb80dbf6.png)
![](https://img.haomeiwen.com/i10555407/b46dd82a9654945d.png)
三、搭建简单DNS服务
1、安装bind软件包
![](https://img.haomeiwen.com/i10555407/3cf677d9f09c589c.png)
2、查找主配置文件和区域文件存放目录
![](https://img.haomeiwen.com/i10555407/572e2372bcc57070.png)
3、设置防火墙允许通过,开启域名服务
![](https://img.haomeiwen.com/i10555407/163d15de4a900739.png)
![](https://img.haomeiwen.com/i10555407/4cc19df56a7ca5df.png)
4、使用netstat -antp检查域名服务是否开启
![](https://img.haomeiwen.com/i10555407/c5076eab193af577.png)
5、设置named服务设为开机自启状态
![](https://img.haomeiwen.com/i10555407/1f041cf19943e503.png)
6、配置主域名服务器,域名为edu.cn
编辑主配置文件/etc/named.conf,设定区域
![](https://img.haomeiwen.com/i10555407/c18f51470982f89a.png)
![](https://img.haomeiwen.com/i10555407/9485c4c147ebb803.png)
编辑区域文件 /var/named/edu.cn.zone
![](https://img.haomeiwen.com/i10555407/62b6c38e5bb744be.png)
字段说明:
$TTL(Time To Live,生存时间)记录
SOA(Start Of Authority,授权信息开始)记录
NS域名服务器(Name Server)记录
MX邮件交换(Mail Exchange)记录
A地址(Address)记录,只用在正向解析区域中
CNAME别名(Canonical Name)记录
改变区域文件属主
![](https://img.haomeiwen.com/i10555407/cf541b131401c2c3.png)
使用named-checkconf和named-checkzone检查主配置文件和区域文件
![](https://img.haomeiwen.com/i10555407/7611e473cfa048d4.png)
重新启动named服务并nslookup验证服务器配置
![](https://img.haomeiwen.com/i10555407/26f78d11cd9531f8.png)
![](https://img.haomeiwen.com/i10555407/0c167419bf8c2797.png)
四、配置区域委派DNS服务
要求:本实验需要两台Linux虚拟机,一台配置上级区域:edu.cn,一台配置下级区域:heuet.edu.cn,并在上级区域中配置委派。
在另一台Linux虚拟机上配置heuet.edu.cn区域(步骤如上)
![](https://img.haomeiwen.com/i10555407/dee7bdbd084732aa.png)
在上面配置好的简单DNS--edu.cn服务器上配置区域委派
1)使用nslookup检查本机是否能够解析heuet.edu.cn
![](https://img.haomeiwen.com/i10555407/6c43f0c684eb7df1.png)
2)编辑区域文件/var/named/edu.cn.zone,添加粘合记录
![](https://img.haomeiwen.com/i10555407/d9013051202d799d.png)
3)关闭上级和下级服务器的dnssec(编辑主配置文件)
![](https://img.haomeiwen.com/i10555407/003b78f2ea72b2d9.png)
![](https://img.haomeiwen.com/i10555407/b51938e1dc580937.png)
4)重新启动两台服务器的named服务并使用nslookup检查本机是否能够解析heuet.edu.cn
![](https://img.haomeiwen.com/i10555407/4b28bc7711728521.png)
![](https://img.haomeiwen.com/i10555407/3f84f77a19bd3d0c.png)
5)使用nslookup检查下级服务器是否能够解析edu.cn
![](https://img.haomeiwen.com/i10555407/dbdcd95310f8417a.png)
可以解析,服务搭建完毕!
DNS故障排错
使用命令查看DNS服务是否正常解析
#cat /etc/resolv.conf
#getent hosts example.com
#dig A example.com
#dig example.com
DNS返回码说明(可通过查看日志得到,根据不同返回码进行错误定位)
SERVFALL DNS服务端处理请求出错
NXDOMAIN 没有请求查询的记录
REFUSED DNS服务端拒绝客户端的解析请求
NOERROR