web-dev-qa-db-ja.com

DNSサーバーが再起動のたびに機能するには、Bind9を再起動する必要があります

私は この非常に素晴らしいチュートリアル に従って、Debian Jessie(私のRaspberry Pi)で最初のDNSサーバーを作成しました。うまくいったようです。 pingできます:

ping myhostname.mydomain

そしてそれはうまくいきます。問題は、Raspberry Piを再起動するたびに、実行する必要があることです。

Sudo service bind9 restart

そうしないと、DNSサーバーが私の構成で起動せず、DNS定義が機能しません。ここで、htopを実行すると、bind9が実行されているのを確認できますが、それでもpingを実行すると、ホスト名が存在しないことがわかります。 bind9を手動で再起動した後でのみ、DNSサーバーが再び機能します。

私はこれを修正しようとしている間、bind9を実行させたと言わなければなりません Debianページで説明されているようにChrootを介して 、しかしこれは役に立ちませんでした。

私はまだこれに非常に慣れていないので、追加情報が必要かどうか尋ねてください。この問題を解決するためにbind9の問題をどこから探し始めるのかわかりません。

注:これはすべて、新規インストールから開始しました。


コメントからの質問に基づいて更新

Dig myhostname.mydomain

タイムアウトを与える:

; <<>> Dig 9.9.5-9+deb8u3-Raspbian <<>> myhostname.mydomain
;; global options: +cmd
;; connection timed out; no servers could be reached

コマンド netstat -plnut 戻り値

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      -
tcp6       0      0 :::80                   :::*                    LISTEN      -
tcp6       0      0 :::53                   :::*                    LISTEN      -
tcp6       0      0 :::22                   :::*                    LISTEN      -
tcp6       0      0 ::1:953                 :::*                    LISTEN      -
tcp6       0      0 ::1:6010                :::*                    LISTEN      -
udp        0      0 127.0.0.1:53            0.0.0.0:*                           -
udp        0      0 0.0.0.0:68              0.0.0.0:*                           -
udp        0      0 192.168.1.2:123         0.0.0.0:*                           -
udp        0      0 127.0.0.1:123           0.0.0.0:*                           -
udp        0      0 0.0.0.0:123             0.0.0.0:*                           -
udp        0      0 0.0.0.0:48851           0.0.0.0:*                           -
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           -
udp6       0      0 :::546                  :::*                                -
udp6       0      0 :::53                   :::*                                -
udp6       0      0 2003:75:e15:c201:52:123 :::*                                -
udp6       0      0 fe80::ba27:ebff:fe7:123 :::*                                -
udp6       0      0 ::1:123                 :::*                                -
udp6       0      0 :::123                  :::*                                -
udp6       0      0 :::53420                :::*                                -
udp6       0      0 :::5353                 :::*                                -

再起動後、DNSサーバーに属する次の2行が追加されます。

tcp        0      0 192.168.1.2:53          0.0.0.0:*               LISTEN      -
udp        0      0 192.168.1.2:53          0.0.0.0:*                           -

1)DHCP遅延を処理するためのカスタムスクリプト。 (root/Sudoとしてファイルを作成します)

cat/usr/local/sbin/network-check

#!/bin/bash
while ! ifconfig | grep "192.168.1." > /dev/null; do
        #Network Down
        sleep 1
done
#Network up restart bind9
service bind9 restart

chmod a + x/usr/local/sbin/network-check

/etc/rc.localのexit0の前に行を追加します

network-check
exit 0

その後、再起動します

2)静的に設定すると、ネットワークはIPで開始し、次にbind9が開始します(そしてそのIPを使用します)

2
Jacob Evans

automatic-interface-scanグローバルオプションのデフォルトのyes設定を介して、システムのIPアドレスへの変更を自動的に検出する機能を備えたBIND9.10にアップグレードすることをお勧めします。

BIND 9.9では、関連するオプションはinterface-intervalであり、BINDがインターフェースの変更をポーリングする頻度を制御します。デフォルト値は60分ですが、これは目的には遅すぎます。

0
Alnitak