bind9でipv4のみで接続する

 Ubuntuでもbind9になってからipv6の仕様がデフォルトで組み込まれていて、尚且つjpドメインに関してはipv6のIPアドレス設定がすでに完了しているらしいです。そのためipv6に対応していない今まで通りのIPアドレスを利用しているとイチイチipv6を探し回るらしく名前解決にとても時間がかかってしまいます。噂によると15分もかかってしまうケースもあるとか。
 ですので、bind9でこれまで通り普通にネームサーバーを運用する際にはipv4のみで接続するように設定した方がいいみたいです。
 ipv6が機能しているかどうかを確かめるには、/var/log/syslog内に、
network unreachable resolving 'pdns1.ns.example.com/AAAA/IN': 2001:200:c000::35#53
とか、
/var/log/daemon.log内に、
...  localhost named[5356]: network unreachable resolving 'ns.example.com/AAAA/IN': 2001:503:a83e::2:30#53
みたいなエラーが出ています。ipv6はAAAAレコードに登録されているので、/AAAA/INみたいな感じでログが吐き出されます。こうなっていると検索と名前解決にエラい時間がかかってしまうので以下にipv4のみでネームサーバーを動かす方法を紹介します。

ipv4のみで接続し、ipv6を廃する方法

 named.conf内のoptionsステートメントに以下を追加します。
options {
 ...
 listen-on-v6 { none; };
 ...
};
 この行より下にlisten-on-v6 { any; };が二重に書かれてあるとこっちが優先されてしまうので注意。というものnamed.confのデフォルトではoptions内の一番下の方に書かれてあったのでした。

 それから、/etc/default/bind9ファイルを開いてスタートアップオプションに-4を付けます。
# OPTIONS="-u bind" これがデフォルト
OPTIONS="-u bind -4"
設定後保存してから# /etc/init.d/bind9 restartでもって再起動します。
 設定にミスがなければ、syslogにもdaemon.logにも上記のようなエラーが出なくなって、ipv4のみで接続するようになります。






プロフィール



  • Name :: 山上オサム ♂(37)
  • Hobby :: 武術
  • Work :: Web Designer