我对这一切都不熟悉,我想创建一个名为“example.net”的新区域。我希望这个域与我当前虚拟机的 IP 地址 192.168.1.4 互连。当我运行以下命令时:
sudo nslookup example.net localhost
它返回一条错误消息:
Server: localhost
Address: 127.0.0.1#53
** server can't find www.example.net: SERVFAIL
问题是什么?字符“@”代表什么?谢谢!
/etc/bind/db.example.net
;
; example.net
;
$TTL 604800
@ IN SOA ns1.example.net root.example.net (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.example.net
@ IN A 192.168.1.4
ns1 IN A 192.168.1.4
/etc/bind/named.conf.local
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "example.net" {
type master;
file "/etc/bind/db.example.net";
};
答案1
我忘了在域名末尾添加根域 (.)。例如 ns1.example.net。
答案2
首先尝试重新加载 Bind 的配置rndc reload
或重新启动 Bind 服务。检查日志中/var/log
是否有任何错误。
我发现的一件事是:
@ IN NS ns1.example.net
尝试将其更改为:
@ IN NS ns1.example.net.
注意 FQDN 末尾的“。”。
@ 表示其后的 DNS 记录其余部分适用于 FQDN 本身,即 example.net,而不是 www.example.net。