DNS域名解析服务

本文详细介绍了DNS域名解析服务的基础知识,包括BIND域名服务、DNS系统的作用、查询方式及原理。通过实操展示了如何使用BIND构建域名服务器,实现正向、反向解析,以及主从复制和分离解析。内容涵盖了缓存服务器、递归与迭代查询、区域资源记录等关键概念,并提供了CentOS下开启DNS缓存的方法。
摘要由CSDN通过智能技术生成

DNS域名解析服务

一、BIND域名服务基础

1、DNS系统的作用

  • 正向解析:根据域名查找对应的IP地址
  • 反向解析:根据IP地址查找对应的域名
  • DNS系统的分布式数据结构

533db320b664aae101bc5fdd272dee1

2、DNS系统类型

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

只提供域名解析结果的缓存功能,目的在于提高查询速度和效率, 但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定 其他 DNS 服务器作为解析来源

  • 主域名服务器
    • 特定DNS区域的权威服务器,具有唯一性
    • 负责维护该区域内所有域名——》IP地址的映射记录
    • 需要自行建立所负责区域的地址数据文件

管理和维护所负责解析的域内解析库的服务器

  • 从域名服务器
    • 也称为复制域名服务器,是对主域名服务器的热备份
    • 其维护的域名——》IP地址记录来源于主域名服务器
    • 需要从主域名服务器自动同步区域地址数据库

从主服务器或从服务器"复制"(区域传输)解析库副本

序列号:解析库版本号,主服务器解析库变化时,其序列递增

刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔

重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔

过期时长:从服务器联系不到主服务器时,多久后停止服务

通知机制:主服务器解析库发生变化时,会主动通知从服务器

关于host文件的优先级

[root@localhost ~]# vim /etc/hosts
#编辑host文件用作测试
192.168.254.11 www.baidu.com
#输入内容
[root@localhost ~]# ping www.baidu.com
#进行测试,要能ping通
[root@localhost ~]# ping www.baidu.com
PING www.baidu.com (192.168.254.11) 56(84) bytes of data.
64 bytes from www.baidu.com (192.168.254.11): icmp_seq=1 ttl=64 time=0.010 ms
64 bytes from www.baidu.com (192.168.254.11): icmp_seq=2 ttl=64 time=0.027 ms
64 bytes from www.baidu.com (192.168.254.11): icmp_seq=3 ttl=64 time=0.026 ms
64 bytes from www.baidu.com (192.168.254.11): icmp_seq=4 ttl=64 time=0.026 ms
64 bytes from www.baidu.com (192.168.254.11): icmp_seq=5 ttl=64 time=0.024 ms

[root@localhost ~]# vim /etc/nsswitch.conf
#进入文件修改dns的优先级
hosts:      files dns myhostname改为hosts:      dns files myhostname
#将dns调到前面,优先级就会改变

[root@localhost ~]# ping www.baidu.com
PING www.wshifen.com (103.235.46.39) 56(84) bytes of data.
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=2 ttl=128 time=225 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=6 ttl=128 time=224 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=7 ttl=128 time=222 ms

#进行测试
#可以看到两次测试所ping的IP地址是不一样的
#由此可见本地文件host的优先级高于dns的服务器

3.1查询方式

递归查询:不需要自己动手

迭代查询:需要自己动手

3.2查询原理过程

正向解析查询过程:
①先查本机的缓存记录

②查询hosts文件

③查询dns域名服务器,交给dns域名服务器处理

以上过程成为递归查询:我要一个答案你直接会给我结果

④这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步

⑤求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器

⑥求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器

⑦求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器

⑧本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端

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

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

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

ec9835484a772e63e2494f880b924ff

Client -->hosts文件 --> Client DNS Service Local Cache --> DNS Server (recursion递 归) --> DNS Server Cache -->DNS iteration(迭代) --> 根--> 顶级域名DNS-->二级域名DNS…

首先访问缓存服务器,缓存服务器有,直接返回到用户;

如果没有则去找根服务器;

根域名服务器不会直接告诉你结果,会让用户去找二级域名服务器;

(以上是迭代查询);

二级域名服务器也不会告诉用户结果,会让用户去找三级域名服务器;

三级域名服务器会去找自己的子域;

子域得到结果后给三级域名服务器;

三级域名服务器再告诉缓存服务器;

缓存服务器再告诉用户;

3.3开启centos的缓存

[root@localhost ~]# yum -y install nscd
[root@localhost ~]# systemctl enable --now nscd

[root@localhost ~]# nscd -g
#查看缓存统计信息
[root@localhost ~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值