一、准备工作 在CentOS上设置域名DNS前,需完成以下基础准备:
sudo yum update -y;sudo yum install bind bind-utils -y(bind为核心服务,bind-utils提供nslookup、dig等测试工具)。二、配置DNS主配置文件
BIND的主配置文件为/etc/named.conf,需修改以下关键参数:
options块中添加listen-on port 53 { any; };;allow-query { any; };;recursion yes;;三、创建正向解析区域 正向解析将域名映射为IP地址,步骤如下:
/etc/named.conf中新增以下内容(以example.com为例):zone "example.com" IN {
type master; # 区域类型(主服务器)
file "/var/named/example.com.zone"; # 区域文件路径
allow-update { none; }; # 禁止动态更新(生产环境建议设为none)
};
sudo vi /var/named/example.com.zone,添加以下内容(需替换为实际IP):$TTL 86400 # 记录生存时间(1天)
@ IN SOA ns1.example.com. admin.example.com. ( # SOA记录(起始授权机构)
2025092601 ; Serial # 序列号(每次修改需递增)
3600 ; Refresh # 刷新时间(1小时)
1800 ; Retry # 重试时间(30分钟)
604800 ; Expire # 过期时间(1周)
86400 ) ; Minimum TTL # 最小TTL(1天)
@ IN NS ns1.example.com. # NS记录(域名服务器)
@ IN A 192.168.1.100 # A记录(域名→IP)
ns1 IN A 192.168.1.100 # 域名服务器自身的A记录
www IN A 192.168.1.101 # www子域名的A记录
mail IN A 192.168.1.102 # mail子域名的A记录
sudo chown named:named /var/named/example.com.zone(确保BIND用户拥有所有权);sudo named-checkzone example.com /var/named/example.com.zone,若无错误则说明配置正确。四、配置反向解析(可选) 反向解析将IP地址映射为域名,适用于邮件服务器等场景,步骤如下:
192.168.1.0/24,添加以下内容:zone "1.168.192.in-addr.arpa" IN { # 反向区域名(IP段反转+in-addr.arpa)
type master;
file "/var/named/192.168.1.rev";
allow-update { none; };
};
sudo vi /var/named/192.168.1.rev,添加以下内容:$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2025092601 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 )
@ IN NS ns1.example.com.
100 IN PTR example.com. # 192.168.1.100的反向解析
101 IN PTR www.example.com. # 192.168.1.101的反向解析
102 IN PTR mail.example.com. # 192.168.1.102的反向解析
sudo named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.rev。五、启动并启用DNS服务
sudo systemctl start named;sudo systemctl enable named;sudo systemctl status named(若显示“active (running)”则表示启动成功)。六、配置防火墙 允许DNS流量(UDP/TCP 53端口)通过防火墙:
sudo firewall-cmd --permanent --add-service=dns # 永久添加dns服务
sudo firewall-cmd --reload # 重新加载防火墙规则
七、测试DNS解析 使用以下命令验证配置是否生效:
nslookup example.com 或 dig @localhost example.com;nslookup 192.168.1.100 或 dig -x 192.168.1.100 @localhost;八、客户端配置(可选) 若其他设备需通过该DNS服务器解析域名,需修改客户端的DNS设置:
/etc/resolv.conf,添加nameserver <DNS服务器IP>(如nameserver 192.168.1.100);