+++++++DNS基本工作原理、DNS正反向解析及主从同步

简介:

总结

安装: 

wKioL1m-NYiyMrDaAAAGgPtjiks356.png

正向主

wKiom1m-N9HBc36cAAAuV2r8RUc277.png

反向主

wKioL1m-N6KziSB9AAAqqe5EVak875.png

测试工具

wKiom1m-N9GDCU5xAAAspZQ7Qko585.png

主从同步配置

wKioL1m-N6KhByydAABctF7yh9E773.png



dns基础工作原理

bind Berkerley Information Name Domain

DNS Domain Name Server

TCP/UDP 53

UDP 53 无连接协议,域名解析

TCP 53 面向连接协议,区域传送


历史IANA

统一名字,自己hosts中维护(%windows%/system32/etc/hosts, /etc/hosts)

统一维护,定时任务计划

统一查询,glibc共享库作为客户端基于UDP协议解析域名

    hash

    数值分布式

    域名分布式:授权方式,将部分功能分别放在独立的主机,数据同步(一致性、可用性、容错性)


查询

迭代查询:查询,返回参考结果

递归查询:一次查询,返回最终结果


解析区域

正向解析:FQDN-->IP

反向解析区域:IP-->FQDN


答案

肯定: 解析成功

否定:解析没有结果

权威:域所负责的DNS服务器所返回的结果

非权威:


主从DNS区别

关联:保证DNS服务器“可靠性

主:管理员维护 

从:由SOA内部特性决定如何同步/传送/复制


SOA内部特性

serial  序列号:区域解析库的版本号

refresh 刷新

retry 重试: 小于刷新时长

expire 过期时长:重试多久就不再重试,从DNS放弃角色

否定答案的TTL 


宏定义

$TTL:肯定答案的缓存时长

$ORIGIN:区域(正、反)名


BIND是DNS协议的软件实现


区域解析库:由众多Resource Record组成

资源记录的类型:PTR, A, NS, SOA, AAAA, MX


轮循:同主机名,对应多个不同的IP


子域授权上级域的DNS服务器的区域解析库中添加glue record[胶水]记录即可


DNS工作模式

运营商缓存DNS

wKioL1m83x3BplbTAAGrwVzWsHc570.png

本地缓存DNS

wKiom1m830uSYrhaAAG7POZegpg408.png


DNS缓存服务器

1、配置YUM源

wKioL1m88SLgeW-IAAA5VTAGels265.png

2、安装程序包:

wKioL1m88aTi_9ukAABOxYX-ekw049.png3、安装后的相关文件

wKioL1m89jrxaZv5AAAk1Hn1-R4052.png

wKiom1m89miyDQ_TAAATvqi6hv0719.png

wKiom1m89miADdOkAABx5apIvUI841.png

wKioL1m89jvTPcVrAAAoNfTUh7c990.png

wKiom1m89mij3IWMAAAQZh6p170830.png

3、配置

1)备份配置文件

1
# cp -v /etc/named.conf{,.bak}

2)配置结果

wKiom1m89v6jbssgAAA0xtFIoyw784.png

**//allow-query { localhost; }; 表示 allow-query { any; };

wKiom1m892SDFFLzAAALVC29mGo692.png

wKioL1m89-TAVnIrAAASJy4jZ5Q341.png

3)测试配置文件是否正确

1
# named-checkconf

4)启动服务

1
2
3
# service named start
# ss -tunlp | fgrep : 53
<TCP/UDP: 53  和 TCP: 953 端口>

wKiom1m8-GXiYWF1AAAojX30Jk0870.png

5)测试

1
2
3
4
5
1 、查看提供的测试工具
# rpm -q -l bind-utils
 
2 、尝试用本地的缓存DNS服务器,迭代解析请求
# dig -t A www.baidu.com @ 192.168 . 1.100


DNS正反解析

正向解析

1)配置为缓存DNS服务器

2)添加zone配置: /etc/named.rfc1912.zones

1
# vim + /etc/named.rfc1912.zones

wKiom1m8-YfhhI6aAAAKgRbza_A474.png

3)测试语法

1
# named-checkconf

4)编辑区域解析库

1
2
3
4
5
1 、进入解析库的目录
# cd / var /named
2 、查看文件
# ls
3 、编辑解析库的文件

wKioL1m8-sjirFbEAAAnBANMqEw321.png

5)测试语法

1
# named-checkzone  "magedu.com"  / var /named/magedu.com.zone

6)修改权限

1
2
3
named进程的属主是named,对magedu.com.zone文件的权限和属组需要悠
# chmod  640  magedu.com.zone
# chown :named magedu.com.zone

7)重载配置文件

1
2
# rndc reload
# service named reload

9)显示输出信息

1
# rndc status

10)测试解析

1
<br>


测试解析的命令: host, dig, nslookup

host命令

wKioL1m8_OHQCWAcAABs0D40cJE805.png

使用示例

1
2
3
4
# dig -t SOA magedu.com @ 192.168 . 1.100
# dig -t NS magedu.com @ 192.168 . 1.100
# dig -t MX magedu.com @ 192.168 . 1.100
# dig -t A www.magedu.com @ 192.168 . 1.100


dig命令

wKioL1m8_OHiT-aEAAAKGswuEZk149.png

使用示例

1
2
3
4
# host -t SOA magedu.com  192.168 . 1.100
# host -t NS magedu.com  192.168 . 1.100
# host -t MX magedu.com  192.168 . 1.100
# host -t A www.magedu.com  192.168 . 1.100

nslookup命令

wKiom1m8_tbhDs64AAAQp3tFXG4363.png

使用示例

1
# nslookup www.magedu.com  192.168 . 1.100

wKioL1m8_oHRBfzdAAAlQSKH_Ng842.png


反向解析

1)保证正向测试正常

2)添加zone配置: /etc/named.rfc1912.zones

1
# vim + /etc/named.rfc1912.zones

wKioL1m8_02ArYKrAAAMSEMYWMg429.png

3)测试语法 

1
# named-checkconf

4)反向区域解析库的配置

1
2
1 、基于正向,修改出反向
# cp magedu.com.zone  192.168 . 1.1 .zone

wKioL1m9AHLSMrQpAAA2qQVw9XY100.png

5)权限

1
2
# chmod  640  192.168 . 1.100 .zone
# chown .named  192.168 . 1.100 .zone

6)语法

1
# named-checkzone  "1.168.192.in-addr.arpa"  192.168 . 1.1 .zone

7)重载

1
2
# service named reload
# rndc reload

8)状态

1
# rndc status

9)测试

1
2
# dig -x  192.168 . 1.100  @ 192.168 . 1.100
# host -t PTR  192.168 . 1.100  192.168 . 1.100


DNS主从同步

配置从DNS服务器

1、时间同步

1
# cp -v /etc/ntp.conf{,.bak}

wKiom1m9AmigVESyAAAITiAMgZg823.png

1
# service ntpd start
1
2
在从DNS服务器上同步时间<等10min>
# ntpdate  192.168 . 1.100

wKioL1m9BknyoMiEAAA3NZqqa6g533.png

2、从bind的版本>=主bind版本

3、从dns位于一个独立的主机

4、ns记录和nsip指向的是同一个主机,从dns服务器

5、从dns服务器区域解析库的位置

6、从dns被允许从主dns作区域传送(allow-transfer { DNS_SLAVE_IP; };


正向同步

1)配置缓存名称服务器

1
# cp -v /etc/named.conf{,.bak}

wKioL1m9BWWTnINvAAAT2cNcTIA461.png

1
2
# service named start
# ss -tunlp | grep  53

2)配置/etc/named.rfc1912.zones文件

wKioL1m9CKWDS32EAAAGjnyZDJI998.png

3)测试

1
# named-checkconf

4)重载

1
2
# service named reload
# rndc reload


5)查看文件

wKioL1m9CMuzX37DAAAczBrbrN8159.png

反向同步

2)配置/etc/named.rfc1912.zones文件

wKiom1m9CZKg0Yt0AAAG9OUwhw8591.png

3)测试

4)重载

5)查看文件


尝试修改主DNS服务器,测试是否能主从同步

wKioL1m9CeSh8xpOAAAXprsHHEU464.png


正向

wKiom1m9Cl_yHp_LAAAe1ae2RBo467.png

1
# rndc reload


wKiom1m9Cr6DqvrgAAAoogTNnzM701.png

wKioL1m9CpHhAZ6eAAAsxF9aJx0621.png


反向

wKioL1m9Cy7QHURPAAAsZQmh7t8857.png

1
# rndc reload

wKiom1m9C1zjf9VBAAApLbRmHbA661.png

wKioL1m9Cy_TD_SDAAAmsQHwZ30800.png










本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1965910,如需转载请自行联系原作者
目录
相关文章
|
10月前
|
域名解析 存储 网络协议
域名解析的终极指南:从基础到进阶,彻底搞懂 DNS 记录
域名解析是网站运行的基础,正确配置DNS记录至关重要。本文从基础到进阶全面解析DNS知识,涵盖A、AAAA、CNAME、MX、TXT、CAA等常见记录类型及其应用场景。通过学习,你将了解DNS的工作原理,掌握如何优化域名配置,确保网站与邮件服务高效运行。无论搭建个人博客还是企业官网,本文都能助你轻松搞定域名解析!
2466 0
|
9月前
|
域名解析 网络协议 网络安全
SSL证书验证全攻略:DNS/HTTP/手动解析怎么选?
SSL证书在网络安全中至关重要,1Panel提供三种验证方式:DNS验证、HTTP验证和手动解析。DNS验证便捷,适合CDN网站;HTTP验证快速,需服务器在线;手动解析灵活,但操作复杂。根据需求选择合适确认方式,定期检查证书状态。
1006 2
|
11月前
|
域名解析 存储 缓存
深入学习 DNS 域名解析
在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。
|
9月前
|
网络协议 安全 Linux
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
2845 0
|
12月前
|
负载均衡 网络协议 容灾
【飞天技术沙龙】云解析 DNS 上海站《多云+IDC 融合场景下的 DNS 最佳实践》圆满落幕
【飞天技术沙龙】云解析 DNS 上海站《多云+IDC 融合场景下的 DNS 最佳实践》圆满落幕
295 0
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
438 2
|
11月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1098 29
|
11月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
467 4
|
11月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
11月前
|
移动开发 前端开发 JavaScript
从入门到精通:H5游戏源码开发技术全解析与未来趋势洞察
H5游戏凭借其跨平台、易传播和开发成本低的优势,近年来发展迅猛。接下来,让我们深入了解 H5 游戏源码开发的技术教程以及未来的发展趋势。

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS