在CentOS Minimal系统下配置DNS服务,通常会选择使用BIND(Berkeley Internet Name Domain)软件。以下是详细的步骤指南:
首先,你需要安装BIND软件包。你可以使用以下命令来安装:
sudo yum install bind bind-utils -y
安装完成后,你需要编辑BIND的主配置文件/etc/named.conf。你可以使用以下命令来编辑:
sudo vi /etc/named.conf
在named.conf文件中,你可以配置区域文件、访问控制列表(ACL)等。以下是一个基本的配置示例:
options {
directory "/var/named";
listen-on { any; };
listen-on-v6 { any; };
allow-query { any; };
recursion yes;
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
};
zone "example.com" IN {
type master;
file "/var/named/zones/db.example.com"; # zone file path
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "/var/named/zones/db.192.168.1"; # reverse zone file path
allow-update { none; };
};
根据你在named.conf中配置的区域,创建相应的区域文件。
/var/named/zones/db.example.com)sudo vi /var/named/zones/db.example.com
内容示例:
$TTL 604800
@ IN SOA ns1.example.com. admin.example.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.example.com.
@ IN A 192.168.1.1
ns1 IN A 192.168.1.1
www IN A 192.168.1.1
/var/named/zones/db.192.168.1)sudo vi /var/named/zones/db.192.168.1
内容示例:
$TTL 604800
@ IN SOA ns1.example.com. admin.example.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.example.com.
1 IN PTR example.com.
1 IN PTR ns1.example.com.
1 IN PTR www.example.com.
在重新启动BIND服务之前,检查配置文件是否有语法错误:
sudo named-checkconf
sudo named-checkzone example.com /var/named/zones/db.example.com
sudo named-checkzone 1.168.192.in-addr.arpa /var/named/zones/db.192.168.1
如果配置文件没有问题,重启BIND服务以应用更改:
sudo systemctl restart named
确保防火墙允许DNS流量(通常是UDP和TCP的53端口):
sudo firewall-cmd --permanent --add-service=dns
sudo firewall-cmd --reload
使用dig或nslookup命令测试DNS解析是否正常:
dig @localhost example.com
nslookup example.com
通过以上步骤,你应该能够在CentOS Minimal系统下成功配置DNS服务。