DNS 正/反向解析 主从复制 分离解析

一 DNS概念它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网

每一台 DNS 服务器都只负责管理一个有限范围

根域:

全球根服务器节点只有13个,10个在美国,1个荷兰,1个瑞典,1个日本

  • 一级域名:Top Level Domain: tld

  • 三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域

  • 最多可达到127级域名

DNS服务器类型

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

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

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

DNS解析过程

以 访问 www.goole.com 服务器

1 先看我本机的hosts文件,如果有直接访问,如果没有就去找你设置缓存dns

2 如果缓存服务器有,直接反馈结果 (递归),如果没有就需要迭代查询直接去找根域服务

3 由于根域服务器 只能解析根无法解析 www.baidu.com 但是根域服务器让你去找级域服务器

4 一级域发现自己 也解析 不了,让你去找二级域

5 二级域发现这台服务在自己的 管理范围内,直接反馈结果给 缓存服务器

6 缓存服务器 再交给 客户

7其中正向解析是根据域名查找对应的IP地址

DNS查询方式

递归查询:

一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)

迭代查询:

一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需要发起多次查询。(需要自己动手)

二 内网搭建dns服务器 正向解析

目的内部人员自己使用内网,使用域名访问内网

复制代码
root@localhost ~]#rpm -q install bind* 
未安装软件包 install 
未安装软件包 bind* 
[root@localhost ~]#yum install -y bind*
已加载插件:fastestmirror, langpacks





完毕!
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#setenforce
usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@localhost ~]#setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]#systemctl start named
[root@localhost ~]#vim /etc/named.conf
[root@localhost ~]#rndc reload
server reload successful
[root@localhost ~]#

配置区域文件

root@localhost \~\]#vim /etc/named.rfc1912.zones ![](https://file.jishuzhan.net/article/1746094974807576577/57bfca6f6abeae69f64b68bfd86b639e.webp) #### 编辑数据库文件,解析记录对应关系 [root@localhost ~]#cd /var/named [root@localhost named]#ls chroot chroot_sdb data dynamic dyndb-ldap named.ca named.empty named.localhost named.loopback slaves [root@localhost named]#cp named.localhost ./mcb.com.zone -p [root@localhost named]#ls chroot chroot_sdb data dynamic dyndb-ldap kgc.com.zone mcb.com.zone named.ca named.empty named.localhost named.loopback slaves [root@localhost named]#vim mcb.com.zone #### ![](https://file.jishuzhan.net/article/1746094974807576577/284cef64c26cbc3fa13b99b863833a74.webp)**注释** $TTL 1D #有效解析记录的生存周期 @ in SOA benet.com. admin.benet.com. ( #"@"符号表示当前的DNS区域名 0 ; serial #更新序列号,可以是10位以内的整数 1D ; refresh #刷新时间,重新下载地址数据的间隔 1H ; retry #重试延时,下载失败后的重试间隔 1W ; expire #失效时间,超过该时间仍无法下载则放弃# 3H) ; minimum #无效解析记录的生存周期, NS benet.com. #记录当前区域的DNS服务器的名称 A 192.168.80.10 #记录主机IP地址 IN MX 10 mail.benet.com. #MX为邮件交换记录,数字越大优先级越低 www IN A 192.168.80.10 #记录正向解析www.benet.com对应的IP mail IN A 192.168.80.11 #MX为邮件交换记录,数字越大优先级低 ftp IN CNAME www #CNAME使用别名,ftp 是www的别名 \* IN A 192.168.80.100 #泛域名解析,"\*"代表任意主机名 #### 修改网卡配置重启服务 [root@localhost named]#vim /etc/sysconfig/network-scripts/ifcfg-ens33 [root@localhost named]#systemctl restart network network-online.target network.service [root@localhost named]#systemctl restart network network-online.target network.service [root@localhost named]#systemctl restart network network-online.target network.service [root@localhost named]#systemctl restart network [root@localhost named]#ping www.goole.com PING www.goole.com (217.160.0.201) 56(84) bytes of data. 64 bytes from 217.160.0.201 (217.160.0.201): icmp_seq=1 ttl=128 time=53.3 ms ![](https://file.jishuzhan.net/article/1746094974807576577/ee92f4b1003362b688ed4da12cdd1a8d.webp) #### 验证解析 [root@localhost named]#host www.mcb.com www.mcb.com has address 20.115.47.189 [root@localhost named]#host mcb.com mcb.com has address 20.115.47.189 mcb.com mail is handled by 10 mx.usa.net. mcb.com mail is handled by 50 mx.ct.mbox.net. 研究一下 [root@localhost named]#host abc.mcb.com Host abc.mcb.com not found: 3(NXDOMAIN) ### 三 正向解析 修改配置文件 #vim /etc/named.rfc1912.zones ![](https://file.jishuzhan.net/article/1746094974807576577/cadc2f796c1f971d547316db6c04ebda.webp) #### 复制正向解析文件 [root@localhost ~]#vim /etc/named.rfc1912.zones [root@localhost ~]# [root@localhost ~]#cd /var/named [root@localhost named]#vim /etc/named.rfc1912.zones (核实路径变化配置文件是否变化) [root@localhost named]#cp -p mcb.com.zone mcb1.com.zone [root@localhost named]#chmod 640 mcb1.com.zone ;chgrp named mcb1.com.zone [root@localhost named]#vim mcb1.com.zone \[root@localhost named\]#vim /etc/named.rfc1912.zones ![](https://file.jishuzhan.net/article/1746094974807576577/837a7fcfda4f1147ad67f655e3742a0d.webp) \[root@localhost named\]#vim mcb1.com.zone ![](https://file.jishuzhan.net/article/1746094974807576577/1445f436308e76ee5c6364517963c431.webp) root@localhost named\]#rndc reload rndc: connect failed: 127.0.0.1#953: connection refused 总结:此实验没有成功,有时间找原因 ### 四 主从复制 添加从服务器(1) [root@localhost ~]#systemctl stop firewalld.service [root@localhost ~]# setenforce 0 setenforce: SELinux is disabled [root@localhost ~]#yum install bind bind-utils.x86_64 -y 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile [root@localhost ~]# vim /etc/named.conf ![](https://file.jishuzhan.net/article/1746094974807576577/05137de30413eff70b548aba34c7634b.webp) #### 主备服务器配置 主:192.168.11.13 1 \[root@localhost named\]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 2 查看一下 \[root@localhost named\]# cat /etc/resolv.conf [root@localhost ~]# vim /etc/named.rfc1912.zones [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# setenforce 0 [root@localhost ~]# yum install bind bind-utils.x86_64 -y 已加载插件:fastestmirror, langpacks ② \[root@localhost \~\]# vim /etc/named.conf ![](https://file.jishuzhan.net/article/1746094974807576577/1790d0e570519c9e9e25a9cc1d292476.webp) ③ \[root@localhost \~\]# vim /etc/named.rfc1912.zones ![](https://file.jishuzhan.net/article/1746094974807576577/d8551a6c5e04ed973132d2b3f4b5bd4c.webp) ④ \[root@localhost named\]# vim mcb2.com.zone ![](https://file.jishuzhan.net/article/1746094974807576577/648a25148601f6cb95b1b6b131032dd0.webp) 检测一下 #### 从主机服务 主192.168.11.14 ![](https://file.jishuzhan.net/article/1746094974807576577/ca0d2c0ab48291a97ff02861c771f890.webp) 查看一下 ![](https://file.jishuzhan.net/article/1746094974807576577/dd2f46c93b37e5b6ebd0628e4d59c25c.webp) ![](https://file.jishuzhan.net/article/1746094974807576577/1790d0e570519c9e9e25a9cc1d292476.webp) 宿舍没网,停更

相关推荐
kfepiza24 分钟前
Debian的`/etc/network/interfaces`的`allow-hotplug`和`auto`对比讲解 笔记250704
linux·服务器·网络·笔记·debian
无妄-202436 分钟前
软件架构升级中的“隐形地雷”:版本选型与依赖链风险
java·服务器·网络·经验分享
R.X. NLOS1 小时前
VS Code远程开发新方案:使用SFTP扩展解决Remote-SSH连接不稳定问题
运维·服务器·ssh·debug·vs code
cuijiecheng20181 小时前
Ubuntu下布署mediasoup-demo
linux·运维·ubuntu
独行soc3 小时前
2025年渗透测试面试题总结-2025年HW(护网面试) 33(题目+回答)
linux·科技·安全·网络安全·面试·职场和发展·护网
java龙王*4 小时前
开放端口,开通数据库连接权限,无法连接远程数据库 解决方案
linux
bcbobo21cn4 小时前
Linux命令的命令历史
linux·histsize·histfile
轩情吖5 小时前
Qt的第一个程序(2)
服务器·数据库·qt·qt creator·qlineedit·hello world·编辑框
jingyu飞鸟5 小时前
linux系统源代码安装apache、编译隐藏版本号
linux·运维·apache
世事如云有卷舒5 小时前
Ubunt20.04搭建GitLab服务器,并借助cpolar实现公网访问
linux·服务器·gitlab