当前位置: 首页 > news >正文

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

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

还有就是.记得加上去

相关文章:

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

CSDN 成就一亿技术人! 作者主页:点击! Linux专栏:点击! CSDN 成就一亿技术人! ————前言———— 主从(Master-Slave)DNS架构是一种用于提高DNS系统可靠性和性能的配置方式。…...

CSS3病毒病原体图形特效

CSS3病毒病原体图形特效,源码由HTMLCSSJS组成,双击html文件可以本地运行效果,也可以上传到服务器里面 下载地址 CSS3病毒病原体图形特效代码...

Tomcat Web 开发项目构建教程

1下载Tomcat安装包,下载链接:Apache Tomcat - Welcome!,我电脑环境为JDK8,所以下载Tomcat9.0 2、下载完压缩包后,解压到指定位置 3.在intelij中新建一个项目 4.选中创建的项目,双击shift,输入add frame...然…...

Elasticsearch(9) gauss的使用

elasticsearch version: 7.10.1 在Elasticsearch中,gauss作为衰减函数(decay function)被用于function_score查询中,用于实现基于地理位置或其他数值字段的衰减权重评分。gauss衰减函数模拟了高斯分布,即距…...

php前端和java后端数据调用流程

php前端和java后端数据调用流程 前端 1、新建php页面title.php <title>标题</title> <td width"30%" class"form-key">标题内容</td> <td width"70%"><input type"text" class"form-control…...

C语言从入门到熟悉------第四阶段

指针 地址和指针的概念 要明白什么是指针&#xff0c;必须先要弄清楚数据在内存中是如何存储的&#xff0c;又是如何被读取的。如果在程序中定义了一个变量&#xff0c;在对程序进行编译时&#xff0c;系统就会为这个变量分配内存单元。编译系统根据程序中定义的变量类型分配…...

【目标检测-数据集准备】DIOR转为yolo训练所需格式

【目标检测】DIOR遥感影像数据集&#xff0c;转为yolo系列模型训练所需格式。 标签文件位于Annotations下&#xff0c;格式为xml&#xff0c;yolo系列模型训练所需格式为txt&#xff0c;格式为 class_id x_center,y_center,w,h其中&#xff0c;train&#xff0c;text&#xff…...

Nacos为什么对于临时实例采用心跳检测,非临时实例采用主动询问?Nacos同时作为配置中心和注册中心有什么坏处?为什么Nacos可以抗住那么高的注册?

Nacos为什么对于临时实例采用心跳检测,非临时实例采用主动询问? Nacos 对于临时实例采用心跳检测&#xff0c;而对于非临时实例采用主动询问&#xff0c;这两种不同的健康检查机制是为了满足不同场景下的服务发现需求。具体分析如下&#xff1a; 临时实例的心跳检测&#xf…...

【NLP】如何实现快速加载gensim word2vec的预训练的词向量模型

1 问题 通过以下代码&#xff0c;实现加载word2vec词向量&#xff0c;每次加载都是几分钟&#xff0c;效率特别低。 from gensim.models import Word2Vec,KeyedVectors# 读取中文词向量模型&#xff08;需要提前下载对应的词向量模型文件&#xff09; word2vec_model KeyedV…...

前端实例:页面布局1(后端数据实现)

效果图 注&#xff1a;这里用到后端语言php&#xff08;页面是.php文件&#xff09;,提取纯html也可以用 inemployee_index.php <?php include(includes/session.inc); $Title _(内部员工首页); $ViewTopic 内部员工首页; $BookMark 内部员工首页; include(includes/…...

【调参】如何为神经网络选择最合适的学习率lr-LRFinder-for-Keras

【调参】如何为神经网络选择最合适的学习率lr-LRFinder-for-Keras_学习率选择-CSDN博客文章浏览阅读9.2k次&#xff0c;点赞6次&#xff0c;收藏55次。keras 版本的LRFinder&#xff0c;借鉴 fast.ai Deep Learning course。前言学习率lr在神经网络中是最难调的全局参数&#x…...

【设计模式】Java 设计模式之享元模式(Flyweight)

享元模式&#xff08;Flyweight&#xff09;的深入分析 一、概述 享元模式是一种结构型设计模式&#xff0c;它提供了一种有效的方式来减少在大量对象中产生的内存开销。通过共享尽可能多的对象&#xff0c;享元模式可以使程序更高效地使用内存。享元模式常用于那些创建对象实…...

异次元发卡源码系统/荔枝发卡V3.0二次元风格发卡网全开源源码

– 支付系统&#xff0c;已经接入易支付及Z支付免签接口。 – 云更新&#xff0c;如果系统升级新版本&#xff0c;你无需进行繁琐操作&#xff0c;只需要在你的店铺后台就可以无缝完成升级。 – 商品销售&#xff0c;支持商品配图、会员价、游客价、邮件通知、卡密预选&#…...

腾讯春招后端一面(八股篇)

前言 前几天在网上发了腾讯面试官问的一些问题&#xff0c;好多小伙伴关注&#xff0c;今天对这些问题写个具体答案&#xff0c;博主好久没看八股了&#xff0c;正好复习一下。 面试手撕了三道算法&#xff0c;这部分之后更&#xff0c;喜欢的小伙伴可以留意一下我的账号。 1…...

“风口”上的量化大厂“绣球”抛向中低频人才

量化人才这几年是人才舞台上的“香饽饽”。 遵循着低频不如高频、小厂不如大厂的薪资逻辑&#xff0c;各路人才被各路机构“哄抢”&#xff0c;薪资一路走高。 但2024年的“信号”再强烈不过——量化大厂们到了改变的时候了。 而量化大厂们显然对此已“心知肚明”....... “…...

obdiag如何实现一键采集20+故障场景的诊断信息——《OceanBase诊断系列》之九

作者简介&#xff1a;靖顺&#xff0c;OcenaBase 开发工程师&#xff0c;专注于数据库诊断与调优 1. 前言 在2024年初&#xff0c;我与一线运维人员交流时&#xff0c;他们纷纷提及在运维过程中遭遇的难题——OceanBase出现问题时&#xff0c;排查工作不容易&#xff0c;有时需…...

Cookie和Session的获取方法

1、Cookie的简单获取方法&#xff08;可以获取到所有的cookie&#xff09; &#xff08;1&#xff09;在参数里还有HttpServletResponse response这些&#xff0c;这些都是内置对象需要就拿不需要就删掉就可以&#xff0c;在这里我们用到的是HttpServletRequest request &…...

旅游市场游客满意度调查报告

民安智库开展游客满意度调查主要通过问卷调查的方式进行&#xff0c;在设计问卷时&#xff0c;应确保问题覆盖游客在某省旅游过程中可能遇到的各个方面&#xff0c;包括交通、住宿、餐饮、旅游景点、导游服务等。此外&#xff0c;还可以设置一些开放性问题&#xff0c;让游客提…...

为什么选用python开发web?

目前&#xff0c;不少公司在用python做web开发&#xff0c;前司用pythonflask做内容审核的后端。 java和php在web开发领域积累较久&#xff0c;有丰富的web开发生态组件可以使用&#xff0c;性能稳定&#xff0c;扩展性强&#xff0c;这个是事实&#xff0c;从这方面来讲&…...

C# Chart曲线控件专题

1.控件基本设置 chart1.ChartAreas[0].AxisY.IsStartedFromZero false; //设置Y轴自适应chart1.Series["瞬时值"].BorderWidth 2; // 设置曲线宽度为2个像素&#xff0c;注意[]中写入的Series的Namechart1.Series["瞬时值"].Color Color.Red; // 设置曲…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...