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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介:

总结

安装: 

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,如需转载请自行联系原作者
目录
相关文章
|
9天前
|
存储 缓存 算法
HashMap深度解析:从原理到实战
HashMap,作为Java集合框架中的一个核心组件,以其高效的键值对存储和检索机制,在软件开发中扮演着举足轻重的角色。作为一名资深的AI工程师,深入理解HashMap的原理、历史、业务场景以及实战应用,对于提升数据处理和算法实现的效率至关重要。本文将通过手绘结构图、流程图,结合Java代码示例,全方位解析HashMap,帮助读者从理论到实践全面掌握这一关键技术。
47 13
|
27天前
|
运维 持续交付 云计算
深入解析云计算中的微服务架构:原理、优势与实践
深入解析云计算中的微服务架构:原理、优势与实践
61 1
|
3天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
25 1
|
1月前
|
运维 持续交付 虚拟化
深入解析Docker容器化技术的核心原理
深入解析Docker容器化技术的核心原理
47 1
|
28天前
|
存储 供应链 算法
深入解析区块链技术的核心原理与应用前景
深入解析区块链技术的核心原理与应用前景
53 0
|
1月前
|
JavaScript 前端开发 API
Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
57 0
|
1月前
|
API 持续交付 网络架构
深入解析微服务架构:原理、优势与实践
深入解析微服务架构:原理、优势与实践
32 0
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
76 2
|
2天前
|
存储 设计模式 算法
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。 行为型模式分为: • 模板方法模式 • 策略模式 • 命令模式 • 职责链模式 • 状态模式 • 观察者模式 • 中介者模式 • 迭代器模式 • 访问者模式 • 备忘录模式 • 解释器模式
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
|
2天前
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为以下 7 种: • 代理模式 • 适配器模式 • 装饰者模式 • 桥接模式 • 外观模式 • 组合模式 • 享元模式
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析

相关产品

  • 云解析DNS
  • 推荐镜像

    更多