目录
一.域名解析介绍
我们学完系统的相关课程后,如果只有操作系统是无法完成企业中的生成要求,你买了一台笔记本,不可能只玩扫雷,操作系统知识一个了资源调度等一些列基本操作,我们接下来的课程就要介绍相关的应用软件
当前TCP/IP网络中的设备之间进行通信,是利用和依赖于IP地址实现的。但数字形式的IP地址是很难记忆的。当网络设备众多,想要记住每个设备的IP地址,可以说是"不可能完成的任务"。那么如何解决这一难题呢?我们可以给每个网络设备起一个友好的名称,如:www.baidu.com,这种由文字组成的名称,显而易见要更容易记忆。但是计算机不会理解这种名称的,我们可以利用一种名字解析服务将名称转化成(解析)成IP地址。从而我们就可以利用名称来直接访问网络中设备了。除此之外还有一个重要功能,利用名称解析服务可以实现主机和IP的解,即:当主机IP变化时,只需要修改名称服务即可,用户仍可以通过原有的名称进行访问而不受影响。
实现此服务的方法是多样的。
DNS:Domain Name System 域名系统,应用层协议,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构,服务器端:53/udp, 53/tcp实际上,每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域 名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解 析的方向不同,DNS 区域相应地分为正向区域(包含域名到 IP 地址的解析记录)和反向区 域(包含 IP 地址到域名的解析记录)
根域: 全球根服务器节点只有13个,10个在美国,1个荷兰,1个瑞典,1个日本
-
一级域名:Top Level Domain: tld
-
三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域
-
com, edu, mil, gov, net, org, int,arpa
-
二级域名:magedu.com
-
三级域名:study.magedu.com
-
最多可达到127级域名
ICANN(The Internet Corporation for Assigned Names and Numbers)互联网名称与数字地址分配机构,负责在全球范围内对互联网通用顶级域名(gTLD)以及国家和地区顶级域名(ccTLD)系统的管理、以及根服务器系统的管理
二.DNS服务器
1.DNS服务器类型
-
缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,
但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定
其他 DNS 服务器作为解析来源。
-
主域名服务器:管理和维护所负责解析的域内解析库的服务器
-
从域名服务器
从主服务器或从服务器"复制"(区域传输)解析库副本
序列号:解析库版本号,主服务器解析库变化时,其序列递增
刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔
重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔
过期时长:从服务器联系不到主服务器时,多久后停止服务
通知机制:主服务器解析库发生变化时,会主动通知从服务器
IPv4的根名称服务器:全球共13个负责解析根域的DNS服务器,美国10个,英国1,瑞典1,日本1
IPv6的根名称服务器:全球共25个,中国1主3从,美国1主2从
2.DNS查询方式
-
递归查询:一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,
若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结
果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)
-
迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对
方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起
进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需
要发起多次查询。(需要自己动手)
3.DNS查询原理过程
正向解析查询过程: ①先查本机的缓存记录 ②查询hosts文件 ③查询dns域名服务器,交给dns域名服务器处理 以上过程成为递归查询:我要一个答案你直接会给我结果 ④这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步 ⑤求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器 ⑥求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器 ⑦求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器 ⑧本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端
windows系统查询dns缓存命令:ipconfig /displaydns
windows系统清理dns缓存命令:ipconfig /flushdns
linux清dns缓存需要安装nscd软件,启动、执行nscd -i hosts
4.DNS程序bind
DNS服务器软件:bind,powerdns,dnsmasq,unbound,coredns
-
bind:服务器
-
bind-libs:相关库
-
bind-utils: 客户端
-
bind-chroot: 安全包,将dns相关文件放至 /var/named/chroot/
5.各种资源记录
区域解析库:由众多资源记录RR(Resource Record)组成
记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX
-
SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录SOA,是起始授权机构记录,说明了在众多 NS 记录里哪一台才是主要的服务器。在任何DNS记录文件中,都是以SOA ( Startof Authority )记录开始。SOA资源记录表明此DNS名称服务器是该DNS域中数据信息的最佳来源。
-
A(internet Address):作用,域名解析成IP地址
-
AAAA(FQDN): --> IPV6
-
PTR(PoinTeR):反向解析,ip地址解析成域名
-
NS(Name Server):,专用于标明当前区域的DNS服务器,服务器类型为域名服务器
-
CNAME : Canonical Name,别名记录
-
MX(Mail eXchanger)邮件交换器
-
TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:SPF(反垃圾邮件)记录,https验证等
SOA记录与NS记录的区别:NS记录表示域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析;SOA记录设置一些数据版本和更新以及过期时间等信息。
三.DNS安装及实验
实验1:正向解析
1.使用yum安装bind包和其工具包
2.编辑网卡配置文件ens33
3.进入配置文件/etc/named.conf 修改
4.进入配置文件/etc/named.rfc1912zones 复制五行后修改
5.切换到/var/named/找到named.localhost 将其复制到当前目录下并取名与/etc/named.rfc1912.zones中修改的名字相同
6.使用named-checkzone 命令检测语法是否有错误,使用named-chenkconf检测其余几个配置文件是否有错误
7.进入复制的文件zxy.com.zone编辑
8.使用 systemctl restart named命令重新启动程序
并使用host www.zhouxinyu.com,查看zhouxinyu的IP地址与配置文件中一致
实验2:主从复制
主服务器IP:192.168.240.12
从服务器IP:192.168.240.13
主服务器配置:
主服务器配置与实验1相同(仅需添加一些配置)
1.进入/etc/sysconfig/network-scripts/ifcfg-ens33,编辑配置文件
2.进入 /etc/named.rfc1912.zones 配置文件
3.b进入/var/named/zxy.com.zone,添加
从服务器配置:
1.进入/etc/sysconfig/network-scripts/ifcfg-ens33,编辑配置文件
2.进入/etc/named.conf编辑
3.进入 /etc/named.rfc1912.zones 配置文件
实验结果测试:
1.关闭主服务器·
2.使用从服务器查看