192.168.1.100),避免动态IP变动导致解析失败。可通过nmcli或编辑网络配置文件(如/etc/sysconfig/network-scripts/ifcfg-ens33)设置:nmcli con mod ens33 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 192.168.1.100
nmcli con up ens33
example.com)及对应的主机记录(如www.example.com指向192.168.1.101、mail.example.com指向192.168.1.102)。Bind是CentOS下常用的DNS服务器软件,通过以下命令安装核心组件及工具:
yum install -y bind bind-utils
bind:DNS服务器主程序;bind-utils:包含nslookup、dig等DNS测试工具。named.conf编辑/etc/named.conf,调整以下关键参数:
vim /etc/named.conf
listen-on port 53和allow-query行,修改为:listen-on port 53 { any; }; # 监听所有IP的53端口
allow-query { any; }; # 允许所有客户端查询
listen-on-v6行的注释并修改为any。setenforce 0 # 临时关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 永久关闭
正向解析将域名映射到IP地址。
/etc/named.rfc1912.zones(或CentOS 7的/etc/named.conf内zone部分),添加:zone "example.com" IN {
type master; # 主DNS服务器
file "example.com.zone"; # 区域文件路径
allow-update { none; }; # 禁止动态更新
};
named.localhost)并修改:cd /var/named
cp -p named.localhost example.com.zone
vim example.com.zone
修改内容示例如下(注意域名末尾必须有.,表示绝对域名;IP末尾无.):$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2025100601 ; Serial(序列号,每次修改需递增)
3600 ; Refresh(刷新时间,单位:秒)
1800 ; Retry(重试时间)
1209600 ; Expire(过期时间)
86400 ) ; Minimum TTL(最小TTL)
@ IN NS ns1.example.com. ; 域名服务器记录
ns1 IN A 192.168.1.100 ; NS记录对应的IP
www IN A 192.168.1.101 ; www.example.com解析到192.168.1.101
mail IN A 192.168.1.102 ; mail.example.com解析到192.168.1.102
反向解析将IP地址映射到域名,用于邮件服务器等场景。
/etc/named.rfc1912.zones中添加:zone "1.168.192.in-addr.arpa" IN { # 反向区域名格式:反向IP段.in-addr.arpa
type master;
file "1.168.192.zone";
allow-update { none; };
};
cp -p named.loopback 1.168.192.zone
vim 1.168.192.zone
修改内容示例如下:$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2025100601 ; Serial
3600 ; Refresh
1800 ; Retry
1209600 ; Expire
86400 ) ; Minimum TTL
@ IN NS ns1.example.com.
100 IN PTR ns1.example.com. ; 192.168.1.100反向解析到ns1.example.com
101 IN PTR www.example.com. ; 192.168.1.101反向解析到www.example.com
102 IN PTR mail.example.com. ; 192.168.1.102反向解析到mail.example.com
在重启服务前,务必检查配置文件是否有语法错误:
named-checkconf # 检查主配置文件
named-checkzone example.com /var/named/example.com.zone # 检查正向区域文件
named-checkzone 1.168.192.in-addr.arpa /var/named/1.168.192.zone # 检查反向区域文件
若输出无错误,则可继续。
systemctl start named # 启动服务
systemctl enable named # 设置开机自启
systemctl status named # 查看服务状态(确保为“active (running)”)
192.168.1.100)。nslookup工具验证:nslookup www.example.com 192.168.1.100 # 正向解析
nslookup 192.168.1.101 192.168.1.100 # 反向解析
若返回对应的域名或IP,则说明配置成功。netstat -tulnp | grep 53),若有冲突,停止占用进程或修改DNS端口(不推荐)。setsebool -P named_write_master_zones 1 # 允许named写入区域文件
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload