安装BIND软件包,修改配置文件设置正反向解析区域并
配置DNS服务器详细指南
DNS服务器
DNS(Domain Name System)是互联网的核心服务之一,负责将域名解析为IP地址,配置DNS服务器需要理解正向解析、反向解析、区域文件等概念,本文以Linux系统(CentOS/RHEL)为例,详细说明配置过程。
前期准备工作
| 项目 | 说明 |
|---|---|
| 操作系统 | CentOS 7+/RHEL 7+/Ubuntu 20.04+ |
| 软件包 | bind(Berkeley Internet Name Domain) |
| 网络环境 | 固定IP地址(建议使用内网保留地址) |
| 域名 | 需提前注册或申请测试域名(如example.com) |
安装DNS服务
# CentOS/RHEL yum install y bind bindutils # Ubuntu/Debian aptget install y bind9 bind9utils bind9doc
检查防火墙配置
# 开放TCP/UDP 53端口 firewallcmd permanent addservice=dns firewallcmd reload
配置主配置文件(named.conf)
主配置文件路径:/etc/named.conf(CentOS)或 /etc/bind/named.conf(Ubuntu)
| 参数 | 作用 | 示例值 |
|---|---|---|
listenon |
监听IP地址 | listenon port 53 { 192.168.1.10; }; |
allowquery |
允许查询的客户端 | allowquery { any; }; |
recursion |
是否启用递归查询 | recursion yes; |
forwarders |
转发器配置 | forwarders { 8.8.8.8; }; |
配置正向解析区域
定义区域文件
编辑 /etc/named.rfc1912.zones(CentOS)或创建 /etc/bind/db.example.com(Ubuntu):
$TTL 86400 ; 生存时间(秒)
@ IN SOA ns1.example.com. admin.example.com. (
2023100101 ; 序列号
3600 ; 刷新时间
1800 ; 重试时间
1200 ; 过期时间
86400 ) ; 最小TTL
IN NS ns1.example.com.
IN NS ns2.example.com.
ns1 IN A 192.168.1.10
ns2 IN A 192.168.1.11
www IN A 192.168.1.20
关联区域文件
在 named.conf 中添加:

zone "example.com" {
type master;
file "db.example.com";
allowupdate { none; };
};
配置反向解析区域
创建反向解析文件
例如为 168.1.0/24 网段创建 /etc/bind/db.192.168.1:
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2023100101 ; 序列号
3600 ; 刷新时间
1800 ; 重试时间
1200 ; 过期时间
86400 ) ; 最小TTL
IN NS ns1.example.com.
IN NS ns2.example.com.
10 IN PTR ns1.example.com.
20 IN PTR www.example.com.
关联反向区域
在 named.conf 中添加:
zone "1.168.192.inaddr.arpa" {
type master;
file "db.192.168.1";
allowupdate { none; };
};
配置辅助DNS服务器
同步区域文件
将主服务器的 db.example.com 和 db.192.168.1 文件复制到辅助服务器的相同路径。

修改配置文件
在辅助服务器的 named.conf 中设置:
zone "example.com" {
type slave;
masters { 192.168.1.10; };
file "db.example.com";
};
测试与验证
启动服务
# CentOS/RHEL systemctl start named systemctl enable named # Ubuntu/Debian systemctl start bind9 systemctl enable bind9
测试工具
- nslookup:交互式查询工具
nslookup www.example.com 192.168.1.10
- dig:命令行查询工具
dig x 192.168.1.20 @192.168.1.10
检查日志
查看 /var/log/messages(CentOS)或 /var/log/syslog(Ubuntu)中的DNS服务日志。
常见问题与优化
| 问题 | 解决方案 |
|---|---|
| 解析失败 | 检查named.conf语法(namedcheckconf)和区域文件(namedcheckzone) |
| 递归查询超时 | 调整retry和timeout参数,或增加转发器 |
| 负载均衡 | 配置多个A记录或使用轮询(ROUND ROBIN) |
相关问题与解答
Q1:如何将辅助DNS服务器升级为主服务器?
A1:

- 停止辅助服务器的DNS服务
- 修改
named.conf,将type slave改为type master - 编辑区域文件,修改SOA记录中的
Serial值(递增) - 重启服务并测试解析
- 更新其他辅助服务器的配置指向新主服务器
Q2:为什么客户端无法解析域名?
A2:
可能原因及排查步骤:
- 服务未启动:检查
systemctl status named状态 - 防火墙拦截:确认53端口已开放
- 配置错误:使用
namedcheckconf和namedcheckzone检查配置文件 - 客户端设置:检查
/etc/resolv.conf是否指向正确的DNS服务器IP - 网络连通性:通过
ping和telnet测试
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/217966.html