このスレッドは未解決です(解決したらこちらで解決済にしてください)
<<戻る

BINDの起動失敗 このメッセージに返信する
日時: 2008/08/05 02:00
名前: はっしー
URL:
いつも貴重な情報をアップして頂き、大変参考になっております。有難うございます。

centos 4.6です。
DNSサーバ構築しており、http://centossrv.com/bind-centos4.shtmlの(6)ルートゾーン自動更新まで終了しBINDを起動したところ、以下の結果になります。設定ファイルの内容を何度か見直しましたが、ドメイン名、IPアドレスを除いて特に相違点はありません。

[root@taiki ~]#/etc/rc.d/init.d/named start
named を起動中: [失敗]

ちなみに、
[root@taiki ~]#nmap ホスト名
で確認したところ、ポート53が表示されません。

しかし、
[root@taiki ~]#more iptables.sh
では以下の通り、tcp, udp共に有効にしています。

iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT

何が原因が分からずジタバタしております。心当たりのある方はご教示いただければ幸いです。宜しくお願い致します。

記事編集 編集
Re: BINDの起動失敗 このメッセージに返信する
日時: 2008/08/05 06:08
名前: stranger
URL:
chrootの意味を理解していますか
CentOSではbind-chrootパッケージをインストールするときに
スクリプトが実行され、必要なディレクトリやファイルが
/var/chroot/var/namedを/と仮想して作られます
/etc/rc.d/init.d/namedスクリプトが起動するときに
/etc/sysconfig/namedファイルを読み込みます
そこで指定されているROOTDIR=/var/chroot/var/named
を読みこんで ROOTDIR を /と仮想して実行します

named.confの構文チェック(内容のチェックではない)
# cd /var/chroot/var/named/etc
# named-checkconf named.conf

zoneファイルの構文チェック(内容のチェックではない ファイル名は自分の環境にあわせる)
# cd /var/chroot/var/named
# named-checkzone centossrv.com. centossrv.com.db.lan
# named-checkzone 1.168.192.in-addr.arpa. 1.168.192.in-addr.arpa.db

zoneファイルの置き場所を/var/chroot/var/named/dataディレクトリにしているなら
named.confの設定で "file data/centossrv.com.db.lan" のようにします

起動途中でnamedユーザにチェンジユーザされるので
zoneファイルのユーザ・グループをnamed:namedに変更しておく

selinuxで制御されているのでselinuxを有効にしているなら
# restorecon -Rv /var/chroot/var/named
を実行して新しく作成したzoneファイルなどのラベルを変更しておきます

iptableのポリシーがわからないのであくまで参考
ルートサーバ(named.ca)を捜しにいくときは
内部から外部への呼出なのでOUTPUTもACCEPTにする必要があります

蛇足
IPv6のzone設定を失敗するエラーがログにでるのが嫌な場合(そのままでも問題ない)
named.confのoptionsに empty-zones-enable no; を追加します

記事編集 編集
Re: BINDの起動失敗 このメッセージに返信する
日時: 2008/08/05 23:33
名前: はっしー
URL:
stranger 様

ご説明有難うございます。セキュリティの面でnamedから見るとchrootが"/"になるのでそれ以上の階層にはアクセスできない等の話を聞いたことがあります。

/etc/sysconfig/namedは以下の通りになっています。

[root@taiki ~]#more /etc/sysconfig/named
# Currently, you can use the following options:
# ROOTDIR="/some/where" -- will run named in a chroot environment.
# you must set up the chroot environment before
#    doing this.
# OPTIONS="whatever" -- These additional options will be passed to named
# at startup. Don't add -t here, use ROOTDI
R instead.
ROOTDIR=/var/named/chroot/

以下の構文チェックを行ったところ、プロンプトが返ってきます。

[root@taiki ~]#cd /var/named/chroot/etc/
[root@taiki /var/named/chroot/etc]#named-checkconf named.conf
[root@taiki /var/named/chroot/etc]#

しかし、以下の構文チェックを行ったところ、いくつかエラーが返ってきます。

[root@taiki /var/named/chroot/var/named]#named-checkzone hashiking.dip.jp. hashiking.dip.jp.db.lan
dns_master_load: hashiking.dip.jp.db.lan:2: unexpected end of line
dns_master_load: hashiking.dip.jp.db.lan:1: unexpected end of input
dns_master_load: hashiking.dip.jp.db.lan:8: using RFC 1035 TTL semantics
zone hashiking.dip.jp/IN: loading master file hashiking.dip.jp.db.lan: unexpected end of input

hashiking・・db.lanの中身は以下の通りです。

[root@taiki /var/named/chroot/var/named]#cat -n hashiking.dip.jp.db.lan
1 TTL 86400
2 @ IN SOA hashiking.dip.jp. root.hashiking.dip.jp.(
3 2004031901 ; Serial
4 28800 ; Refresh
5 14400 ; Retry
6 3600000 ; Expire
7 86400 ) ; Minimum
8 IN NS hashiking.dip.jp.
9 IN MX 10 hashiking.dip.jp.
10 @ IN A 192.168.0.40
11
12 * IN A 192.168.0.40

1,2,8行目に問題があるのは理解していますが、何が原因かを現在探っています。もし宜しければご教示お願いします。
記事編集 編集
Re: BINDの起動失敗 このメッセージに返信する
日時: 2008/08/06 04:48
名前: stranger
URL:
$TTL 86400
@ IN SOA ns.hashiking.dip.jp. root.hashiking.dip.jp. (
2008080601 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ; negative
       )
IN NS ns.hashiking.dip.jp.
IN MX 10 mail.hashiking.dip.jp.
ns IN A 192.168.0.40
mail IN A 192.168.0.40

hasking.dip.jpがドメイン名としたら
普通は上記のように書く
bind9の場合です

serial値[例 日付と2桁の更新番号]データを更新するたびにこの値を大きくします
negative値はクエリの失敗をキャッシュに保存しておく期間になりました
$ORIGINで始点名を決めます[省略可]、named.confのzoneで定義した名前を使います
INの前に指定がない場合、$ORIGINの名前と$TTLの値が省略されています
省略する場合、Tabキーなどで空白スペースを設けます(必須)

他のzoneファイルを全てチェックしてエラーがでないようにしないと
namedは起動できないと思います

IN NS IN MXの前には空白を設けましたが、投稿の段階で自動修正されてしまうようです
記事編集 編集
Re: BINDの起動失敗 このメッセージに返信する
日時: 2008/08/12 19:45
名前: はっしー
URL:
stranger 様

返信が遅れ大変申し訳ありません。
また、きめ細かいサポートを頂き有難うございます。

下記のとおり、編集しました。

[root@taiki /var/named/chroot/var/named]#!cat
cat -n hashiking.dip.jp.db.lan
1 $TTL 86400
2 @ IN SOA ns.hashiking.dip.jp. root.hashiking.dip.jp. (
3 2008080601 ; Serial
4 28800 ; Refresh
5 14400 ; Retry
6 3600000 ; Expire
7 86400 ; negative
8        )
9 IN NS ns.hashiking.dip.jp.
10 IN MX 10 mail.hashiking.dip.jp.
11 ns IN A 192.168.0.40
12 mail IN A 192.168.0.40

以下構文チェックの結果です。

[root@taiki /var/named/chroot/var/named]#named-checkzone hashiking.dip.jp hashiking.dip.jp.db.lan
dns_rdata_fromtext: hashiking.dip.jp.db.lan:7: near '       ': extra input text
zone hashiking.dip.jp/IN: loading master file hashiking.dip.jp.db.lan: extra input text

今件、自身の実力不足のため、折角の貴重なアドバイスも理解が追いつかず必要以上にご迷惑をおかけしてしまうため出直してきます。
度重なるアドバイス大変有難う御座いました。
記事編集 編集
Re: BINDの起動失敗 このメッセージに返信する
日時: 2008/08/13 11:54
名前: 真向法で腰痛
URL:
>dns_rdata_fromtext: hashiking.dip.jp.db.lan:7: near '       ': extra input text

これは全角スペースが入ってるためのエラーです。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -