Linux中搭建主从DNS服务器

简介: 搭建主从DNS架构以提升DNS服务的高可用性、负载均衡和数据冗余。主服务器配置涉及编辑`/etc/named.conf`,设置监听IP和允许查询的范围,并定义主区域及允许的数据传输。从服务器配置需指定为奴隶类型,并指明主服务器的IP。测试表明正反向查询解析均正常。注意配置文件的语法正确性和权限设置。

————前言————

主从(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; };

image.png

了解如下

  • 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; };
};

image.png

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 记录。
    image.png
[root@localhost named] vim example.com.arpa

image.png

systemctl restart named    重启服务

客户端测试

关闭防火墙还有selinux

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

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

image.png

正向查询解析

image.png

反向查询解析

image.png

从服务器的配置

关闭防火墙和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; };

image.png

加入如下配置:

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; };
};

image.png

检测语法

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 服务器同步的反向解析区域和正向解析区域的数据文件

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

image.png

客户端测试

关闭防火墙还有selinux

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

image.png

正向查询解析

image.png

反向查询解析

image.png

注意事项

如果重启发现

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

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

还有就是.记得加上去

image.png

相关文章
|
11天前
|
消息中间件 安全 Linux
服务器(Linux)在线下载activeMQ以及配置打开
服务器(Linux)在线下载activeMQ以及配置打开
23 3
|
11天前
|
Java Linux
Linux(服务器) 装JDK
Linux(服务器) 装JDK
29 1
|
2天前
|
存储 弹性计算 人工智能
【阿里云弹性计算】深度解析阿里云ECS弹性裸金属服务器:性能与弹性的完美平衡
【5月更文挑战第24天】阿里云ECS弹性裸金属服务器融合物理机高性能与云服务弹性,提供计算、存储及网络优势。支持秒级伸缩、自动扩展,适用于高性能计算、游戏、企业应用及AI场景。示例代码展示如何通过CLI创建实例,是高需求场景的理想选择。
15 0
|
2天前
|
域名解析 缓存 网络协议
【域名解析DNS专栏】深入理解DNS根服务器与顶级域服务器
【5月更文挑战第24天】DNS的根服务器和顶级域服务器在域名解析中起关键作用。根服务器是核心,负责提供顶级域服务器引用,维护顶级域列表;顶级域服务器管理如.com的域名,处理二级域名解析和管理。这两者影响解析速度、可靠性和安全性。了解它们有助于优化DNS配置和提升网站访问体验。
【域名解析DNS专栏】深入理解DNS根服务器与顶级域服务器
|
4天前
|
弹性计算 数据挖掘 应用服务中间件
阿里云服务器通用算力型U1实例解析,实例性能、适用场景及常见问题参考
在阿里云服务器的所有实例规格中,通用算力型u1实例主打的是高性价比,通用算力型U1实例云服务器自推出以来,就受到了广大用户的关注,也是目前阿里云的活动中比较热门的云服务器实例,这个实例规格的性能要好于经济型e等共享型实例,价格又比计算型c7、通用型g7等其他企业级实例要低一些。本文将深入解析通用算力型U1实例的特点、适用场景以及价格优势,帮助用户更好地了解该云服务器实例。
阿里云服务器通用算力型U1实例解析,实例性能、适用场景及常见问题参考
|
6天前
|
运维 Linux 程序员
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
|
6天前
|
网络协议
阿里云服务器搭建DNS解析服务步骤
在阿里云搭建DNS解析服务,首先注册阿里云账号并购买适合的云服务器。获取服务器公网IP后,配置服务器并安装DNS软件如Bind9。接着设置DNS解析,包括定义顶级和子域名的指向。最后,通过ping测试或浏览器访问验证DNS解析功能是否正常。
|
10天前
|
存储 监控 网络协议
|
10天前
|
Linux 网络安全
linux/服务器使用scp将一个服务器文件转移到另一个服务器上
linux/服务器使用scp将一个服务器文件转移到另一个服务器上
40 3
|
11天前
|
监控 JavaScript 网络协议
Linux系统之安装uptime-kuma服务器监控面板
【5月更文挑战第12天】Linux系统之安装uptime-kuma服务器监控面板
27 0