![在 BIND 区域文件中添加 CNAME 记录](https://linux22.com/image/1557235/%E5%9C%A8%20BIND%20%E5%8C%BA%E5%9F%9F%E6%96%87%E4%BB%B6%E4%B8%AD%E6%B7%BB%E5%8A%A0%20CNAME%20%E8%AE%B0%E5%BD%95.png)
我已经使用 virtualbox 设置了虚拟专用网络,DNS 服务器名为:dns1.xyz1.com
。我有一个名为: 的 Web 服务器xyz1.com
。
我想使用我的 DNS 服务器来解析网站的 IP 地址。我配置了正向区域文件,如下所示:
$TTL 604800
@ IN SOA dns1.xyz1.com. admin.xyz1.com. (
13 ; Serial
604820 ; Refresh
86600 ; Retry
2419600 ; Expire
604600 ) ; Negative Cache TTL
; name servers - NS records
IN NS dns1.xyz1.com.
IN NS dns2.xyz1.com.
; name servers - A records
dns1.xyz1.com. IN A 192.168.56.13
dns2.xyz1.com. IN A 192.168.56.15
; 192.168.56.0/24 - A records
host1.xyz1.com. IN A 192.168.56.17
xyz1.com. IN CNAME host1.xyz1.com.
host1.xyz1.com. IN TXT "some text"
host2.xyz1.com. IN A 192.168.56.18
在我添加 CNAME 记录之前,我能够输入:https://host1.xyz1.com
然后浏览器会将我转移到正确的 Web 服务器。
在我添加了 CNAME 记录之后(我想让浏览器也翻译https://xyz1.com
到同一个网站https://host1.xyz1.com
),但不幸的是,在添加如下所示的 CNAME 行之后,没有任何地址打开所需的 Web 服务器:既没有:https://xyz1.com
也没有 https://host1.xyz1.com
。
xyz1.com. IN CNAME host1.xyz1.com.
仅供参考,以下是named.conf.local
文件内容:
zone "xyz1.com" {
type master;
file "/etc/bind/forward.xyz1.com";
};
zone "56.168.192.in-addr.arpa"{
type master;
file "/etc/bind/reverse.xyz1.com";
};
底线是:
我想使用不同的名称访问同一个网络服务器(同一个 IP): 或https://xyz1.com
。https://host1.xyz1.com
你能告诉我我的 CNAME 记录有什么问题吗?我该如何修复它?
编辑:
谢谢您的回答。但问题仍然存在。我无法解析此地址:xyz.com,我需要使用名称指向特定服务器:xyz.com
和host1.xyz.com
。
根据一些答案,我更新了配置文件的这一部分:
; 192.168.56.0/24 - A records
@ IN A 192.168.56.7
host1.xyz1.com. IN CNAME xyz1.com.
host1.xyz1.com. IN TXT "text here"
有一个可 ping 的 Web 服务器,其 IP 为:192.168.56.7
我希望 和xyz1.com
都host1.xyz1.com
指向它。如何实现?
答案1
答案2
您做反了。不要将域名设置为子域的 CNAME。将子域 (host1) 设置为域 (xyz1.com) 的 CNAME。
使用@表示根域(xyz1.com):
;192.168.56.0/24 - A records
@ IN A 192.168.56.17
host1.xyz1.com. IN CNAME xyz1.com.
host2.xyz1.com. IN A 192.168.56.18