我正在尝试使用 Bind 为我的域设置 DNS 服务器。对于非自定义域(如google.com
或 ) ,服务器的行为正常github.com
,但对于我的域,它总是返回“SERVFAIL”。我已经使用区域文件检查了它,named-checkzone
它返回“OK”。
我的区域配置(定义在named.conf.local
):
zone "michlfranken" {
type master;
file "/var/cache/bind/db.isiko404.dev";
};
我的选项文件:
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
forwarders {
80.241.218.68;
46.182.19.48;
};
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation yes;
listen-on-v6 { any; };
listen-on { any; };
};
答案1
NS 记录的 RHS(右侧)不能是 CNAME,它必须是规范名称,定义为 A 和 AAA 记录之一或两者。描述如下:在 DNS 中,IN NS 可以指向 CNAME 吗?
这是您的 NS 记录:
vesemir:~> dig @81.169.234.207 isiko404.dev ns +short
h2869709.stratoserver.net.
dns.isiko404.dev.
这是您的 dns.isiko404.dev 记录:
vesemir:~> dig @81.169.234.207 dns.isiko404.dev +norecurse +noall +answer
dns.isiko404.dev. 21600 IN CNAME s1.isiko404.dev.
s1.isiko404.dev. 21600 IN A 81.169.234.207
现在,子句中的名称zone
应该是您的区域名称,我猜它是“isiko404.dev”,而不是“michlfranken”。
我必须说我很困惑为什么我可以查询您的服务器却看不到错误。