Linux中搭建DNS域名解析服务

一、DNS简介 DNS即Domain Name System---域名系统,可以将其理解为域名和IP地址相互映射的一个分布式数据库,能够使用户不用记住能够被机器直接读取的IP地址,而可以直接输入域名网址进行网络访问。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(分为递归查询和迭代查询)。DNS协议运行在UDP协议之上,使用53号端口进行通信。本文将利用Linux系统搭建简单DNS以及区域委派DNS服务,实现DNS域名解析功能。
二、DNS解析过程及相关配置文件

Linux中搭建DNS域名解析服务
文章图片
图片来源于网络 Linux中搭建DNS域名解析服务
文章图片
主要配置文件及命令 三、搭建简单DNS服务 1、安装bind软件包
Linux中搭建DNS域名解析服务
文章图片
yum安装bind软件包 2、查找主配置文件和区域文件存放目录
Linux中搭建DNS域名解析服务
文章图片
查看配置文件位置 3、设置防火墙允许通过,开启域名服务
Linux中搭建DNS域名解析服务
文章图片
设置防火墙规则 Linux中搭建DNS域名解析服务
文章图片
开启服务 4、使用netstat -antp检查域名服务是否开启
Linux中搭建DNS域名解析服务
文章图片
查看端口是否打开 5、设置named服务设为开机自启状态
Linux中搭建DNS域名解析服务
文章图片
设置开机自启 6、配置主域名服务器,域名为edu.cn
编辑主配置文件/etc/named.conf,设定区域 Linux中搭建DNS域名解析服务
文章图片
更改配置文件 Linux中搭建DNS域名解析服务
文章图片
添加区域 编辑区域文件 /var/named/edu.cn.zone Linux中搭建DNS域名解析服务
文章图片
更改区域文件 字段说明:
$TTL(Time To Live,生存时间)记录
SOA(Start Of Authority,授权信息开始)记录
NS域名服务器(Name Server)记录
MX邮件交换(Mail Exchange)记录
A地址(Address)记录,只用在正向解析区域中
CNAME别名(Canonical Name)记录
改变区域文件属主 Linux中搭建DNS域名解析服务
文章图片
更改文件属主 使用named-checkconf和named-checkzone检查主配置文件和区域文件 Linux中搭建DNS域名解析服务
文章图片
检查配置文件 重新启动named服务并nslookup验证服务器配置 Linux中搭建DNS域名解析服务
文章图片
重启服务 Linux中搭建DNS域名解析服务
文章图片
解析域名检查 四、配置区域委派DNS服务 要求:本实验需要两台Linux虚拟机,一台配置上级区域:edu.cn,一台配置下级区域:heuet.edu.cn,并在上级区域中配置委派。
在另一台Linux虚拟机上配置heuet.edu.cn区域(步骤如上) Linux中搭建DNS域名解析服务
文章图片
配置检查 在上面配置好的简单DNS--edu.cn服务器上配置区域委派 1)使用nslookup检查本机是否能够解析heuet.edu.cn
Linux中搭建DNS域名解析服务
文章图片
配置前检查 2)编辑区域文件/var/named/edu.cn.zone,添加粘合记录
Linux中搭建DNS域名解析服务
文章图片
配置区域文件 3)关闭上级和下级服务器的dnssec(编辑主配置文件)
Linux中搭建DNS域名解析服务
文章图片
配置上级服务器主文件 Linux中搭建DNS域名解析服务
文章图片
配置下级服务器主文件 4)重新启动两台服务器的named服务并使用nslookup检查本机是否能够解析heuet.edu.cn
Linux中搭建DNS域名解析服务
文章图片
重启服务 Linux中搭建DNS域名解析服务
文章图片
检查域名解析 5)使用nslookup检查下级服务器是否能够解析edu.cn
Linux中搭建DNS域名解析服务
文章图片
检查域名解析 可以解析,服务搭建完毕!


DNS故障排错 使用命令查看DNS服务是否正常解析

#cat /etc/resolv.conf
#getent hosts example.com
#dig A example.com
#dig example.com
DNS返回码说明(可通过查看日志得到,根据不同返回码进行错误定位)
SERVFALL DNS服务端处理请求出错
NXDOMAIN没有请求查询的记录
REFUSEDDNS服务端拒绝客户端的解析请求
【Linux中搭建DNS域名解析服务】NOERROR

    推荐阅读