观察下面的错误时,尝试启动虚拟linux pc中的DNS服务
[root@mininat ~]# service named status Redirecting to /bin/systemctl status named.service named.service - Berkeley Internet Name Domain (DNS) Loaded: loaded (/usr/lib/systemd/system/named.service; disabled) Active: failed (Result: exit-code) since Wed 2015-03-04 03:36:40 EST; 1min 58s ago Process: 6135 ExecStartPre=/usr/sbin/named-checkconf -z /etc/named.conf (code=exited, status=1/FAILURE) Process: 6133 ExecStartPre=/usr/libexec/generate-rndc-key.sh (code=exited, status=0/SUCCESS) Mar 04 03:36:40 mininat.benunets.com named-checkconf[6135]: _default/benu123.com/IN: unexpected end of input Mar 04 03:36:40 mininat.benunets.com named-checkconf[6135]: zone localhost.localdomain/IN: loaded serial 2010052601 Mar 04 03:36:40 mininat.benunets.com named-checkconf[6135]: zone localhost/IN: loaded serial 2010052601 Mar 04 03:36:40 mininat.benunets.com named-checkconf[6135]: 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.0.ip6.arpa/IN: loaded serial 0 Mar 04 03:36:40 mininat.benunets.com named-checkconf[6135]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0 Mar 04 03:36:40 mininat.benunets.com named-checkconf[6135]: zone 0.in-addr.arpa/IN: loaded serial 0 Mar 04 03:36:40 mininat.benunets.com systemd[1]: named.service: control process exited, code=exited status=1 Mar 04 03:36:40 mininat.benunets.com systemd[1]: Failed to start Berkeley Internet Name Domain (DNS). Mar 04 03:36:40 mininat.benunets.com systemd[1]: Unit named.service entered failed state. Mar 04 03:38:36 mininat.benunets.com systemd[1]: Stopped Berkeley Internet Name Domain (DNS). [root@mininat ~]# service named start Redirecting to /bin/systemctl start named.service Job for named.service failed. See 'systemctl status named.service' and 'journalctl -xn' for details. [root@mininat ~]# service named status Redirecting to /bin/systemctl status named.service named.service - Berkeley Internet Name Domain (DNS) Loaded: loaded (/usr/lib/systemd/system/named.service; disabled) Active: failed (Result: exit-code) since Wed 2015-03-04 03:38:44 EST; 2s ago Process: 6309 ExecStartPre=/usr/sbin/named-checkconf -z /etc/named.conf (code=exited, status=1/FAILURE) Process: 6306 ExecStartPre=/usr/libexec/generate-rndc-key.sh (code=exited, status=0/SUCCESS) Mar 04 03:38:44 mininat.benunets.com named-checkconf[6309]: zone benu123.com/IN: not loaded due to errors. Mar 04 03:38:44 mininat.benunets.com named-checkconf[6309]: _default/benu123.com/IN: unexpected end of input Mar 04 03:38:44 mininat.benunets.com named-checkconf[6309]: zone localhost.localdomain/IN: loaded serial 2010052601 Mar 04 03:38:44 mininat.benunets.com named-checkconf[6309]: zone localhost/IN: loaded serial 2010052601 Mar 04 03:38:44 mininat.benunets.com named-checkconf[6309]: 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.0.ip6.arpa/IN: loaded serial 0 Mar 04 03:38:44 mininat.benunets.com named-checkconf[6309]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0 Mar 04 03:38:44 mininat.benunets.com named-checkconf[6309]: zone 0.in-addr.arpa/IN: loaded serial 0 Mar 04 03:38:44 mininat.benunets.com systemd[1]: named.service: control process exited, code=exited status=1 Mar 04 03:38:44 mininat.benunets.com systemd[1]: Failed to start Berkeley Internet Name Domain (DNS). Mar 04 03:38:44 mininat.benunets.com systemd[1]: Unit named.service entered failed state.
请在下面find我的区域文件
[root@mininat ~]# vi /var/named/benu123.com $TTL 86400 @ IN SOA benu123.com. root( 2010052601 ; serial 3600 ; refresh 1800 ; retry 604800 ; expire 86400 ; minimum ) IN NS benu123.com localhost IN A 127.0.0.1 localhost IN AAAA ::1 benu55 IN AAAA 2001::2222 benu89 IN AAAA 2002::2222 ~
那么你注意到Bind不会启动的原因是由于预启动检查返回的错误条件: /usr/sbin/named-checkconf -z /etc/named.conf 。 你需要解决这个问题。
在你的区域文件结尾的寂寞代字符〜不是一个有效的资源logging,应该被删除。
您正在声明一个区域内名称服务器:
IN NS benu123.com
而无需为您的名称服务器创buildAlogging。 这显然是错误的。 另外一个资源logging不会以. 被视为DNS短手,并获得$ ORIGIN(区域名称)追加,所以你现在有什么function相当于:
IN NS benu123.com.benu123.com.
你可能应该想要这样的东西,而不是:
$ORIGIN benu123.com. $TTL 86400 @ IN SOA benu123.com. root.benu123.com( 2014030401 ; serial 3600 ; refresh 1800 ; retry 604800 ; expire 86400 ; minimum ) IN NS benu123.com. @ IN A 192.168.1.1 ; replace this with the ip-address of your name-server localhost IN A 127.0.0.1 localhost IN AAAA ::1 benu55 IN AAAA 2001::2222 benu89 IN AAAA 2002::2222
我使用@作为另一个DNS速记技巧,它相当于$ ORIGIN或域名benu123.com。
至lessNS条目需要一个A或AAAAlogging(除非你的名字服务器被称为benu123.com.benu123.com,否则最有可能是最后一个点)。