什么是DNS?以及如何在Linux中配置DNS服务?

DNS

1、定义:

域名解析系统,是一种组织成域层次结构的计算机和网络服务命名系统,使用的是UDP协议的53号端口,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。

.  根

.com.                顶级域名                   www.baidu.com.

163.com.             二级域名

www.163.com.        三级域名

www                主机名

mail.xian.xcec.com       四级域名

2、DNS名称解析方式:

正向解析:即将域名转化为IP

反向解析:即将IP转化为域名,用户邮箱会收到垃圾邮件,修改域名后发送(比如修改为qq.com),此时需要反向解析,查看是否是QQ的IP

3、用户访问www.baidu.com时DNS的解析过程:

1)在浏览器中输入www.baidu.com之后,系统会检查本地解析hosts文件是否存在域名映射,如果存在,则域名解析到此完成。

2)如果本地hosts文件不存在映射关系,则会查询本地DNS缓存,如果存在,则域名解析完成。

3)如果本地DNS缓存没有命中,则查找本地DNS服务器,如果存在,则域名到此解析完成。

4)如果以上解析都失败了,本地DNS服务器会把请求发至根DNS服务器,根DNS服务器收到请求后会返回一个负责该顶级域名服务器的IP(com顶级域名服务器)。本地DNS服务器收到IP后,将会请求这个IP对应的服务器,就这样逐层查找(com顶级域名服务器---baidu.com域名服务器),直至找到www.baidu.com主机。

5)本地DNS服务器查找到后,缓存后将IP地址传给请求主机。

4、DNS的查询方式:

递归查询:(一问一答)

客户机请求,DNS服务器会一定会返回结果,或者返回不存在。DNS服务器会到处寻找解析记录

迭代查询:(我问别人,别人再帮我询问,最后将结果返回给我)

迭代查询又称重指引,当服务器使用迭代查询时能够使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询,直到服务器给出的提示中包含所需要查询的主机地址为止,一般的,每次指引都会更靠近根服务器(向上),查寻到根域名服务器后,则会再次根据提示向下查找。从下节的图中可以知道,B访问C、D、E、F、G,都是迭代查询,首先B 访问C,得到了提示访问D的提示信息后,开始访问D,这时因为是迭代查询,D又返回给B提示信息,告诉B应该访问E,依次类推。

举例说明:假设你要寻找一家你从未去过的公司,你会有2种解决方案,1是找一个人替你问路,那可能是你的助手,2是自己问路,每走过一个路口,就问一个人,这就好比递归查询和迭代查询,递归查询在这里代表你的第1种解决方案,而迭代则是第2种解决方案

【示例:红色为查询,蓝色为迭代查询返回的提示信息,棕色为递归查询返回的IP信息】

示例说明:A向B发送递归查询请求,B向C发送迭代查询请求,得到C给出的提示后,B向D发送迭代查询请求,得到D给出的提示后, B向E发出迭代请求,得到E给出的提示后,B向F发出迭代查询请求,得到F给出的提示后,B得到了F返回G的IP地址,B向A返回G的IP地址,整个查询结束。

5、DNS常见名词

6、资源记录

为了将名字解析为IP地址,服务器查询它们的区(又叫DNS数据库文件或简单数据库文件)。区中包含组成相关DNS域资源信息的资源记录(RR)。例如,某些资源记录把友好名字映射成IP地址,另一些则把IP地址映射到友好名字。某些资源记录不仅包括DNS域中服务器的信息,还可以用于定义域,即指定每台服务器授权了哪些域,这些资源记录就是SOA和NS资源记录。

7、Type类型:

8、DNS正向解析的配置

1)安装软件包:[root@localhost ~]# yum install bind –y

2)编辑主配置文件[root@dns ~]# vim /etc/named.conf

2)编辑区域/辅助配置文件

[root@localhost ~]# vim /var/named/example.com.zone

3)修改主机名

[root@localhost ~]# hostnamectl set-hostname dns.example.com.

4)重启服务(安装的软件是bind,重启的服务是named)

[root@localhost ~]# systemctl restart named

5)配置完成后进行测试,怎么查看解析是否成功

在对应地址的客户端上[root@localhost ~]# vim /etc/resolv.conf添加DNS服务器的地址

使用dig命令:[root@localhost ~]# dig www.example.com

或者使用使用nslookup测试,windows操作系统也可以使用

6)如果需要实现正向连续解析(例如解析192.168.45.100-192.168.45.200之间的地址),一个一个解析不方便,可以使用一个函数来完成,编辑配置文件[root@localhost ~]# vim /var/named/example.com.zone

9、DNS反向解析的配置

1)编辑主配置文件[root@dns ~]# vim /etc/named.conf

2)编辑区域/辅助配置文件

[root@dns ~]# vim /var/named/45.168.192.in-addr.arpa.zone

3)配置完成重启服务后,进行测试

[root@localhost ~]# dig -x 192.168.45.4

4)那么,反向怎么能进行连续解析呢?同样使用刚才的函数,编辑[root@dns ~]# vim /var/named/45.168.192.in-addr.arpa.zone配置文件

重启服务后使用其他终端进行测试

[root@localhost ~]# dig -x 192.168.45.105

如果超出范围,解析失败[root@localhost ~]# dig -x 192.168.45.201

10、搭建辅助域名服务器

1)安装bind软件包

2)编辑配置文件[root@localhost ~]# vim /etc/named.conf,如果修改完配置重启服务启动不成功,使用[root@localhost ~]# journalctl –xn进行问题查看

3)编辑区域配置文件,和主服务器的保持同步,空文件保存退出就好

4)给slaves目录写入权限

5)重启服务后用其他终端进行测试,方式和之前一样

11、缓存服务器(转发服务器)及配置

1)安装bind软件包

2)编辑配置文件[root@localhost ~]# vim /etc/named.conf

3)重启服务就可以用上述方法测试

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值