Linux

CentOS7でnamed-chrootが起動しない場合の対応。selinuxの無効化が鍵でした。

CentOS7で以下のサイトを参考にして内部DNSを構築しました。

参考内部向けDNS構築・解説 CentOS7.1 – Qiita

最後に、systemctl start named-chrootで起動するのですが、わたしの環境では起動に失敗しました。

# systemctl start named-chroot
Job for named-chroot.service failed because the control process exited with error code. See “systemctl status named-chroot.service” and “journalctl -xe” for details.

詳細を知るために、systemctl status named-chrootで確認しました。

# systemctl status named-chroot
● named-chroot.service – Berkeley Internet Name Domain (DNS) Loaded: loaded (/usr/lib/systemd/system/named-chroot.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since 水 2017-02-08 09:23:58 JST; 3s ago Process: 2688 ExecStart=/usr/sbin/named -u named -t /var/named/chroot $OPTIONS (code=exited, status=1/FAILURE) Process: 2685 ExecStartPre=/bin/bash -c if [ ! “$DISABLE_ZONE_CHECKING” == “yes” ]; then /usr/sbin/named-checkconf -t /var/named/chroot -z /etc/named.conf; else echo “Checking of zone files is disabled”; fi (code=exited, status=0/SUCCESS)2月 08 09:23:58 vm-dns001 named[2691]: command channel listening on 127.0.0.1#953
2月 08 09:23:58 vm-dns001 named[2691]: command channel listening on ::1#953
2月 08 09:23:58 vm-dns001 named[2691]: isc_stdio_open ‘data/named.run’ failed: permission denied
2月 08 09:23:58 vm-dns001 named[2691]: configuring logging: permission denied
2月 08 09:23:58 vm-dns001 named[2691]: loading configuration: permission denied
2月 08 09:23:58 vm-dns001 named[2691]: exiting (due to fatal error)
2月 08 09:23:58 vm-dns001 systemd: named-chroot.service: control process exited, code=exi…s=1
2月 08 09:23:58 vm-dns001 systemd: Failed to start Berkeley Internet Name Domain (DNS).
2月 08 09:23:58 vm-dns001 systemd: Unit named-chroot.service entered failed state.
2月 08 09:23:58 vm-dns001 systemd: named-chroot.service failed. Hint: Some lines were ellipsized, use -l to show in full.

permission denied と表示されているので、そればかりを疑っていました。

インターネットで検索しても対処方法は以下の方法でした。

named.runの作成

# mkdir /var/named/chroot/var/named/data
# touch /var/named/chroot/var/named/data/named.ca
# chown named.named /var/named/chroot/var/naemd/data/named.ca

エラーメッセージからみてもこの方法で解決できるものと思っていましたができませんでした。

対応方法は、selinuxの無効化でした。

参考CentOS7 SELinuxの無効化手順 – Qiita

エラーメッセージだけ見ててはだめでした。これで数時間無駄にしてしまったので同じ過ちを繰り返さないように情報を公開することにしました。

もうちょっと分かり安いメッセージにしてほしいことろです。

スポンサーリンク