CentOS 域名跨平台兼容的落地方案
一、目标与总体思路
二、在 CentOS 上搭建可被各平台使用的权威 DNS
yum install -y bind bind-utils(可选:bind-chroot 提升安全)。/etc/named.conf,开放监听与查询:
listen-on port 53 { any; }; allow-query { any; }; recursion yes;zone "." IN { type hint; file "named.ca"; }; 与业务区 include "/etc/named.rfc1912.zones";/etc/named.rfc1912.zones 增加业务域,例如 example.test:
zone "example.test" IN { type master; file "example.test.zone"; };/var/named/example.test.zone 放置记录(示例):$TTL 1D
@ IN SOA ns.example.test. admin.example.test. (
2024121501 ; serial
1H ; refresh
15M ; retry
1W ; expire
1D ) ; minimum
IN NS ns.example.test.
ns IN A 192.168.10.10
web IN A 192.168.10.20
www IN CNAME web.example.test.
mail IN A 192.168.10.30
IN MX 10 mail.example.test.
named-checkconf && named-checkzone example.test /var/named/example.test.zone,随后 systemctl start named && systemctl enable named。firewall-cmd --add-service=dns --permanent && firewall-cmd --reload(或放行 UDP/TCP 53 端口)。三、各平台客户端统一指向与验证
echo "nameserver 192.168.10.10" > /etc/resolv.confifcfg-ens* 中加入 DNS1=192.168.10.10,或使用 nmcli con mod <id> ipv4.dns "192.168.10.10" 后 nmcli con up <id>。nslookup www.example.test、nslookup -type=MX example.test 验证。dig www.example.test +short、dig mx example.test +short 验证。example.test 及其子域名的解析结果一致;邮件客户端可依据 MX 记录找到 mail.example.test。四、跨平台兼容的关键细节与排错
/etc/hosts 的局限
dig、部分语言的解析库)默认直接查询 DNS,不会读取 /etc/hosts;跨平台一致性差。VirtualHost 或 Nginx 的 server 块),确保不同域名(含 CNAME 指向)落到同一或不同后端一致可用。dig @192.168.10.10 example.test ANY +short、nslookup www.example.test、named-checkconf、named-checkzone <zone> <file>、firewall-cmd --list-ports。