出于某种原因,当我执行nslookup router
或nslookup KLAMESERVER
为我的 router.Klamenick.com 或 KLAMESERVER.Klamenick.com 内部域执行此操作时,它总是显示:
Server: 192.168.0.2
Address: 192.168.0.2#53
** server can't find router.Klamenick.com: SERVFAIL
我检查了我配置的所有文档,以检查我的域名后面是否有句点,结果确实有。一定是别的原因。
以下是我配置的文件:
/etc/bind/named.conf.options
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 {
8.8.8.8;
8.8.8.4;
};
//========================================================================
// 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 auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
/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 "Klamenick.com" {
type master;
file "/etc/bind/db.Klamenick.com";
};
zone "0.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192";
};
/etc/bind/db.Klamenick.com
;
BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA KLAMESERVER.Klamenick.com. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS KLAMESERVER.Klamenick.com.
@ IN A 127.0.0.1
@ IN AAAA ::1
; Below are A record Addresses
router IN A 192.168.0.1
server IN A 192.168.0.2
; Below are CNAME Record Addresses (Aliases) - Point to an A Record Address
server1 IN CNAME KLAMESERVER.Klamenick.com.
router1 IN CNAME router.Klamenick.com.
/etc/bind/db.192
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA KLAMESERVER.Klamenick.com. root.localhost. ((
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost.
1 IN PTR router.Klamenick.com.
2 IN PTR KLAMESERVER.Klamenick.com.
/etc/resolv.conf
nameserver 192.168.0.2
search Klamenick.com
domain Klamenick.com
有人知道发生什么事了吗?
答案1
我还没有研究细节,但问题出在这一行:
dnssec-validation auto;
看来 16.04 版的 bind9 默认启用了 dnssec-validation。切换到:
dnssec-validation no;
应该可以解决问题。