ヘルプ:CentOS7.2のBINDをchrootで起動できない

提供:EELの自由帳

メインページ > ヘルプ:目次 > ヘルプ:自宅サーバーの管理(CentOS)  > CentOS7.2のBINDをchrootで起動できない

CentOS7.2のBINDをchrootで起動できない。

CentOS7では、BINDは、namedもnamed-chrootも同じディレクトリに設定ファイルを置きます。

だが、

[root@host4 ~]# systemctl start named

起動するが、

[root@host4 ~]# systemctl start named-chroot

では、エラーが出ることがあります。

[root@host4 ~]# systemctl status named-chroot
・
9月 20 13:47:19 host4.sudachi.jp named[5745]: using 2 UDP listeners per interface
9月 20 13:47:19 host4.sudachi.jp named[5745]: using up to 4096 sockets
9月 20 13:47:19 host4.sudachi.jp named[5745]: loading configuration from '/etc/named.conf'
9月 20 13:47:19 host4.sudachi.jp named[5745]: /etc/named.conf:71: open: /var/named/named.sudachi.jp.zone: file not found
9月 20 13:47:19 host4.sudachi.jp named[5745]: loading configuration: file not found
9月 20 13:47:19 host4.sudachi.jp named[5745]: exiting (due to fatal error)
9月 20 13:47:19 host4.sudachi.jp systemd[1]: named-chroot.service: control process exited, code=exited status=1
9月 20 13:47:19 host4.sudachi.jp systemd[1]: Failed to start Berkeley Internet Name Domain (DNS).
9月 20 13:47:19 host4.sudachi.jp systemd[1]: Unit named-chroot.service entered failed state.
9月 20 13:47:19 host4.sudachi.jp systemd[1]: named-chroot.service failed.

CentOS7のBIND-chrootは、さきに/etc/named.* とか、/var/named/*.*を、/var/named/chroot以下に自動でマウントします。

上記のエラーを見てみると、ファイルがNotFoundとなっていることから、このマウント処理がうまくいってないようです。

そんな時にチェックして欲しいのが、

[root@host4 ~]# ll /var/named/chroot/var/named

[root@host4 ~]# ll /var/named/chroot/etc/named

何かファイルが残ってませんか?

で空でなければマウントできないんです。

まとめると、

  • chrootディレクトリにはファイルを残さない。
  • named-chrootがファイルをchrootディレクトリに自動マウントしてくれるので、chrootでないときと同じ場所にファイルを置く。
  • /usr/libexec/setup-named-chroot.sh /var/named/chroot onはnamed-chrootが起動時に自動実行し、終了時に自動解除してくれるので、手動操作をしない。