DNS 简介
1.权威名称服务器
存储并提供某区域 ( 整个 DNS 域或 DNS 域的一部分 ) 的实际数据。
权威名称服务器的类型包括:
Master : 包含原始区域数据。有时称作 “主要 ”名称服务器
Slave : 备份服务器 , 通过区域传送从 Master 服务器获得的区域数据的副本。有时称作 “次要 ”名称服务器
2.非权威 / 递归名称服务器
客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括仅缓存名称服务器 : 仅用于查找 , 对于非重要数据之外的任何内容都不具有权威性
3.DNS 查找
1.户端上的 Stub 解析器 将查询发送至 /etc/resolv.conf 中的名称服务器
2.如果名称服务器对于请求的信息具有权威性 , 会将权威答案发送至客户端否则 , 如果名称服务器在其缓存中有请求的信息 ,则会将非权威答案发送至客户端
3.如果缓存只能该没有信息 , 名称服务器将搜索权威名称服务器以查找信息 , 从根区域开始 , 按照 DNS 层次结构向下搜素 , 直至对于信息具有权威性的名称服务器 , 以此为客户端获得答案。在此情况中名 ch 称服务器将信息传递至客户端并在自己的缓存中保留一个副本 , 以备以后查找
4.BIND 的主配置文件是 /etc/named.conf
/var/named 目录包含名称服务器所使用的其他数据文件
/etc/named.conf 的语法
1.// 或 # 至行末尾是注释 ;/* 与 */ 之间的文本也是注释 ( 可以跨越多行 )
2.指令以分号结束 (;)
3.许多指令认为地址匹配列表放在大括号中、以 CIDR 表示法表示的IP 地址或子网列表中 , 或者命名的 ACL 中 ( 例如 any; [ 所有主机 ] 和 none; [ 无主机 ] )
4.文件以 options 块开始 , 其中包含控制 named 如何运作的指令
5.zone 块控制 named 如何查对于其具有权威性的根名称服务器和区域
高速缓存DNS的搭建
服务器可以高速缓存从其他 DNS 服务器收到的 DNS 记录。 也可以在 DNS 客户服务中使用高速缓存,将其作为 DNS 客户端保存在最近的查询过程中得到的信息高速缓存的方法。 总的来说就是提高解析速度。
BIND 是最广泛使用的开源名称服务器在 RHEL 中 , 通过 bind 软件包提供防火墙开启端口 53/TCP 和 53/UDPBIND 的主配置文件是 /etc/named.confvar/named 目录包含名称服务器所使用的其他数据文件。
这个部分我们分多个实验去阐述高速缓存DNS,所有实验以desktop这个虚拟机搭建DNS服务器,用真机和server 这个虚拟机作测试。
搭建实验环境
第一步:开启真机路由功能,使虚拟机可以通过真机ping通114.114.114.114(参考之前)
第二步:将真机中/etc/resolv.conf文件中的域名解析服务器全部屏蔽,将虚拟机172.25.254.122作为域名服务器添加进去
此时测试:dig www.baidu.com 会得不到任何回应,显示没有可以链接的服务器
第三步:配置好yum源
第四步:关闭虚拟机火墙
实验1.:创建一个DNS服务器,缓存互联网下解析出来的域名信息
第一步:在虚拟机desktop上安装bind.x86_64软件,开启named服务
yum install bind.x86_64
systemctl start named
systemctl enable named
第二步: 编辑/etc/named.conf文件,设置虚拟机为高速缓存DNS服务器
options {
listen-on port 53 { any};
##listen-on 控制 named 侦听的 IPv4 地址
listen-on-v6 port 53 { ::1; };
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; };
##allow-query 控制哪些客户端可以向 DNS 服务器询问信息
forwardders {114.114.114.114;};
##forwarders 包含 DNS 查询将转发至的名称服务器的列表( 而不是直接联系外部名称服务器 ; 在设有防火墙的情中很有用 )
dnssec-validation no;
测试:dig www.westos.com