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

CentOS 7 搭建 DNS 主从服务

CentOS 7 搭建 DNS 主从服务

1. 服务介绍

DNS 服务负责域名与 IP 地址之间的解析。企业内网常用 BIND 管理内部域名、主机记录和反向解析;主从架构可在主服务器故障时继续提供查询,并通过区域传送自动同步记录。

2. 准备运行环境

• 操作系统:CentOS 7.x。

• 主 DNS:10.1.100.101

• 从 DNS:10.1.100.102

• 示例域名:qwe.com

• 管理账号:root 或具备 sudo 权限的账号。

• 两台服务器网络互通,YUM 软件源可用。

3. 相关知识

• DNS 默认使用 UDP/TCP 53 端口;普通查询多使用 UDP,区域传送和较大响应可能使用 TCP。

• BIND 主配置文件是/etc/named.conf,区域声明常放在/etc/named.rfc1912.zones,区域数据文件默认位于/var/named

• 修改主区域文件后必须递增 SOA 序列号,否则从服务器可能不会同步。

• 主服务器应使用allow-transfer限制允许传送区域的从服务器地址。

• 配置完成后先运行named-checkconfnamed-checkzone,语法正确后再重启服务。

• 客户端测试应明确指定查询服务器,避免本地缓存或其他 DNS 服务器影响结果。

4. 实验步骤

4.1 安装软件

主从服务器都执行:

yum -y install bind bind-utils systemctl enable named

4.2 配置主服务器

备份并编辑/etc/named.conf

cp -a /etc/named.conf{,.bak} vi /etc/named.conf

允许服务器监听并响应实验网段查询:

listen-on port 53 { any; }; allow-query { any; };

/etc/named.rfc1912.zones中声明正向和反向区域:

zone "qwe.com" IN { type master; file "qwe.com.zone"; allow-update { none; }; allow-transfer { 10.1.100.102; }; }; zone "100.1.10.in-addr.arpa" IN { type master; file "10.1.100.zone"; allow-update { none; }; allow-transfer { 10.1.100.102; }; };

创建正向区域文件/var/named/qwe.com.zone

$TTL 1D @ IN SOA dns1.qwe.com. admin.qwe.com. ( 2026071201 1H 15M 1W 1D ) IN NS dns1.qwe.com. IN NS dns2.qwe.com. dns1 IN A 10.1.100.101 dns2 IN A 10.1.100.102

创建反向区域文件/var/named/10.1.100.zone

$TTL 1D @ IN SOA dns1.qwe.com. admin.qwe.com. ( 2026071201 1H 15M 1W 1D ) IN NS dns1.qwe.com. IN NS dns2.qwe.com. 101 IN PTR dns1.qwe.com. 102 IN PTR dns2.qwe.com.

修正权限并启动服务:

chown root:named /var/named/qwe.com.zone /var/named/10.1.100.zone chmod 640 /var/named/qwe.com.zone /var/named/10.1.100.zone named-checkconf named-checkzone qwe.com /var/named/qwe.com.zone named-checkzone 100.1.10.in-addr.arpa /var/named/10.1.100.zone systemctl restart named

客户端将 DNS 地址设置为主服务器后测试:

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

4.3 配置从服务器

编辑从服务器/etc/named.conf

listen-on port 53 { any; }; allow-query { any; };

/etc/named.rfc1912.zones中声明从区域:

zone "qwe.com" IN { type slave; masters { 10.1.100.101; }; file "slaves/qwe.com.zone"; }; zone "100.1.10.in-addr.arpa" IN { type slave; masters { 10.1.100.101; }; file "slaves/10.1.100.zone"; };

检查配置并启动服务:

named-checkconf systemctl restart named ls -l /var/named/slaves/

从服务器成功完成区域传送后,可在slaves目录看到同步生成的区域文件。

5. 验证结果

主服务器执行:

systemctl status named --no-pager ss -lunpt | grep ':53' dig @10.1.100.101 qwe.com SOA dig @10.1.100.101 dns1.qwe.com A dig @10.1.100.101 -x 10.1.100.102 journalctl -u named -n 50 --no-pager

从服务器执行:

systemctl status named --no-pager ls -l /var/named/slaves/ dig @10.1.100.102 qwe.com SOA dig @10.1.100.102 dns2.qwe.com A dig @10.1.100.102 -x 10.1.100.101 journalctl -u named -n 50 --no-pager

主从服务器返回相同 SOA 序列号,正向和反向记录均能查询,53 端口正常监听,说明 DNS 主从服务配置成功。

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

相关文章:

  • 我的本地化AI项目(三)
  • Claude 被封号,字节免费提供 GLM-5.2
  • 生产环境Socket编程落地实战指南(TCP/UDP工程化方案)
  • 百度网盘解析工具完整指南:三步告别限速困扰,实现高速下载自由
  • Ubuntu 20.04源码编译ROS2 Foxy实战指南
  • 等价类划分法实战:城市电话号码15个测试用例设计,覆盖4有效11无效
  • Prometheus Pushgateway v1.2.0 部署与配置:Kubernetes 集群 3 步集成实战
  • TPS61170与TM4C129XNCZAD的高效DC-DC升压方案解析
  • 高精度ADC选型与MCP3551应用指南
  • Android Studio完整界面汉化指南:5分钟实现IDE本地化终极方案
  • BepInEx框架解析:解决Unity插件开发三大痛点与实战优化
  • AI FDE 能力模型详解:从价值判断到资产复用的七项能力
  • 无血性者,难以为领
  • 读代码、修 Bug、补测试、写文档:四套拿来即用的工作流模板
  • ArcGIS Pro 3.2 三维地质建模:从钻孔数据到MultiPatch体模型的7步实战
  • 模板驱动型文档自动化:结构化组装替代手工写作
  • Tableau 自定义地理编码指南:解决 3 类无法识别位置数据的实战方案
  • IEEE 754 标准解析:从 32 位 float 到 64 位 double 的精度与范围对比
  • 电脑上的功能键到底都是干啥的?一篇文章教你使用功能键
  • Pixhawk固件加载全流程:从Bootloader刷写到飞行验证
  • ADS 2021 三大仿真模型导入实战:DesignKit/SNP/SPICE 的 3 种场景化应用
  • 从 HydroShear 93% Sim-to-Real 成功率看触觉数据标注工具的技术演进
  • C++实现KD-Tree:从原理到实战,解决多维空间最近邻搜索难题
  • 告别GRC繁琐配置!LabVIEW+Lime SDR让信号采集吞吐量飙升5倍
  • Sqribble:轻量级文档工业化流水线解析
  • Perplexity搜索响应慢、信息冗余、来源模糊?紧急修复的4个实时调优参数(2024 Q2最新API行为分析)
  • Node-gyp v10 环境配置:Windows/macOS/Linux 三平台 Python 3.12 路径设置 3 步法
  • 从零实现C++哈希表:核心原理、冲突解决与性能优化实战
  • 使用WinDbg诊断C++安装程序线程堵塞与安全软件冲突问题
  • 直流有刷电机控制系统设计与H桥驱动器应用