Linux 中搭建 主从dns域名解析服务器

CSDN 成就一亿技术人!

作者主页:点击!

Linux专栏:点击!

CSDN 成就一亿技术人!

————前言————

主从(Master-Slave)DNS架构是一种用于提高DNS系统可靠性和性能的配置方式。

主从DNS的作用

  1. 高可用性:通过配置主从DNS服务器,可以实现DNS服务的高可用性。当主DNS服务器发生故障或不可用时,从DNS服务器可以接管服务,确保域名解析服务的持续可用性。

  2. 负载均衡:在主从DNS架构中,可以将流量分配到多个DNS服务器上,从而实现负载均衡。主DNS服务器负责处理写入操作(如添加、修改、删除DNS记录),而从DNS服务器则负责处理读取操作(如域名解析请求),从而分担了主DNS服务器的负载。

  3. 数据冗余:主从DNS架构通过在主从服务器之间同步DNS区域数据,实现了数据冗余。当主DNS服务器的数据发生变化时,这些变化会自动同步到从DNS服务器上,从而确保即使主DNS服务器发生故障,数据也不会丢失。

  4. 网络优化:通过配置就近的从DNS服务器,可以减少域名解析请求的网络延迟,提高域名解析的速度和性能。

以下均在VMware中测试

主服务器配置

关闭防火墙和selinux

并且可以ping通百度

安装bind服务 

yum install -y  bind

编辑配置文件

[root@localhost ~] vim /etc/named.conf 

/etc/named.conf 是 BIND(Berkeley Internet Name Domain)软件的配置文件,它负责配置 DNS 服务器的全局设置以及各个区域(zones)的配置。

修改如下信息

options {listen-on port 53 { 127.0.0.1;192.168.180.188; };listen-on-v6 port 53 { ::1; };directory       "/var/named";dump-file       "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";recursing-file  "/var/named/data/named.recursing";secroots-file   "/var/named/data/named.secroots";allow-query     { any; };

了解如下

  • listen-on port 53 { 127.0.0.1;192.168.180.188; };: 这行指定了 DNS 服务器监听的 IP 地址和端口。在这里,DNS 服务器会监听在 127.0.0.1 和 192.168.180.188 这两个 IP 地址上的 53 端口,即本地主机和局域网上的 192.168.180.188 这个地址。

  • allow-query { any; };: 这行指定了允许进行 DNS 查询的客户端 IP 地址范围。在这里,任何 IP 地址的客户端都可以进行 DNS 查询。

在后边加入如下

zone "example.com" IN {type master;file  "example.com.zone";allow-transfer { 192.168.180.180; };
-
zone "180.168.192.in-addr.arpa" IN {type master;file "example.com.arpa";allow-transfer { 192.168.180.180; };
};

zone "180.168.192.in-addr.arpa" IN {: 此行指定了反向 DNS 解析区域的名称。在这里,"180.168.192.in-addr.arpa" 是用于反向解析 192.168.180.0/24 网络上的 IP 地址的专用域名。这是反向解析区域名称的标准格式。

type master;: 此行指定了这个区域是一个主区域,即该服务器是这个区域的权威服务器,负责管理该区域的 DNS 记录。

file "example.com.arpa";: 此行指定了存储该区域数据的文件。在这个例子中,该文件的名称为 "example.com.arpa"。这个文件通常包含了 IP 地址与域名的对应关系。

allow-transfer { 192.168.180.180; };: 此行指定了允许传输区域数据的 IP 地址。在这个例子中,只允许 IP 地址为 192.168.180.180 的服务器传输该区域的数据。这是一种安全措施,以防止未授权的服务器获取区域数据。

检测语法是否出问题

named-checkconf /etc/named.conf

进入目录 /var/named/,该目录通常用于存储 BIND(DNS 服务器软件)的配置文件和数据文件。

[root@localhost ~] cd /var/named/
[root@localhost named] cp -p named.empty example.com.zone
[root@localhost named] cp -p named.empty example.com.arpa
[root@localhost named] vim example.com.zone 
  1. 复制文件 named.empty 并将其命名为 example.com.zoneexample.com.arpa,分别用作正向解析区域和反向解析区域的配置文件。

  2. 使用 Vim 编辑器打开 example.com.zone 文件,以便对其进行配置。通常,在这个文件中你需要添加域名与 IP 地址的对应关系,以及其他相关的 DNS 记录。

[root@localhost named] vim example.com.arpa


 

systemctl restart named    重启服务

客户端测试

关闭防火墙还有selinux

[root@localhost ~] vim /etc/resolv.conf

/etc/resolv.conf 是用于配置系统上 DNS 解析器的配置文件。

正向查询解析
反向查询解析

从服务器的配置

关闭防火墙和selinux

并且可以ping通百度

安装bind服务 

[root@localhost ~] yum install -y bind

编辑配置文件

[root@localhost ~] vim /etc/named.conf 

修改如下:

options {listen-on port 53 { 127.0.0.1;192.168.180.180; };listen-on-v6 port 53 { ::1; };directory       "/var/named";dump-file       "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";recursing-file  "/var/named/data/named.recursing";secroots-file   "/var/named/data/named.secroots";allow-query     { any; };

加入如下配置:

zone "example.com" IN {type slave;file "slaves/example.com.zone";masters { 192.168.180.188; };
};zone "180.168.192.in-addr.arpa" {type slave;file "slaves/example.com.arpa";masters { 192.168.180.188; };
};

检测语法

named-checkconf /etc/named.conf
[root@localhost named] ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named] ls slaves/
example.com.arpa  example.com.zone

slaves: 这个目录通常用于存储从 DNS 服务器同步的数据文件。在这个目录中,你发现了 example.com.arpaexample.com.zone 两个文件,它们是从其他 DNS 服务器同步的反向解析区域和正向解析区域的数据文件

如果同步成功会多出如下两个文件

客户端测试

关闭防火墙还有selinux

[root@localhost ~] vim /etc/resolv.conf
正向查询解析

反向查询解析

注意事项

如果重启发现

Job for named.service failed because the control process exited with error code. See "systemctl status named.service" and "journalctl -xe" for details.

请使用这条命令检查配置文件

named-checkconf /etc/named.conf

如果解析发现解析失败 那就是正反解析文件中的问题

还有就是.记得加上去

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/746315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opencv人脸识别实战3:多线程和GUI界面设计(PyCharm实现)

一、多线程设计 1、在一个新线程中调用了 scan_face() 函数来进行人脸识别操作。根据识别结果,更新界面显示结果,最后释放资源。 def f_scan_face_thread():var.set(刷脸)ans scan_face()if ans 0:print("最终结果:无法识别")va…

《互联网的世界》第七讲-能源

本想聊聊 tcp 和 quic,但这些都属于术的范畴,变化多端,等孩子们长大了又不知变成什么样子了,趁这段时间在家,还是得讲一些相对不变的东西,或法或势。 从 安阳卖血糕的精巧篦子 想到如何做圆米粉和圆面条&a…

【管理咨询宝藏39】某四大咨询公司D记PPT模板

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏39】某四大咨询公司D记PPT模板 【格式】PPT版本,可编辑, 【关键词】PPT模板,PPT图表 【文件核心观点】 - 2…

什么是分段锁?

1、典型回答 分段锁是一种将锁细化到每个段(Segment) 级别的锁设计。在 ConcurrentHashMap 中,它将整个数据结构分成多个段,每个段只锁定自己的一部分数据。每个段可以看作是一个独立的分组,只锁定该段(Segment)内部的数据操作,不…

OJ_八皇后

题干 C实现 深度优先遍历&#xff0c;注意回溯打表法&#xff1a;先求出所有解&#xff0c;再存入一个容器中 #define _CRT_SECURE_NO_WARNINGS#include <iostream> #include <vector>using namespace std;vector<vector<int>> queenVec;//用来存在所…

2024年中国AI服务器行业发展

环洋咨询Global Info Research的AI服务器市场调研报告提供AI服务器市场的基本概况&#xff0c;包括定义&#xff0c;分类&#xff0c;应用和产业链结构&#xff0c;同时还讨论发展政策和计划以及制造流程和成本结构&#xff0c;分析AI服务器市场的发展现状与未来市场趋势&#…

Flink通讯模型—Akka与Actor模型

Carl Hewitt 在1973年对Actor模型进行了如下定义&#xff1a;"Actor模型是一个把Actor作为并发计算的通用原语". Actor是异步驱动&#xff0c;可以并行和分布式部署及运行的最小颗粒。也就是说&#xff0c;它可以被分配&#xff0c;分布&#xff0c;调度到不同的CPU&…

操作系统总结(第二周 第一堂)

前言&#xff1a; 第一周的重点就在于一张图表&#xff1a; 基于这张图&#xff0c;我们将陷入内核分为了两个大块Trap和Interrupt。同时我们知道一件事情任何一次I/O操作或者错误程序操作都将陷入内核&#xff0c;从而使得内核可以监控所有的外部设备以及维护整个电脑程序运行…

C语言 --- 指针(5)

目录 一.sizeof和strlen对比 1.sizeof 2.strlen 3.strlen 和sizeof的对比 二.数组和指针笔试题目详解 回顾&#xff1a;数组名的理解 1.一维数组 2.字符数组 代码1&#xff1a; 代码2&#xff1a; 代码3&#xff1a; 代码4&#xff1a; 代码5&#xff1a; 代码6&am…

【智能算法】白鲨算法(AVOA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.代码实现4.参考文献 1.背景 2022年&#xff0c;Braik 等人受到白鲨捕食行为启发&#xff0c;提出了非洲秃鹫优化算法(White Shark Optimizer, WSO)。 2.算法原理 2.1算法思想 海洋中白鲨拥有敏锐的感知、听觉和嗅觉&#xf…

第110讲:Mycat实践指南:指定Hash算法分片下的水平分表详解

文章目录 1.应用指定Hash算法分片的概念2.使用应用指定Hash算法分片对某张表进行水平拆分2.1.在所有的分片节点中创建表结构2.2.配置Mycat实现应用指定Hash算法分片的水平分表2.2.1.配置Schema配置文件2.2.2.配置Rule分片规则配置文件2.2.3.配置Server配置文件2.2.4.重启Mycat …

前置机的使用以及个跳板机介绍

前言 前置机、网闸和摆渡机都是为了内网安全&#xff0c;尤其是银行、券商、电信运营商等的内网核心后台系统的安全&#xff0c;而使用的技术手段。跳板机和堡垒机则是为了运维人员远程访问控制系统而搭建的机器。 一、前置机 1. 作用 前置机&#xff0c;指代的是设置在后台系…

2014-2023年各地级市空气质量指数AQI指数日度数据

2014-2023年各地级市空气质量指数AQI指数日度数据 1、时间&#xff1a;2014-2023.3.8 2、来源&#xff1a;https://www.qweather.com/air/beiliu-101300903.htm 3、指标&#xff1a;统计日期、地区编码ID、地区代码、地区名称、AQI指数、空气质量级别、首要污染物 4、样本量…

教你三指针拿捏链表翻转

类似上图&#xff0c;其实步骤很简单&#xff0c;用三个指针pre&#xff0c;cur&#xff0c;temp&#xff0c;看英文也知道具体含义&#xff0c;前向&#xff0c;当前&#xff0c;和用于保存剩余的链表 &#xff0c;具体看下图&#xff0c;很清晰 class Solution { public:List…

CH343 使用USB转串口发送CAN报文

文章目录 原启UART 走CAN收发器CH343 模拟CAN发送CPP ASIO SocketCANVXCANGithub Link 原启 早些年自动驾驶激光雷达还不支持PTP之类的时间同步, 很多都是用PPS时间同步, 激光雷达一般装的离控制器或者GNSS天线较远, 车上的线束一般数据电源各种都包在一起的, 如果3.3V直接从域…

使用maven打生产环境可执行包

一、程序为什么要打包 程序打包的主要目的是将项目的源代码、依赖库和其他资源打包成一个可执行的文件或者部署包&#xff0c;方便程序的发布和部署。以下是一些打包程序的重要理由&#xff1a; 方便部署和分发&#xff1a;打包后的程序可以作为一个独立的实体&#xff0c;方便…

leetCode刷题 13. 罗马数字转整数

目录 题目&#xff1a; 1. 思路 2. 解题方法 3. 复杂度 4. Code 题目&#xff1a; 罗马数字包含以下七种字符: I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X 10 L …

Vmware虚拟机使用过程中断电后无法重启处理

背景 今天在用新装的虚拟机进行测试的过程中&#xff0c;忽然笔记本关机了&#xff08;没插电源线&#xff09;&#xff0c;重启电脑后发现虚拟机提示“正在使用中“&#xff0c;具体如下所示&#xff1a; 解决 在相关虚拟机文件夹内查找以 .lck 结尾的文件&#xff0c;名称一…

java中Volatile关键字的原理

Volitile的主要作用就是保持内存可见性和防止指令重排序。我分别说一下这两个作用的实现原理 1.保持内存可见性的实现原理 volatile内存可见性主要通过lock前缀指令实现的&#xff0c;它会锁定当前内存区域的缓存&#xff0c;并且立即将当前缓存的数据写入到主内存&#xff0…

记录dockers中Ubuntu安装python3.11

参考&#xff1a; docker-ubuntu 安装python3.8,pip3_dockerfile ubuntu22 python3.8-CSDN博客