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.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 は一切応答しない。