ISC BIND 9.5.0で大量のエラーログ "too many timeouts resolving disabling EDNS"

数日前に「BIND9を家庭内LANのセカンダリDNSとしてWindows XPにインストール」したのですが、それと関係があるのか不明だったのですが、その後ブラウザの動作が遅くなり、またはDNSの名前解決がうまくいかずにエラーになることが多くなっていました。


今日別件でWindows XPのイベントログを見たところ、以下のエラーが大量に発生していました。(このログはたまたまTwitterの例で、他のドメインもエラーが発生していました。

イベントの種類: 情報
イベント ソース: named
イベント カテゴリ: なし
イベント ID: 3
日付: 2008/07/22
時刻: 22:54:40
ユーザー: N/A
コンピュータ: hogehoge
説明:
too many timeouts resolving 'twitter.com/A' (in 'twitter.com'?): disabling EDNS


"too many timeouts resolving disabling EDNS"をキーワードに調べてみたところ

  • BIND9.5 からIPv6対応が既定値になっている。
  • そのため、IPv6対応のEDNSの設定 edns yes; に設定されている。
  • 家庭内LANの他のDNSサーバはIPv6に対応していないので、EDNSで問い合わせをしてもエラーになる。


解決策として、named.conf にforwardersに指定しているルータのIPアドレス 192.168.0.1 を指定して、edns no; としたところ、無事エラーが出なくなり、ブラウザの動作も軽くなった気がします。

server 192.168.0.1 {
	edns no;
}

参考

2006-01-27 - つれづれなるままに
http://d.hatena.ne.jp/KuroNeko666/20060127

とりあえず社内はまだIPv6を利用した環境では無い。
なのに、DNSIPv6ネットワークを探すからタイムアウトするまで応答が無くなる。
1回目の問合せで応答できる訳が無い。
解決方法は至ってシンプル。

1つ目は、forwarders を使っている場合。
/etc/named.confで、serverディレクティブに edns no; を追加する。
上記の仮環境で例えれば…
server 192.168.1.253 { edns no; };
といった感じ。

№3355 Fedora 8にアップするとnamedから大量のログが・・ - Web Patio - Fedora自宅サーバー構築
http://fedorasrv.com/bbshtml/webpatio/3355.shtml
2007 年 11 月のよしだむメモ
http://www.yoshidam.net/diary/200711.html
BIND9.5で謎のログ: さかなでブログ
http://sakanade.asablo.jp/blog/2008/07/09/3617479

@IT:IPv6対応DNSサーバの実現(2/2)
http://www.atmarkit.co.jp/flinux/rensai/bind912/bind912b.html

 BIND 9はゾーンサーバおよびキャッシュサーバとしてEDNS0に対応しています。BIND 9によるキャッシュサーバは、再帰問い合わせの過程で発生したエラーを基に、対象のDNSサーバがEDNS0に対応しているかどうかもキャッシュします。またnamed.confで、サーバごとにEDNS0を使わないように指定することも可能です。
server IPアドレス {
edns no; ←デフォルトはyes
};
named.conf

bind9 設定
http://www.bsddiary.net/doc/bind9.html