Hatena::ブログ(Diary)

雑木林とコンピュータのメモ帳 このページをアンテナに追加 RSSフィード

2008年07月22日(火)

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

2008年07月18日(金)

BIND9を家庭内LANのセカンダリDNSとしてWindows XPにインストール

細かい設定はいい加減。あとで直します。

namedのメモリ消費量は25MB程度でした。

  1. ISC BIND http://www.isc.org/index.pl?/sw/bind/サイトからWindowsバイナリ(ZIP圧縮) BIND9.5.0-P1.zipダウンロード
  2. 解凍したフォルダの中のBINDInstall.exeを実行してBINDインストール
  3. named.confの作成
  4. named.rootダウンロード
  5. ISC BINDサービスログオンを「アカウント(named)」から「ローカルシステムアカウント」に変更
  6. ISC BINDサービスの起動。ゾーン転送されていることを確認。

named.conf

options {
	directory "c:/windows/system32/dns/etc";	// ZONEファイルを置いたディレクトリ
	forwarders { 
		192.168.0.1; 
	};
	forward only;
};

zone "." IN {
	type hint;
	file "named.root";
};

zone "localhost" IN {
	type master;
	file "db.localhost.zone";
	allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
	type master;
	file "db.127";
	allow-update { none; };
};

// secondary

zone "foo-net.local" {
	type slave;
	file "db.foo-net.local.bak";
	masters {
	192.168.0.3;
	};
};

zone "0.168.192.in-addr.arpa" {
	type slave;
	file "db.0.168.192.bak";
	masters {
	192.168.0.3;
	};
};

参考

Windows XPDNS

http://www.rouge.gr.jp/~fuku/tips/winxp-bind/

Bind 9 セカンダリー設定

http://www.shoukun.com/sh/win/server-setup/bind-slave.htm-