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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 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

目录
相关文章
|
7天前
|
域名解析 存储 缓存
DNS是什么?内网电脑需要配置吗?
【10月更文挑战第22天】DNS是什么?内网电脑需要配置吗?
38 1
|
10天前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
31 4
|
14天前
|
消息中间件 Kafka 数据库
微服务架构中,如何确保服务之间的数据一致性?
微服务架构中,如何确保服务之间的数据一致性?
|
21天前
|
机器学习/深度学习 调度
mmseg配置解析 Polynomial Decay 多项式衰减
Polynomial Decay(多项式衰减)是一种常用的学习率调度方法,通过多项式函数逐步减少学习率,帮助模型更好地收敛。公式为:\[ lr = (lr_{initial} - \eta_{min}) \times \left(1 - \frac{current\_iter}{max\_iters}\right)^{power} + \eta_{min} \]。参数包括初始学习率、最小学习率、当前迭代次数、总迭代次数和衰减指数。适用于需要平滑降低学习率的场景,特别在训练后期微调模型参数。
41 0
mmseg配置解析 Polynomial Decay 多项式衰减
|
23天前
|
网络协议 Docker 容器
docker中的DNS配置
【10月更文挑战第5天】
184 1
|
17天前
|
JSON JavaScript 前端开发
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
57 0
|
21天前
|
编解码 计算机视觉
mmseg配置解析 align_corners=False
`align_corners=False` 是图像插值操作中的一个参数,影响输入和输出图像的角点对齐方式。`align_corners=True` 严格对齐角点,而 `align_corners=False` 均匀分布像素点,更适用于保持整体比例关系的任务,如语义分割。
27 0
|
21天前
|
机器学习/深度学习 编解码
mmseg配置解析 contract_dilation=True
`contract_dilation=True` 是 ResNetV1c 中的一种设置,用于解决多层膨胀卷积中的“栅格效应”。通过调整膨胀率,使卷积核在不同阶段更密集地覆盖输入特征图,避免信息丢失,提升特征提取质量,尤其在语义分割任务中效果显著。
34 0
|
22天前
|
XML Java 数据格式
手动开发-简单的Spring基于注解配置的程序--源码解析
手动开发-简单的Spring基于注解配置的程序--源码解析
37 0
|
22天前
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
67 0