web-dev-qa-db-ja.com

LinuxでバインドDNSサービスを開始できません

仮想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.

以下の私のゾーンファイルを見つけてください

[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
~
1
user274374

Bindが開始しない理由は、開始前チェックでエラー条件/usr/sbin/named-checkconf -z /etc/named.confが返されたためです。あなたはそれを修正する必要があります。

孤独なチルド文字 ~ ゾーンファイルの最後のは有効なリソースレコードではないため、削除する必要があります。

ゾーン内のネームサーバーを宣言しています:

                IN NS     benu123.com

ネームサーバーのAレコードを作成せずに。それは明らかに間違っています。さらに、.で終わらないリソースレコードはDNSの省略形として扱われ、$ Origin(ゾーン名)が追加されるため、現在の機能は次の機能と同等です。

                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のもう1つの略称として、$ Originまたはドメイン名benu123.comと同じです。

6
HBruijn

少なくともNSエントリにはAまたはAAAAレコードが必要です(ネームサーバーがbenu123.com.benu123.comと呼ばれる場合を除いて、最後にドットが必要です)。

2
tim