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

在Linux Centos7上部署DNS服务——主从架构

环境规划

基于Linux CentOS7.9
主DNS服务器 19.16.2.128
从DNS服务器 19.16.2.129
域名 fanzc.com
www A记录 19.16.2.13019.16.2.131
MX邮件 19.16.2.132
配置forward转发 8.8.8.8 实现上外网解析

安装服务以及插件(两台计算机)

yum-yinstallbindbind-chroot bind-utils

【主服务器】

编辑主配置文件 /etc/named.conf

首先备份配置文件

cp-av/etc/named.conf /opt/named.conf_fanzc_20260513_v1.1.1.bak

将下列配置写入配置文件

完整覆盖内容(直接复制):

cat>/etc/named.conf<<'EOF' options { listen-on port 53 { 127.0.0.1; 19.16.2.128; }; 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; }; forwarders { 8.8.8.8; 114.114.114.114; }; forward first; recursion yes; dnssec-enable no; dnssec-validation no; 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 "fanzc.com" IN { type master; file "fanzc.com.zone"; allow-transfer { 19.16.2.129; }; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; EOF

检查配置文件语法

named-checkconf-z/etc/named.conf

创建域名区域文件

cd/var/namedcp-avnamed.localhost fanzc.com.zonechownroot:named fanzc.com.zonechmod640fanzc.com.zone

编辑:

vimfanzc.com.zone

完整内容(直接复制):

$TTL1D @ IN SOA ns.fanzc.com. admin.fanzc.com.(0;serial 1D;refresh 1H;retry 1W;expire 3H);minimum @ IN NS ns.fanzc.com. ns IN A19.16.2.128 @ IN MX10mail.fanzc.com. mail IN A19.16.2.132 www IN A19.16.2.130 www IN A19.16.2.131

防火墙放行

firewall-cmd--permanent--add-service=dns firewall-cmd--reload

启动并开机自启

systemctl start named systemctlenablenamed systemctl status named

测试(主DNS)

本机测试

nslookupwww.fanzc.com19.16.2.128nslookupmail.fanzc.com19.16.2.128nslookupwww.baidu.com19.16.2.128

测试结果如下:

[root@localhost named]# nslookup www.fanzc.com 19.16.2.128Server:19.16.2.128 Address:19.16.2.128#53Name: www.fanzc.com Address:19.16.2.130 Name: www.fanzc.com Address:19.16.2.131[root@localhost named]# nslookup mail.fanzc.com 19.16.2.128Server:19.16.2.128 Address:19.16.2.128#53Name: mail.fanzc.com Address:19.16.2.132[root@localhost named]# nslookup www.baidu.com 19.16.2.128Server:19.16.2.128 Address:19.16.2.128#53Non-authoritative answer: Name: www.baidu.com Address:39.156.70.46 Name: www.baidu.com Address:39.156.70.239 Name: www.baidu.com Address:2409:8c00:6c21:118b:0:ff:b0e8:f003 Name: www.baidu.com Address:2409:8c00:6c21:11eb:0:ff:b0bf:59ca

【从服务器】

编辑主配置 /etc/named.conf

cp-av/etc/named.conf /opt/named.conf_fanzc20260513xxxx_v1.1.1.bakvim/etc/named.conf

完整覆盖配置文件内容:

options{listen-on port53{127.0.0.1;19.16.2.129;};listen-on-v6 port53{::1;};directory"/var/named";allow-query{any;};forwarders{8.8.8.8;114.114.114.114;};forward first;recursionyes;dnssec-enable no;dnssec-validation no;};zone"."IN{typehint;file"named.ca";};zone"fanzc.com"IN{typeslave;file"slaves/fanzc.com.zone";masters{19.16.2.128;};};include"/etc/named.rfc1912.zones";include"/etc/named.root.key";

防火墙放行

firewall-cmd--permanent--add-service=dns firewall-cmd--reload

启动服务

systemctl start named systemctlenablenamed

测试(从DNS)

nslookupwww.fanzc.com19.16.2.129nslookupmail.fanzc.com19.16.2.129nslookupwww.baidu.com19.16.2.129

测试结果如下:

[root@localhost ~]# nslookup www.fanzc.com 19.16.2.129Server:19.16.2.129 Address:19.16.2.129#53Name: www.fanzc.com Address:19.16.2.131 Name: www.fanzc.com Address:19.16.2.130[root@localhost ~]# nslookup mail.fanzc.com 19.16.2.129Server:19.16.2.129 Address:19.16.2.129#53Name: mail.fanzc.com Address:19.16.2.132[root@localhost ~]# nslookup www.baidu.com 19.16.2.129Server:19.16.2.129 Address:19.16.2.129#53Non-authoritative answer: Name: www.baidu.com Address:39.156.70.239 Name: www.baidu.com Address:39.156.70.46 Name: www.baidu.com Address:2409:8c00:6c21:11eb:0:ff:b0bf:59ca Name: www.baidu.com Address:2409:8c00:6c21:118b:0:ff:b0e8:f003

DNS服务的主从架构

【主服务器】

主配置文件


第32行为类型,master代表主机
第33行表示地址库文件名称
第34行表示允许从服务器从主服务器传输地址库文件

地址库文件

在之前的地址库文件中做出修改:


第3行:
这是该区域文件的版本号。通常采用 YYYYMMDDNN 的格式(年月日序号)。例如 2026051301 表示 2026 年 5月 13 日第 1次修改。
作用:从服务器(Slave)会定期检查主服务器(Master)的这个数字。如果从服务器发现主服务器的序列号比自己大,就会判定数据已更新,从而触发区域传输(Zone Transfer),下载新的数据。
关键点:每次修改区域文件后,必须手动增加这个数字,否则从服务器会认为数据没有变化,不会同步更新。

重启服务

systemctl restart named

【从服务器】

修改从服务器配置文件


添加以下内容,保证同步过来的地址库文件明文显示,否则是密文乱码显示:

masterfile-format text;

写入DNS服务器到/etc/resolv/conf

echo'nameserver 19.16.2.128'>/etc/resolv.conf

重启服务

systemctl restart named

查看是否从主服务器同步了地址库


成功同步

http://www.jsqmd.com/news/818145/

相关文章:

  • 竹荪哪家好:此山中野生菌纯净优质 - 13425704091
  • NVIDIA Profile Inspector:解锁显卡隐藏性能的终极调校工具
  • AI智能体技能库设计:模块化、安全与编排实战
  • 状态模式与动作类解耦:嵌入式状态机设计进阶实践
  • 如何永久保存微信聊天记录:WeChatMsg三步导出完整指南
  • On - Policy 蒸馏黑箱解剖:为何「名师」难出「高徒」?
  • Claude最新金融智能体模板到底能做什么?一文看懂真实业务场景
  • 见手青哪家好:此山中野生菌安全靠谱 - 19120507004
  • VL53L0X V2激光测距模块的三种工作模式实测:高速、高精度、长距离,到底怎么选?
  • 多模型混战时代:依据任务权重做好模型资源最优分配
  • 2串3串锂电池快充芯片XSP36筋膜枪产品应用
  • 2026年AI原型工具下半场:从“生成界面“到“设计即代码“
  • 双胞胎兄弟被解雇后删96个政府数据库,后续审判及公司失误曝光
  • 构建现代化第三方API客户端:从设计原则到TypeScript实践
  • 3分钟快速上手:Python金融数据自动化的终极解决方案
  • 如何高效解锁艾尔登法环帧率限制:专业玩家的完整配置指南
  • 开发容器Dev Container实战:一键构建跨平台统一开发环境
  • 高光谱图像处理技术 || 从入门到实践:数据、代码与应用
  • CoPaw:构建个人AI助手工作站,打通钉钉飞书实现自动化
  • Python驱动RoboClaw运动控制器:从串口协议到机器人精准控制实战
  • DownGit:3分钟掌握GitHub精准下载的终极解决方案
  • Claude code 如何进行联网搜索
  • 如何在3分钟内掌握Blender超级复制粘贴:让3D资产导入导出效率提升500%
  • 从原理到实践:双目视觉深度感知全流程解析与工程实现
  • c++类派生2
  • 英文论文怎么降AI?实测从88%降至20%的5大方法(附工具实测)
  • 电子签章厂商必须要有 CA 牌照吗?—— 基于法律与行业现实的深度辨析
  • 2026 成都专业 GEO 优化公司甄选|权威测评 5 家标杆服务商 - GEO优化
  • 大模型调用效率翻倍:Token 聚合平台到底有多好用,一篇讲透
  • 开放标准如何加速多媒体设备开发:从接口契约到端到端实践