这是我的配置(正在运行named
)centos
。
/etc/named.conf
options {
## path to zone files ##
directory "/var/named";
## forward non-local to google ##
forwarders { 8.8.8.8; };
};
zone "gallactica.lab" IN {
type master;
file "named.gallactica.lab";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "rz-192-168-1";
allow-update { none; };
};
/var/named/named.gallacica.lab
$TTL 1D
@ IN SOA ns1.gallactica.lab. admin.gallactica.lab. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.gallactica.lab.
IN A 192.168.1.105
ns1 IN A 192.168.1.105
proxmox IN A 192.168.1.180
/var/命名/rz-192-168-1
$TTL 1D
@ IN SOA ns1.gallactica.lab. admin.gallactica.lab. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns1.gallactica.lab.
105 IN PTR ns1.gallactica.lab.
180 IN PTR proxmox.gallactica.lab.
我的 DNS 服务器ns1.gallactica.lab
地址为192.168.1.105
。
我尝试重新启动服务时收到的错误named
是:
Jan 19 20:18:10 ns1.gallactica.lab named-checkconf[6469]: zone 1.168.192.in-addr.arpa/IN: not loaded due to errors.
Jan 19 20:18:10 ns1.gallactica.lab named-checkconf[6469]: _default/1.168.192.in-addr.arpa/IN: bad zone
Jan 19 20:18:10 ns1.gallactica.lab named-checkconf[6469]: zone localhost.localdomain/IN: loaded serial 0
Jan 19 20:18:10 ns1.gallactica.lab named-checkconf[6469]: zone localhost/IN: loaded serial 0
Jan 19 20:18:10 ns1.gallactica.lab named-checkconf[6469]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0....ial 0
Jan 19 20:18:10 ns1.gallactica.lab named-checkconf[6469]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
Jan 19 20:18:10 ns1.gallactica.lab named-checkconf[6469]: zone 0.in-addr.arpa/IN: loaded serial 0
Jan 19 20:18:10 ns1.gallactica.lab systemd[1]: named.service: control process exited, code=exited status=1
Jan 19 20:18:10 ns1.gallactica.lab systemd[1]: Failed to start Berkeley Internet Name Domain (DNS).
Jan 19 20:18:10 ns1.gallactica.lab systemd[1]: Unit named.service entered failed state.
答案1
假设您在问题中重新格式化区域文件时保留了空白,NS
由于格式问题,区域顶部似乎没有记录,这导致区域为假。您还需要更正A
该名称服务器的相应记录。
- 您输入的内容:
IN NS ns1.gallactica.lab.
- 您希望它被解释为:
1.168.192.in-addr.arpa. IN NS ns1.gallactica.lab.
- 它的实际解释是:
IN.1.168.192.in-addr.arpa. IN NS ns1.gallactica.lab.
如果一行以空格开头,则假定标签(记录名称)与区域中的上一条记录相同。这是一种有用的简写,但如果在复制和粘贴之间丢失了开头的空格,则会产生可移植性问题。
附注:named-checkzone
当遇到此类问题时运行它很有用。(实际上,在任何区域文件修改之后)