作業日記@HatenaBlog

各種の作業メモ

BIND 9 のエラー対策(2)

1時間毎に次のエラーメッセージが出る。

May  8 09:14:48 hogehoge named[***]: could not listen on UDP socket: permission denied
May  8 09:14:48 hogehoge named[***]: creating IPv4 interface re0 failed; interface ignored

このサイトを参考に、named.conf を修正する。
 

修正前
        listen-on       {
                                127.0.0.1;
                                192.168.X.0/24;
                        };

 

修正後
        listen-on       {
                                127.0.0.1;
                                192.168.X.1;
                        };

 
listen-on ステートメントは、複数の IP アドレスを持つホストで、ネームサーバがどのインタフェースで DNS 問い合わせを待ち受けるか指定するものなので、物理インタフェースに割り当てられたアドレスを明示的に指定する。192.168.X.0/24 のようにアドレス範囲を指定するとエラーの原因となる。
アドレス範囲を指定するのは allow-query の方で、どの IP アドレスから DNS 問い合わせを受け付けるかを指定するもの。ちなみに受け付けない IP アドレスも指定できる。

        allow-query     {
                                127.0.0.1;
                                192.168.X.0/24;
                                ! 192.168.X.33;
                        };

IP アドレスの前にエクスクラメーションマーク (!) をつけると、「192.168.X.1〜254 のうち 192.168.X.33 だけ除く」という意味になる。
DNS 問い合わせの受付を拒否する blackhole ステートメントとの違いは、allow-query が問い合わせ拒否の応答をするのに対し、blackhole は一切応答しない。