参考文章:https://blog.csdn.net/loukundeboke/article/details/80012231
DNS服务
DNS( Domain Name System) 域名系统
前提:
我们网络中都是使用ip地址通信,无论是访问服务,还是不同主机间进行数据交换
ip地址非常多,如果每个服务都通过ip地址来登录的话,用户就需要记住这些很复杂的ip地址,不方便用户使用
就像保存在手机里的电话号码一样,会有一个备注,通过这个备注 就可以找到正确的相应联系人的电话
那域名解析跟这个实现差不多,在普通用户中,我们用域名来访问服务,域名就通过域名解析来获取到ip地址
dns服务就像电话簿,提供了可以查询的域名到ip地址的映射关系
#注:在浏览器中输入www.taobao.com,敲回车的一瞬间,先去解析域名
#注:域名系统;提供域名解析;ip对于用户来说,使用没有域名方便
1. 完全限定域名 FQDN
FQDN:Full Qualified Domain Name,完全限定域名,即每个域在全球网络都是唯一的;另外值得提到的一点是域并不是指诸如www.google.com这样的域名,而google.com才是域
#注:www.music.163.com/ 163.com是域,前面是主机名
1 | 安装dns服务软件包bind |
2. 域的分类
一、根域(.) 全球13组根域名服务器以英文字母A到M依序命名,域名格式为“字母.root-servers.net”
在/var/named/name.ca文件中可以查看 # 注:标识为.
二、顶级域
顶级域:顶级域(Top Level Domain,简称TLD)分为三类
1> 通用顶级域:诸如 .com(商业机构) .org(非营利性组织) .net(网络服务机构)等
2> 国家顶级域:诸如 .cn(中国) .uk(英国) .us(美国) .jp(日本) .hk 3> 反向域(基础建设顶级域):.arpa,即从IP到FQDN的反向解析 # 注:反向查找
#注:正向域:从域名到ip; 反向域:从ip到域名
三、
二级域
三级域
www.sc.163.com --> 顶级域.com -->二级域163.com -->三级域sc.163.com
#注:前面的www是它的主机名
3. DNS解析
正向解析 域名 --> ip
反向解析 ip --> 域名
常用命令域名解析命令
1 | 常用命令域名解析命令 |
DNS服务软件:bind
1 | DNS服务软件:bind |
4. DNS解析过程
DNS解析过程:
#注:面试题:当敲入www.baidu.com 发生什么事情
1、先查找本地hosts文件,linux:/etc/hosts; Windows:C:\Windows\System32\drivers\etc\hosts
可以解析就直接返回地址
2、hosts文件不能解析,去看本地缓存。如果有,则返回结果,没有就进行下一步查找
linux下域名缓存:nscd服务
[root@cPen_A html]# yum install nscd
[root@cPen_A html]# service nscd restart #注:清除缓存 (重启服务就是清除缓存)
缓存会有缓存时间,缓存多久可以指定的
#注:设置了DNS服务,但是设置了没有生效,考虑1、缓存 清除缓存和2、/etc/hosts是否写死
3、本地缓存没有找到,就会去请求本地的域名服务器,本地域名服务器有 就返回查询结果
Linux下指定域名解析服务器文件 /etc/resolv.conf (配置本地域名服务器ip地址的文件)
第1个指定的nameserver就是首选dns服务器,剩下的都是备选dns服务器
1
2
3
4
5
6 [root@cPen_A html]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114 #注:可以指定多个ip 去解析ip
nameserver 192.168.0.1 #注:用nameserver指定
[root@cPen_A html]# dig www.baidu.com
;; SERVER: 114.114.114.114#53(114.114.114.114) #注:访问114.114.114.114 53号端口去解析ip4、本地域名服务器没有找到相应记录,如果设置转发查找,就会去转发的服务器上去查询。如果没有设置转发,或者都没有找到,就会去根域查找 (迭代查找)
本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com主机
#注:面试题:当敲入www.baidu.com 发生什么事情 (DNS解析流程)
答:DNS解析流程
第1步 先去本地hosts文件
(/etc/hosts)去找ip和域名的映射关系
。有就返回。没有就去
第2步本地DNS缓存
找…。有就返回。没有就去
第3步本地的域名服务器
(/etc/resolv.conf)找…。有就返回。没有就
第4步 如果本地域名服务器设置转发
查找,就会去转发的服务器 上找…, 有就返回。
没有找到 或 没有设置 就去根域查找
,先在根域
里找到顶级域的服务器ip地址 返回顶级域
的ip地址给本地域名服务器
本地域名服务器
再去顶级域名服务器
找,没有找到就返回二级域服务器
的ip地址,本地域名服务器去二级域里找
,没有找到返回三级域
的ip地址给本地域名服务器
……迭代查找,直到找到整个域名才返回
或者说 去根域查找,迭代查找, 直到找到为止
5. dns服务的类型
dns服务的类型
缓存域名服务器
主域名服务器
这上面定义了真正的ip到域名的映射关系从域名服务器
上面的数据域名映射 从主域名服务器获取
1、缓存域名服务器
也称为 唯高速缓存服务器
通过向其他域名服务器查询获得域名->IP地址记录
将域名查询结果缓存到本地,提高重复查询时的速度
2、主域名服务器
特定DNS区域的官方服务器,具有唯一性,权威性
负责维护该区域内所有域名->IP地址的映射记录
3、从域名服务器
也称为 辅助域名服务器
其维护的 域名->IP地址记录 来源于主域名服务器
6. 域名服务器配置
1 | 1、安装bind、bind-utils |
1 | #设置反向域 |
7. 资源记录类型
资源记录类型
(1)A记录(Address)正向解析
A记录是将一个主机名(全称域名FQDN)和一个IP地址关联起来。这也是大多数客户端程序默认的查询类型。(2)PTR记录(Pointer)反向解析
PTR记录将一个IP地址对应到主机名(全称域名FQDN)。这些记录保存在in-addr.arpa域中。(3)CNAME记录(Canonical Name)别名
别名记录,也称为规范名字(Canonical Name)。这种记录允许您将多个名字映射到同一台计算机。(4)MX记录(Mail eXchange)
MX记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。MX记录也叫做邮件路由记录,用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操控所有的邮箱设置。
当有多个MX记录(即有多个邮件服务器)时,则需要设置数值来确定其优先级。通过设置优先级数字来指明首选服务器,数字越小表示优先级越高。(5)NS记录(Name Server)
NS(Name Server)记录是域名服务器记录,也称为授权服务器,用来指定该域名由哪个DNS服务器来进行解析。
将网站的NS记录指向到目标地址,在设置NS记录的同时还需要设置目标网站的指向,否则NS记录将无法正常解析
NS记录优先于A记录。即,如果一个主机地址同时存在NS记录和A记录,则A记录不生效。
8. 小节
DNS服务
DNS( Domain Name System) 域名系统
#注:域名系统;提供域名解析;ip对于用户来说,使用没有域名方便
FQDN 完全限定域名
www.baidu.com
域:baidu.com
主机名:www
域名分类
根类(.) 全国只有13组
顶级域 通用域名
.com 用于商业
.org 非盈利性组织
.net 网络服务
国家
.cn
.jp
.hk
.us
反向解析域 .arpa
二级域,三级域……
DNS解析
正向解析 把域名解析成ip
反向解析 把ip解析成域名
DNS解析流程(面试)
1、先查找本地hosts文件 有没有对应ip和域名的映射关系,存在就返回
2、hosts文件里没有找到,就会在本地缓存中查找,如果找到就返回结果 完成解析
3、本地缓存中没有找到,就会去本地域名服务器查找,找到返回结果 完成解析
4、本地域名服务器中没有,如果设置了转发查找 就会去转发服务器查找。如果没有找到 就会去根域去找顶级域的服务器ip地址,返回给本地域名服务器,本地域名服务器再去顶级域服务器上 找二级域服务器ip地址,依次类推 直到找到整个域名结果为止
5、DNS迭代查询之后,如果拿到结果 就返回给本地域名服务器,本地域名服务器再返回给客户端
#注:DNS客户机迭代查找
DNS服务简单搭建
软件包安装
bind
bind-utils配置文件
主配置文件 /etc/named.conf
域配置文件 /etc/named.rfc1912.zones
数据目录 /var/named 下面文件 需要给named用户可读权限DNS端口 53 UDP
记录类型
A记录 正向解析记录
PTR记录 反向解析记录
CNAME 别名
MX 邮件记录
NS 授权dns服务器泛域名解析
对于域sc.com添加:* A 192.168.0.39 #注:只是对主机名的泛域名解析
表示主机名任意 123.sc.com #注:abc.123.sc.com不可以
abc.sc.com
常见的域名解析命令
ping
host
dig
nslookup
相关配置文件
/etc/hosts 指定域名和ip的对应关系,优先级最高
/etc/resolv.conf 指定dns服务器地址
网络连通性都是访问服务的前提条件