📚

【解決】bind設定時に warning や 'Checking of zone files is disabled' が発生した件

2022/06/28に公開

はじめに

下記ページの内容を参考に仮想環境上にDNSサーバを立てます。

環境

ホストOS:Windows10 Home 21H1
仮想環境:VirtualBox 6.1.14 r140239
ゲストOS:CentOS7(CentOS-7-x86_64-DVD-2009.iso利用)

ホスト名①:CentOS7_DNS(DNSサーバ)
ホスト名②:CentOS7_SMTP(DNSクライアント)

結論

ドメイン名にハイフンを使ったことによるエラーだった!

設定ファイルチェック時のwarning

現象

ホスト名、IPアドレス以外は全く同様に設定していったのですが、5.DNSコンフィグ確認でwarningが発生しました。

[root@localhost named]# named-checkzone test.local /var/named/test.local
/var/named/test.local:2: warning: CentOS7_DNS.test.local: bad name (check-names)
/var/mamed/test.local:8: warning: CentOS7_DNS.test.local: bad name (check-names)
/var/mamed/test.local:9: CentOS7_DNS.test.local: bad owner name (check-names)
/var/mamed/test.local:10: CentOS7_SMTP.test.local: bad owner name (check-names)
zone test.local/IN:loaded serial 2821071901
OK

原因

ドメイン名に"-"を使っていたことのようです。
ドメイン名を変更すると、warningが解消されました。

参考

[自分用メモ][BIND] BINDで「bad owner name (check-names)」が出力されてしまう。

サービス起動時のエラー

現象

7.サービス起動でエラーが発生しました。

[root@localhost named]# systemctl start named
Job for named.service failed because the control process exited with error code. See "systemctl stat
us named.service" and "journalctl -xe" for details.

エラーメッセージにある通り、systemctlコマンドでBINDの実行状態を確認します。

[root@localhost named]# systemctl status named
  named.service - Berkeley Internet Name Domain (DNS)
   Loaded: loaded (/usr/lib/systemd/system/named.service; enabled: vendor preset: disabled)
   Active: failed (Result: exit-code) since Mon 2021-07-19 13:56:27 JST: 1min 15s ago
  Process: 10618 ExecStartPre=/bin/bash -c if [ "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbi
n/named-checkconf -z "$NAMEDCONF"; else echo 'Checking of zone files is disabled"; fi (code-exited,
status=1/FAILURE)

(以下略)

原因

下記ページを参考に、改めて設定ファイルを確認すると、ドメイン名の"-"修正漏れがありました。

修正後は問題なくサービスが起動できました。

おわりに

サービス起動時のエラー原因を発見するのにかなり時間がかかってしまいました。
初めてLinux環境を触るということもあり、敢えて手入力を行っているので、typoはやむを得ないのですが、自分のやったことを信じすぎですね…
手入力のせいで余計な困りごとが増える経験をすることができたので、管理業務は自動化すべきだというのは理にかなっているなと思いました。

Discussion