CSDN 成就一亿技术人!
作者主页:点击!
Linux专栏:点击!
CSDN 成就一亿技术人!
————前言————
主从(Master-Slave)DNS架构是一种用于提高DNS系统可靠性和性能的配置方式。
主从DNS的作用
-
高可用性:通过配置主从DNS服务器,可以实现DNS服务的高可用性。当主DNS服务器发生故障或不可用时,从DNS服务器可以接管服务,确保域名解析服务的持续可用性。
-
负载均衡:在主从DNS架构中,可以将流量分配到多个DNS服务器上,从而实现负载均衡。主DNS服务器负责处理写入操作(如添加、修改、删除DNS记录),而从DNS服务器则负责处理读取操作(如域名解析请求),从而分担了主DNS服务器的负载。
-
数据冗余:主从DNS架构通过在主从服务器之间同步DNS区域数据,实现了数据冗余。当主DNS服务器的数据发生变化时,这些变化会自动同步到从DNS服务器上,从而确保即使主DNS服务器发生故障,数据也不会丢失。
-
网络优化:通过配置就近的从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
复制文件
named.empty
并将其命名为example.com.zone
和example.com.arpa
,分别用作正向解析区域和反向解析区域的配置文件。使用 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] lsdata 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.arpa
和 example.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
如果解析发现解析失败 那就是正反解析文件中的问题
还有就是.记得加上去