CentOS域名DNS设置方法
导读:一、准备工作 在CentOS上设置域名DNS前,需完成以下基础准备: 确保系统已更新至最新版本:sudo yum update -y; 安装BIND(DNS服务器软件)及工具包:sudo yum install bind bind-uti...
一、准备工作 在CentOS上设置域名DNS前,需完成以下基础准备:
- 确保系统已更新至最新版本:
sudo yum update -y
; - 安装BIND(DNS服务器软件)及工具包:
sudo yum install bind bind-utils -y
(bind
为核心服务,bind-utils
提供nslookup
、dig
等测试工具)。
二、配置DNS主配置文件
BIND的主配置文件为/etc/named.conf
,需修改以下关键参数:
- 允许监听所有IP地址(若需对外提供服务):在
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地址映射为域名,适用于邮件服务器等场景,步骤如下:
- 在主配置文件中添加反向区域定义:假设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服务
- 启动BIND服务:
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
; - 检查解析结果:若返回对应的IP地址或域名,则说明配置成功。
八、客户端配置(可选) 若其他设备需通过该DNS服务器解析域名,需修改客户端的DNS设置:
- CentOS客户端:编辑
/etc/resolv.conf
,添加nameserver < DNS服务器IP>
(如nameserver 192.168.1.100
); - Windows客户端:进入“网络设置”→“DNS服务器”,添加对应的IP地址。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS域名DNS设置方法
本文地址: https://pptw.com/jishu/717305.html