第17章 域名服务
一、基本概念
1.专业术语1
(1)hosts
/etc/hosts文件:
作用: 实现名字解析,主要为本地主机名、集群节点提供快速解析
(2)DNS域名系统
作用: 实现名字解析(例如将主机名解析为IP)
(3)FQDN:(Fully Qualified Domain Name)完全合格域名/全称域名
例如:www. baidu. com .
主机名.二级域.顶级域.(根域)
(4)DNS区域文件
DNS服务器,存储某个命名空间的域名记录文件。
域名记录:IP 和 域名的对应关系。
2.专业术语2
(1)权威名称服务器
权威名称服务器: 存储并提供某个区域的实际数据
flags:qr aa rd
权威名称服务器类型包括:
Master: 主DNS服务器,包含原始区域的数据
Slave: 备份DNS服务器,通过(区域传输)从Master服务器获得区域数据的副本
(2)非权威名称服务器:
flags:qr rd ra
非权威名称服务器: 不存储某个区域的实际数据,仅缓存DNS服务器,虽然可以提供查询,但查询的内容不具有权威性
(3)DNS解析流程 (面试题)
例如客户端解析 www.126.com
1. 客户端查询自己的缓存(包含hosts中的记录),如果没有,将查询发送/etc/resolv.conf中的DNS服务器
2. 如果本地DNS服务器对于请求的信息具有权威性,会将(权威答案)发送到客户端。
3. 否则(不具有权威性),如果DNS服务器在其缓存中有请求信息,则将(非权威答案)发送到客户端
4. 如果缓存中没有该查询信息,DNS服务器将搜索权威DNS服务器以查找信息:
a. 从根区域开始,按照DNS层次结构向下搜索,直至对于信息具有权威的名称服务器,为客户端获答案
DNS服务器将信息传递给客户端 ,并在自己的缓存中保留一个副本,以备以后查找。
b. 转发到其它DNS服务器
(4)服务器类型
缓存服务器
主服务器(正向/反向)
从服务器(不维护区域文件)
转发服务器
二、DNS服务器基本配置
1.缓存DNS服务器/转发器
(1)环境
DNS服务器1:10.18.41.22
DNS客户机:10.18.41.85
(2)部署DNS服务器
第一步:安装域名服务
#yum -y install bind bind-chroot
第二步:观察域名服务设置,启动查询功能
#vim /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
allow-query { any; };
第三步:启动DNS服务器
#systemctl start named
#systemctl enable named
第四步:查看DNS53号端口是否开启成功
#ss -tnl | grep :53
第五步:关防火墙
#setenfoce 0
#systemctl stop firewalld
(3)客户端测试DNS解析
#vim /etc/resolv.conf
nameserver 10.18.41.22 ---上一台DNS服务器的地址
DNS服务器正常提供服务后
# dig www.baidu.com
;; ANSWER SECTION:
www.baidu.com. 1055 IN CNAME www.a.shifen.com.
www.a.shifen.com. 155 IN A 111.13.100.92 //目标主机的IP地址
;; SERVER: 10.18.41.22 #53(上一台服务器的IP)
flags:qr rd ra 非权威答案
flags:qr aa rd 权威答案
(4)解析原理(根提示)
查看DNS服务主配置文件
#vim /etc/named.conf
根配置文件:/var/named/named.ca--------包含了Internet的根服务器名字和地址
(5)扩展:DNS转发器
DNS转发Forward [通常转发到上一级的DNS服务器]
options {
...
forward first;
forwarders{114.114.144.114;202.106.0.20;};
};
2.主DNS服务器配置/正向区解析配置
案例1:bijz.com
(1)搭建环境:
DNS服务器--10.18.41.22
DNS客户机--10.18.41.119
安装域名服务程序:#yum -y install bind bind-chroot
(2)主配置文件
(1)#vim /etc/named.conf //创建域bijz.com,相当于在域名服务商申请域名
zone "bijz.com" {
type master;
file "bijz.com.zone";
};
(2)数据库文件(区域文件) 在域名服务提供的页面上做解析
#vim /var/named/bijz.com.zone
$TTL 600
@ IN SOA @ root ( 2017033100 1H 15M 1W 1D )
解释://SOA授权 root.bijz.com管理员邮箱 (版本号时间戳 1小时同步 15分钟重试 1周过期 1天的缓存)
@ IN NS dns //bijz.com是DNS服务器的域名
dns IN A 10.18.41.22 //DNS服务器本机IP,声明本机是DNS服务器地址是10.18.41.22
ttt IN CNAME www //设置www的小名,访问ttt.bijz.com也是访问10.18.41.119
www IN A 10.18.41.119 //网站服务器IP,随便一个网站服务器
(3)重启DNS,使配置生效
#systemctl restart named
(4)客户端查询
第一步:指定本地DNS ----
#vim /etc/resolv.conf
nameserver 10.18.41.22
第二步:客户端解析域名
第一种方法:
#dig www.bijz.com
flags:qr rd ra 非权威答案
flags:qr aa rd 权威答案
第二种方法:
#nslookup www.bijz.com