基于Linux系统的网络服务——高速缓存DNS及企业级域名解析服务
1.DNS域名系统
DNS(Domain Name
System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。
2.缓存 DNS
服务器
- BIND 是最广泛使用的开源名称服务器
- 在 RHEL 中 , 通过 bind 软件包提供
- 防火墙开启端口 53/TCP 和 53/UDP
- BIND 的主配置文件是 /etc/named.conf
- /var/named 目录包含名称服务器所使用的其他数据文件
3.DNS分类
权威名称服务器
存储并提供某区域 ( 整个 DNS
域或 DNS 域的一部分 ) 的实际数据。
权威名称服务器的类型包括:
Master : 包含原始区域数据。有时称作 “主要 ”名称服务器
Slave : 备份服务器 , 通过区域传送从 Master 服务器获得的区域数据
的副本。有时称作 “次要 ”名称服务器
非权威 / 递归名称服务器
客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括
仅缓存名称服务器 : 仅用于查找 , 对于非重要数据之外的任何内容都不具
有权威性DNS 查找
4.DNS 查找
户端上的 Stub 解析器 将查询发送至 /etc/resolv.conf 中的名称服务器
如果名称服务器对于请求的信息具有权威性 , 会将权威答案发
送至客户端否则 , 如果名称服务器在其缓存中有请求的信息 ,
则会将非权威答案发送至客户端
如果缓存只能该没有信息 , 名称服务器将搜索权威名称服务器
以查找信息 , 从根区域开始 , 按照 DNS
层次结构向下搜素 ,
直至对于信息具有权威性的名称服务器 , 以
此为客户端获得答案。在此情况中名 ch 称服务器将信息传递
至客户端并在自己的缓存中保留一个副本 , 以备以后查找
5.DNS 资源记录
DNS 区域采用资源记录的形式存储信息。每条资源记录均具有
一个类型 ,
表明其保留的数据类型
A : 名称至 IPv4 地址
AAAA : 名称至 IPv6 地址
CNAME : 名称至 ”规范名称 “ (
包含 A/AAAA 记录的另
一个名称 )
PTR : IPv4/IPv6 地址至名称
MX : 用于名称的邮件交换器 (
向何处发送其电子邮件 )
NS : 域名的名称服务器
SOA :” 授权起始 “ , DNS 区域的信息 ( 管理信息 )
6.DNS 排错
它显示来自 DNS 查找的详细信息 , 其中包括为什么查询失败:
NOERROR :
查询成功
NXDOMAIN : DNS 服务器提示不存在这样的名称
SERVFAIL : DNS 服务器停机或 DNSSEC 响应验证失败
REFUSED : DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )
7.dig 输出的部分内容
标题指出关于查询和答案的信息 , 其中包括响应状态和设置的
任何特殊标记 (
aa 表示权威答案 , 等等 )
QUESTION : 提出实际的 DNS 查询
ANSWER : 响应 ( 如果有 )
AUTHORITY : 负责域 / 区域的名称服务器
ADDITIONAL : 提供的其他信息 , 通常是关于名称服务器
底部的注释指出发送查询的递归名称服务器以及获得响应所花费
的时间
缓存DNS服务器可以通过缓存减少DNS客户端访问外部DNS服务器的网络流量,降低DNS客户端解析域名的时间。
实验环境:虚拟机desktop和虚拟机server
服务端:desktop
1.安装并开启DNS服务功能软件bind
2.修改配置文件
文件的具体修改见下图红色标注:
3.重启服务
此时端口53开启在所有网卡上,包括eth0网卡,IP=172.25.254.105
客户端:server
1.修改客户端配置文件
2.客户端测试
第一次dig的速度很慢
第二次dig明显得到了提升
用于域名到IP地址的映射,当DNS客户端请求解析某个域名时,DNS服务器通过正向查找,并返回给DNS客户端对应的IP地址。
服务器:desktop
1.修改配置文件
2.添加域
3.配置westos.com.zone文件
4.重启服务
客户端测试:
1.设置客户端的dns服务器为172.25.254.105(即dns服务器ip)
2.开始测试
用于IP地址到域名的映射,当DNS客户端请求解析某个IP地址时,DNS服务器通过反向查找,并返回给DNS客户端对应的域名。
服务端:desktop
1.修改named的配置文件(添加域)
2.编写westos.com.ptr文件
3.重启服务
客户端测试:
1.设置客户端的dns服务器为172.25.254.105(即dns服务器ip)
2.测试不同ip对应域名
具体结果如图示:
DNS双向解析指内网与外网解析分离
1.编写外网域名文件
2.编写外网配置文件
3.编写配置文件使内外网分离
4.设置服务端(内网)的dns服务器ip
客户端测试:
1.设置客户端(外网)的dns服务器为172.25.254.105(即dns服务器ip)
2.测试
辅助DNS主要是为了减轻主DNS服务器的工作负荷,可以配置多台辅助DNS服务器。
主DNS:172.25.254.105
副DNS:172.25.254.205 客户端:172.25.254.62
dns-master设置:
1.编写配置文件,将双向解析注释掉
2.修改配置文件使205可以传输信息
dns-slave设置:
1.安装dns服务软件
2.主配置文件的修改
3.修改named的配置文件
测试:查看dns-slave是有dns-master缓存
修改主dns的ip之前
对dns-master做出修改之后
服务端:
客户端:
在服务端生成 westos.com.zone.jnl
本实验必须在远程更新dns的基础上才可做。
服务端配置:
1.恢复实验环境
2.加密文件的生成
3.编辑key文件
4.编辑主配置文件
5.修改named配置文件
6.发送钥匙给允许动态更新该dns的主机;
客户端测试:在205远程更新dns新航道英语学校
切换到服务器dig看是否更新
本实验要确保基于key认证远程更新dns成功。
恢复实验环境
1.部署dhcp服务器
ip:172.25.254.105
重启服务
2.客户端测试
修改客户端主机名称
<3>修改dhcp分配的区域,重新使客户端获取ip,如果dig 主机名的结果随着ip的改变而改变,说明实验成功。
示图:dig主机名的ip为主机dhcp动态获取的ip,则实验成功.
实验成功!!!
小结:本篇博客难度较大,自己由于粗心导致很多错误,好在经过仔细排查更正过来,希望自己以后可以克服粗心的问题!