- - PR -
WWWサーバーに接続できる環境とできない環境がある
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-09-22 17:58
インターネットに公開しているWWWサーバーがあります
これに、ある環境からは接続でき、ある環境からは接続できない、という現象が発生していて困っています 原因に思い当たることがありましたらご教授ください 調査のためサーバー側とクライアント側両方でパケットキャプチャをしたところ サーバー側から送信するIPパケットサイズが1500だとクライアント側に届いていないようなのです 不思議なのは全てのクライアントが接続できないのならともかく 極稀に接続できない環境が存在する、ということです 接続できない環境からはIPパケットサイズが1500だと必ずパケットロストします 原因に思い当たることはないでしょうか? またこの先どう調査をするべきでしょうか? [ メッセージ編集済み 編集者: たさか 編集日時 2006-09-22 18:20 ] |
|
投稿日時: 2006-09-22 18:36
DFビットが立ってる状態で送信されているんじゃないでしょうか。
接続できない環境までの経路の途中に、MTUの小さいネットワークがあって、 そこでパケット破棄されてるんでしょうね。 パケットキャプチャをされてるなら、IPのフラグを確認しましょう。 Pingを、パケットサイズ1500バイトでDFビットを立てて実行した場合に、 「Packet needs to be fragmented but DF set.」ってなエラーが返って きたならそういうことです。 Windowsなら、こんな感じですね。 > ping -l 1500 -f 192.168.1.1 Pinging 192.168.1.1 with 1500 bytes of data: Packet needs to be fragmented but DF set. Packet needs to be fragmented but DF set. 解決方法は、MTUサイズを小さくして出すようにするか、DFフラグを立てないかでしょうね。 [ メッセージ編集済み 編集者: ひさ 編集日時 2006-09-22 22:46 ] |
|
投稿日時: 2006-09-22 19:25
どうもありがとうございます
確かにDFフラグは1です ちょっと話が変わりますが0にする方法が分からなくて色々検索していたところ PMTUDブラックホール問題という存在を知りました サーバー側の回線はBフレッツでPPPoEです なんとなくこれかなーという気がしてきました 調査してみます |
|
投稿日時: 2006-09-22 19:41
DFフラグを0にするより、MTUサイズを少し小さくすればいいかと。
Bフレッツなら1454がお勧めのようです。 サーバがWindowsならいろいろツールがありますし、Linuxならifconfigコマンドで変更できますね。 [ メッセージ編集済み 編集者: ひさ 編集日時 2006-09-22 19:44 ] |
|
投稿日時: 2006-09-22 22:02
どうもありがとうございます
MTUは次にマシンを止められるときに試します と、お客さんのネットワーク担当者から返事が来て「ICMPパケットはF/Wで止めてます」とのことですムキャー [ メッセージ編集済み 編集者: たさか 編集日時 2006-09-22 22:18 ] |
|
投稿日時: 2006-10-13 16:27
ようやく解決しました…
Windowsのレジストリを変更してMTUを1454にしたところ、障害が発生していたユーザーから全てアクセスできるようになりました しかし教えていただいたpingコマンドを、WEBサーバーからユーザーのGWへ投げてみたところ、「Packet needs to be fragmented but DF set.」と返ってきたのでICMPはブロックされていないと思われました? ともあれ、どうもありがとうございました |
1