商城网站模板温岭网络推广
DNS域名解析服务
本章结构
BIND域名服务基础
- DNS系统的作用及类型
- BIND的安装和配置文件
使用BIND构建域名服务器
- 构建缓存域名服务器
- 构建主、从域名服务器
DNS系统的作用
- 正向解析:根据域名查找对应的IP地址
- 反向解析:根据IP地址查找对应的域名
- DNS系统的分布式数据结构

DNS的分布式互联网解析库
大型、分布式的互联网DNS解析库
- 根. 根域名DNS服务器:专门负责根域名
一级DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)
- .com(工商 企业)
- .net(网络供应商)
- .edu(教育机构)
- .cn(中国国家域名)
- .org(团体组织)
- .gov(政府部门)
二级DNS服务器:专门负责二级域名的解析
- .net.cn
- .edu.cn
- .com.cn
子域名DNS服务器:专门负责子域名的解析
- .sina.com.cn
- .pku.edu.cn
主机站点
- www
域名代理/注册/购买服务商
- -新网,http://www.xinnet.com
- -万网,http://www.net.cn
- -中国互联,http://hulian.top
DNS递归查询和迭代查询
一图解

DNS系统类型
缓存域名服务器
- 也称为DNS高速缓存服务器
- 通过向其他域名服务器查询获得域名 ->IP地址记录
- 将域名查询结果缓存到本地,提高重复查询时的速度
主域名服务器
- 特定DNS区域的权威服务器,具有唯一性
- 负责维护该区域内所有域名->IP地址的映射记录
- 需要自行建立所负责区域的地址数据文件
从域名服务器
- 也称为辅助域名服务器,是对主域名服务器的热备份
- 其维护的域名->IP地址记录来源于主域名服务器
- 需要从主域名服务器自动同步区域地址数据库
BIND软件安装
BIND(Berkeley Internet Name Daemon)
- BIND是应用最广泛的DNS服务程序
- 官方站点:https://www.isc.org/
相关软件包
- bind-9.9.4-37.el7.x86_64.rpm
- bind-utils-9.9.4-37.el7.x86_64.rpm
- bind-libs-9.9.4-37.el7.x86_64.rpm
- bind-chroot-9.9.4-37.el7.x86_64.rpm
DNS服务配置操作
1.首先下载Bind安装包
[root@localhost ~]# rpm -qc bind //#查询bind软件配置文件所在路径
/etc/logrotate.d/named //主配置文件 控制系统全局
/etc/named.rfc1912.zones //区域配置文件 控制具体单个区域
/var/named/named.localhost //区域数据配置文件 区域信息
安装bind软件包yum install bind -y (必须网络源或光盘挂载) 或rpm -ivh 前提挂载光盘(系统盘ISO镜像)
2.修改主要配置文件
vim /etc/named.conf
options {
listen-on port 53 { 192.168.124.66; }; ●监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有
#listen-on-v6 port 53 { ::1; }; #ipv6行如不使用可以注释掉或者删除
directory "/var/named"; #区域数据文件的默认存放位置
dump- file "/var/named/data/cache_dump.db"; #域名缓存数据库文件的位置
statistics-file "/var/named/data/named stats.txt"; #状态统计文件的位置
memstatistics-file "/var/named/data/named mem stats.txt"; # 内存统计文件的位置
allow-query { any; };● 允许使用本DNS解析服务的网段,也可用any代表所有
}
3.修改区域配置文件,添加正向区域配置
vim /etc/named.rfc1912.zones
#文件里有模版,可复制粘贴后修改
zone "benet.com." IN {●正向解析"benet.com"区域
type master;#类型为主区域
file "benet.com.zone."; ●指定区域数据文件为benet.com.zone
allow-update { none; } ;
};
4.配置正向区域数据文件
cd /var/ named/
cp -p named.localhost benet.com.zone #保留源文件的权限和属主的属性复制
vim /var/named/benet.com.zone
$TTL 1D #有效解析记录的生存周期
@ in SOA benet.com. admin.benet.com. ( #“@"符号表示当前的DNS区域名0 ; serial #更新序列号,可以是10位以内的整数1D ; refresh #刷新时间,重新下载地址数据的间隔1H ; retry #重试延时,下载失败后的重试间隔1W ; expire #失效时间,超过该时间仍无法下载则放弃#3H) ; minimum #无效解析记录的生存周期,NS benet.com #记录当前区域的DNS服务器的名称A 192.168.80.10 #记录主机IP地址
IN MX 10 mail.benet.com #MX为邮件交换记录,数字越大优先级越低
www IN A 192.168.80.10 #记录正向解析www.benet.com对应的IP
mail IN A 192.168.80.11 #MX为邮件交换记录,数字越大优先级低
ftp IN CNAME www #CNAME使用别名,ftp 是www的别名
* IN A 192.168.80.100 #泛域名解析,“*"代表任意主机名
命令字解释
#“@”这里是一个变量,当前DNS区域名
#SOA记录中的更新序列号用于同步主、从服务器的区域数据,当从服务器判断区域更新时,若发现主服务器中的序列号与本地区域数据中的序列号相同,则不会进行下载。
# "benet.com. "此为完全合格域名(FQDN) ,后面有个“."不能漏掉
#“admin.benet.com.”表示管理员邮箱,这里的“@”符号已有其他含义,所以用“.”代替
#IN 表示internet
5.启动服务,关闭防火墙
systemctl start named
systemctl stop firewalld
setenforce 0
#如果服务启动失败,可以查看日志文件来排查错误
tail -f /var/log/messages
#如果服务启动卡住,可以执行下面命令解决
rndc-confgen -r /dev/urandom -a#对域名语法进行检查(named.conf)
named-checkconf -z /etc/named.conf
6.在客户端的域名解析配置文件中添加DNS服务器地址
vi /etc/resolv .conf
#修改完后立即生效
nameserver 192.168.80.10
或
vi /etc/sysconfig/network-scripts/ifcfg-ens33
#修改完后需要重启网卡
DNS1=192.168.80.10
systemctl restart network
7.测试DNS解析
host www.cmx.com
nslookup www.cmx.com
ext file
lenath:11.599 lines:231
Ln:121 Co
