Linux DNS服务详解——DNS主从架构配置

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: Linux DNS服务详解——DNS主从架构配置

今天继续给大家介绍Linux基础知识,本文主要内容是DNS的主从配置。
阅读本文,您需要有一定的DNS基础,如果您对此还存在困惑,欢迎查阅以下文章:
Linux DNS服务详解——DNS基础知识
Linux DNS服务详解——DNS实战配置
由于在Linux DNS服务详解——DNS实战配置一文中已经提到了单台DNS服务器的配置思路,因此在本文中不会对此进行过多赘述。

一、DNS主从架构思路
今天,我们将使用两台Linux设备,来实现DNS主从的架构配置。机器如下:
DNS主服务器:192.168.136.101
DNS从服务器:192.168.136.210
在DNS主从架构中,DNS从服务器从DNS主服务器上同步区域配置文件,也可以提供DNS服务。

二、DNS主服务器配置文件
为了实现DNS的主从配置,需要在单台DNS配置文件的基础上,添加allow_update选项,在本实例中,DNS主服务器配置文件如下:

options {
listen-on port 53 { any; };
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; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "." IN {
type hint;
file "named.ca";
};
zone "pzz.com" IN {
type master;
file "pzz.com.zone";
allow-update{192.168.136.210;};
};
zone "136.168.192.in-addr.arpa" IN {
type master;
file "192.168.136.arpa";
allow-update{192.168.136.210;};
};

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
与Linux DNS服务详解——DNS实战配置一文中不同之处在于每个zone的allow-update选项中含有DNS从服务器的IP地址。
正向解析和反向解析的区域配置文件与上文中完全相同。

三、DNS从服务器配置文件
在DNS从服务器上,首先安装DNS,之后其主配置文件修改如下:

options {
listen-on port 53 { any; };
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; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "pzz.com" IN {
type slave;
file "pzz.com.zone";
masters { 192.168.136.101; };
};
zone "136.168.192.in-addr.arpa" IN {
type slave;
file "192.168.136.arpa";
masters { 192.168.136.101; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
在上述配置文件中,需要修改的点为option选项中的listen-on port字段和allow-query字段,需要新加入的配置为zone配置,zone配置的区域必须和DNS主服务器保持一致,type类型为slave,file可以自定义,当DNS主从架构成功运行后,DNS从服务器会自动同步DNS主服务器上的区域配置文件,该文件就是以从DNS服务器中的file文件命名的,masters选项为DNS主服务器的IP地址,在这里需要注意IP地址后面和大括号后面必须跟两个引号。

四、DNS主从架构配置验证
当完成上述配置后,DNS从服务器开启DNS功能,命令如下:

systemctl start named
1
之后我们发现,在/var/named目录下,自动生成了两个区域配置文件,如下所示:

之后,选择一台机器,将其DNS服务器的IP地址指向我们新配置的DNS从服务器,PING测试我们配置的一些域名记录,结果如下:

综上,DNS从服务器配置成功,能够从主服务器中自动同步区域配置文件,并且对外提供DNS服务。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/121277690

目录
相关文章
|
15天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
38 5
linux系统服务二!
|
15天前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
37 3
linux系统服务!!!
|
7天前
|
Java Linux Android开发
深入探索Android系统架构:从Linux内核到应用层
本文将带领读者深入了解Android操作系统的复杂架构,从其基于Linux的内核到丰富多彩的应用层。我们将探讨Android的各个关键组件,包括硬件抽象层(HAL)、运行时环境、以及核心库等,揭示它们如何协同工作以支持广泛的设备和应用。通过本文,您将对Android系统的工作原理有一个全面的认识,理解其如何平衡开放性与安全性,以及如何在多样化的设备上提供一致的用户体验。
|
19天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
87 3
|
19天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
64 3
|
22天前
|
域名解析 存储 缓存
DNS是什么?内网电脑需要配置吗?
【10月更文挑战第22天】DNS是什么?内网电脑需要配置吗?
82 1
|
25天前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
46 4
|
1月前
|
JSON JavaScript 前端开发
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
83 0
|
4天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
16 2
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
67 0