【鬼网络】之DNS域名解析服务

序言

一.BIND域名服务基础

1.DNS系统的作用及类型

(#端口53)DNS(#T端口分为CP\UDP)作用
#TCP是用来做区域传送,多用于主从同步
#UDP是用来做DNS解析的
正向解析:根据域名查找对应的IP地址
反向解析:根据IP地址查找对应的域名

■DNS系统的分布式数据结构

2.DNS系统类型

■缓存域名服务器
也称为DNS高速缓存服务器
通过向其他域名服务器查询获得域名->IP地址记录
将域名查询结果缓存到本地,提高重复查询时的速度

BIND的安装和配置文件

使用BIND构建域名服务器

构建缓存域名服务器

构建主、从域名服务器

二、正向解析和反向解析
正向解析:根据域名查找对应的IP地址
反向解析:根据IP地址查找对应的域名(域名的反向解析不是很常用,只在一些特殊场合才会用到,比如可用于反垃圾邮件的验证。)
1.正向解析查询过程
① 客户机提交域名解析请求,并将该请求发送给本地的域名服务器。
② 当本地的域名服务器收到请求后,就先查询本地的缓存。如果有查询的 DNS 信息记录,则直接返回查询的结果。如果没有该记录,本地域名服务器就把请求发给根域名服务器。
③ 根域名服务器再返回给本地域名服务器一个所查询域的顶级域名服务器的地址。
④本地服务器再向返回的域名服务器发送请求。
⑤ 接收到该查询请求的域名服务器查询其缓存和记录,如果有相关信息则返回客户机查询结果,否则通知客户机下级的域名服务器的地址。
⑥本地域名服务器将查询请求发送给返回的 DNS 服务器。
⑦域名服务器返回本地服务器查询结果(如果该域名服务器不包含查询的 DNS 信息,查询过程将重复⑥⑦步骤,直到返回解析信息或解析失败的回应。
⑧本地域名服务器将返回的结果保存到缓存,并且将结果返回给客户机。

windows系统查询dns缓存命令: ipconfig /displaydns
windows系统清理dns缓存命令: ipconfig / flushdns

​ linux清dns缓存需要安装nscd软件,启动、执行 nscd -i hosts

2.两种查询方式
①递归查询
递归查询是一种DNS服务器的查询模式,在该模式下DNS
服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机,如果DNS服务器本地没有存储查询DNS信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机

总的一句话,就是客户机发送请求后自已只用等待结果即可,中间具体过程交给服务器实现

②迭代查询
DNS服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS
服务器并不直接回复查询结果,而是告诉客户机另一台DNS服务器地址,客户机再向这台DNS
服务器提交请求,依次循环直到返回查询的结果为止

总的一句话,客户机的请求需要自己挨个去查询才能得到结果,服务器没有结果时候只会给你提供其它服务器的地址,不会帮你去请求查询,这与递归截然相反

三、DNS的分布式互联网解析库
根.根域名DNS服务器:专门负责根域名

一级DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)
.com(工商 企业)
.net(网络供应商)
.edu (教育机构)
.cn(中国国家域名)
.org (团体组织)
gov
(政府部门J)
二二级DNS服务器:专门负责二级域名的解析
. nety. cn .
. edu. cn
. com. cn
子域名DNS服务器:专门]负责子域名的解析
ina. com. cn
. pku. edu. cn
主机站点
tts9
tts 6
mail
www
四、BIND的安装和配置文件
BIND不是唯一能够提供域名服务的DNS服务程序,但它却是应用最为广泛的,BIND可以运行在大多数Linux/UNIX主机中,其中官网站点为 https://www.isc.org/
1.安装bind软件包
[root@localhost ~]# yum -y install bind
…略
[root@localhost ~]# rpm -qa | grep “^bind” ##查询是否已安装与BIND相关的软件包
bind-9.9.4-50.el7.x86_64 #提供了域名服务的主要程序及相关文件
bind-libs-9.9.4-50.el7.x86_64
bind-libs-lite-9.9.4-50.el7.x86_64
bind-license-9.9.4-50.el7.noarch
bind-utils-9.9.4-50.el7.x86_64
1
2
3
4
5
6
7
8
2 查看需要修改的配置文件所在路径
rpm -qc bind #查询bind软件配置文件所在路径
vim /etc/named.conf #主配置文件
/etc/named.rfc1912.zones #区域配置文件,控制具体单个区域
/var/named/named.localhost #区域数据配置文件
1
2
3
4
五、构建 DNS 域名解析服务器步骤(正向解析)
记得安装bind软件包,前文有
你的网卡配置是不是静态?相关配置搞全了吗
1.记得关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
##是Linux独有的一种安全机制,但在实际使用中没什么用,反而影响性能,该指令只是临时关闭,我们想永久关闭可以改一个配置文件
[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=disabled ##修改为"disabled"

总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YJ Thoreau

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值