DNS域名解析详细说明
目录
一、DNS系统
(一)、DNS概述
(二)、DNS的定义
(三),DNS系统的作用
二,DNS系统类型
缓存域名服务器
主域名服务器
从域名服务器
本地名称解析配置文件hosts
三,DNS查询类型及原理
3.1查询方式
3.2查询原理过程
(四),正向解析
4.1SOA记录
4.2NS记录
4.3MX记录
4.4A记录
4.5PTR记录
4.6CHAME别名记录
五,安装配置过程
六,反向解析
七,主从复制
八,分离解析
8开启centos的缓存
九,
一、DNS系统
(一)、DNS概述
在日常生活中人们习惯使用域名访问服务器,但机器间互相只认IP地址,域名与IP地址之间是多对一的关系,一个Ip地址不一定只对应一个域名,且一个域名只可以对应一个Ip地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。
(二)、DNS的定义
DNS是”域名系统(Domain Name System)"的英文缩写。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS 每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
(三),DNS系统的作用
正向解析根据域名查找对应的IP地址
反向解析根据IP地址查找对应的域名
DNS系统的分布式数据结构
1、根域 位于域名空间最顶层,一般用一个 “.” 表示
2、顶级域 一般代表一种类型的组织机构或国家地区, 如. (网络供应商)、.(工商企业)、.(团体组织)、 .edu(教育机构)、.gov(政府部门)、.(中国国家域名)
3、二级域 用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 . 顶级域名下面设置的二级域名. . . . .edu .
4、子域 二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
5、主机 主机位于域名空间最下层,就是一台具体的计算机 如、mail 都是具体的计算机名字,可用.sina... 、mail.sina... 来表示,这种表示方式称为FQDN(完全合格域名),也是这台主机在域名中的全名。
二,DNS系统类型
缓存域名服务器
也称为DNS高速缓存服务器
通过向其他域名服务器查询获得域名->IP地址记录
将域名查询结果缓存到本地,提高重复查询时的速度
主域名服务器
特定DNS区域的权威服务器,具有唯一性
负责维护该区域内所有域名>IP地址的映射记录
需要自行建立所负责区域的地址数据文件
从域名服务器
也称为辅助域名服务器,时对主域名服务器的热备份
其维护的域名->IP地址记录来源于主域名服务器
需要从主域名服务器自动同步来源于主域名服务器
本地名称解析配置文件hosts
在不同系统中,存放本地名称解析配置文件的地址不同,例如Linux和indos
Linux/etc/hosts
indosc/indos/system32/drivers/etc/hosts
可以通过rpm -q --scripts bind 查看安装的脚本
再通过grep name /etc/services进行过滤端口
三,DNS查询类型及原理
3.1查询方式
递归查询一般指客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,
若DNS服务器本身不能解析,则会向的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)
迭代查询一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如若对
方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)发起
进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需
要发起多次查询。(需要自己动手)
3.2查询原理过程
正向解析查询过程1.先查看本机的缓存记录
2.查询hosts文件
3.查询DNS域名服务器,交给DNS域名服务器处理(以上为递归查询)
4.这个DNS服务器可能时本地域名服务器,也有个缓存,如果直接有结果就返回,没有就进行下一步
5.求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器
6.求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器
7.求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器
8.本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端
(四),正向解析
区域解析库由众多资源记录RR组成
记录类型A,AAAA,PTR,SOA,NS,CHAME,MX
A(inter Address)作用,域名解析成IP地址
AAAA(FQDN) --> IPV6
PTR(PoinTeR)反向解析,ip地址解析成域名
SOAStart Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解
析库的第一条记录SOA,是起始授权机构记录,说明了在众多 NS 记录里哪一台才是主要的服务器。在任何DNS记录文件中,都是以SOA ( Startof Authority )记录开始。SOA资源记录表明此DNS名称服务器是该DNS域中数据信息的最佳来源。
MX(Mail eXchanger)邮件交换器
CNAME Canonical Name,别名记录
4.1SOA记录
name当前区域名字,例如“lgy..”
vlaue由多个部分组成
注意
-
当前区域的主DNS服务器的正向解析,也可以使用当前区域的名字
-
当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换
-
主从服务区域传输相关定义及否定的答案的TTL
$TTL 1D @ IN SOA master.kgc.. admin.kgc.. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum
4.2NS记录
name: 当前区域的名字
value: 当前区域的某DNS服务器的名字,“ns.lgy.”
相邻的两个资源记录的name相同,可以省略后面的
一个区域可以有多个NS记录
master IN NS lgy.. master IN NS lgy..
4.3MX记录
name: 当前区域的名字
value: 当前区域的某邮件服务器(smtp服务器)的主机名
一个区域内,MS记录可有多个,每个记录的value之前应该有个数字(0-99),表示此服务器的优先级,数字越小优先级越高
对于MS记录来说,任何服务器的名字后面都应该在后续有个A记录
mail IN MX 10 xm1.lgy. mail IN MX 10 xm2.lgy. mx1 A 192.168.77.10 mx1 A 192.168.77.102
4.4A记录
name某主机的域名服务器
value主机名对应主机的IP地址
为了避免错误,需要通过泛域名解析进行解析到特定地址
.lgy.. IN A 4.4.4.4 IN A 5.5.5.5 #代表泛域名 @ IN A 6.6.6.6 #代表不需要名字
4.5PTR记录
name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀in.addr.arpa.,所以完整写法为4.3.2.1.in-addr.arpa.
value: FQDN
4.6CHAME别名记录
name别名的FQDN
value真正名字的FQDN
固定格式 name [TTL] IN rr_type value 缓存时间 Inter 区域解析库 值 $TTL 1D #有效解析记录的生存周期 @ in SOA be.. admin.be.. ( #“@"符号表示当前的DNS区域名 0 ; serial #更新序列号,可以是10位以内的整数 1D ; refresh #刷新时间,重新下载地址数据的间隔 1H ; retry #重试延时,下载失败后的重试间隔 1W ; expire #失效时间,超过该时间仍无法下载则放弃# 3H) ; minimum #无效解析记录的生存周期, NS be.. #记录当前区域的DNS服务器的名称 A 192.168.80.10 #记录主机IP地址 IN MX 10 mail.be.. #MX为邮件交换记录,数字越大优先级越低 IN A 192.168.80.10 #记录正向解析.be.对应的IP mail IN A 192.168.80.11 #MX为邮件交换记录,数字越大优先级低 ftp IN CNAME #CNAME使用别名,ftp 是的别名 IN A 192.168.80.100 #泛域名解析,“"代表任意主机名
五,安装配置过程
配置之前需要进行主软卷和配置包管理软件的安装。
需要将防火墙和系统安装保护进行关闭,并且需要开启一下服务。
ens33中设置的需要将DNS地址改为本机地址127.0.0.1这边一定要更改!!!
网卡进行配置后,需要重启网卡才能生效
systemctl restart ork 重启网卡服务
更改网卡配置如下
配置完成后,可以在cat /etc/resolv.conf 下查看是否能够生效
完成后可以ping一下.baidu.,查看是否能够通信
此时就是安装了一个bind其它的操作没有,ping通百度的原因是每个根域自带十三台根域服务器。
切换到客户机上,需要将防火墙和系统安装保护进行关闭
对网卡进行更改
进入编辑器后编辑DNS
编辑完成后,重启一下服务会发现不可解析用ping会发现未知的名称,用host会出现超时
切换到服务器
可以rpm查看一下配置文件包,会看见conf结尾的为配置文件
找到配置文件后,需要进行编辑配置文件
配置监听53端口为any,允许查询改为any
完成配置,进行DNS服务的重启
设置完成后可以到客户机上进行host测试
会发现可以解析域名。
内部DNS搭建
进行区域的编辑,以便于管理
进入后进行复制模板粘贴到模板最前方,进行编辑
完成后q保存退出。
切换到cd /var/named,进行拷贝保存
进入./lgy..zone进行编辑
配置解释如下
$TTL 1D #有效解析记录的生存周期 @ in SOA be.. admin.be.. ( #“@"符号表示当前的DNS区域名 0 ; serial #更新序列号,可以是10位以内的整数 1D ; refresh #刷新时间,重新下载地址数据的间隔 1H ; retry #重试延时,下载失败后的重试间隔 1W ; expire #失效时间,超过该时间仍无法下载则放弃# 3H) ; minimum #无效解析记录的生存周期, NS be.. #记录当前区域的DNS服务器的名称 A 192.168.80.10 #记录主机IP地址 IN MX 10 mail.be.. #MX为邮件交换记录,数字越大优先级越低 IN A 192.168.80.10 #记录正向解析.be.对应的IP mail IN A 192.168.80.11 #MX为邮件交换记录,数字越大优先级低 ftp IN CNAME #CNAME使用别名,ftp 是的别名 IN A 192.168.80.100 #泛域名解析,“"代表任意主机名
再重启一下服务
完成后到客户端进行解析
六,反向解析
先修改服务器配置区域配置文件
zone "91.168.192.in-addr.arpa" IN { type master; file "lg..zone"; allo-update { none; };
进行编辑反向解析文件
进入vim编辑
编辑完成后,可以切换到客户机进行host查询DNS
七,主从复制
环境搭建:配置主服务器地址为192.168.22.100
配置从服务器地址为192.168.22.102
先配置从服务器,需要将防火墙和安全子系统关闭,
再进行下述操作,及逆行安装bind软件(无论主从服务器都需要安装!!!!)
由于我之前已经安装就跳过此步骤
进行配置文件的编写,端口监听改为任何人
进入编辑器后,需要进行更改配置
更改完后,进入编辑器
需要申明主服务器地址
启动一下配置文件
此时可以cd到var下查看一下配置文件
进行主服务器的配置
进行端口监听放行所有人
进入vim编辑器进行编辑
设置为主服务器
编辑完成后编辑文件,先要进行复制模板
完成后保存退出。启动系统
完成后可以进行验证
八,分离解析
添加一块网卡将其改为仅主机模式,两块快网卡都需要改为仅主机模式。
接下来进行配置
将ens33的网卡复制到成ens37,并且修改配置
重启一下服务
选择两台indos计算机将其设置地址
例如indos7设置,设置完成后测试一下网络连通性。
一台设置如下
完成indos配置
回到linux中继续编辑
将其监听改为any
需要将下面的配置文件进行删除,如果不删除会出现不必要的问题哦!!
编辑配置文件,
配置信息
vie "lan" { match-clients { 192.168.100.0/24; }; #匹配网段 zone "kgc." IN { type master; file "kgc..lan"; }; zone "." IN { type hint; file "named.ca"; }; }; vie "an" { match-clients { 12.0.0.0/24; }; zone "kgc." IN { type master; file "kgc..an"; }; zone "." IN { type hint; file "named.ca"; }; };
编辑完成后保存退出,进行复制模板文件并进行编辑
复制后进行编辑网络地址
相同操作进行另一台indos的编辑
vim lgy..an进行编辑
进入indos进行解析
8开启centos的缓存
CentOS 默认没有启用DNS客户端缓存,安装nscd(Name Service Cache Daemon,名称服务缓存守护进
程)包可以支持DNS缓存功能减少DNS服务器压力,提高DNS查询速度
[root@centos7 ~]#yum -y install nscd [root@centos7 ~]#systemctl enable --no nscd #查看缓存统计信息 [root@centos7 ~]#nscd -g #清除DNS客户端缓存 [root@centos7 ~]#nscd -i hosts
九,
学习了正向解析,反向解析,主从解析和分离解析,需要掌握。