- PR -

ウェブサーバ通信障害(TurboLinux 10 Server)

投稿者投稿内容
ひさ♪
常連さん
会議室デビュー日: 2002/09/20
投稿数: 23
投稿日時: 2006-05-10 15:45
Firewallを設置し、DMZ内にウェブサーバを構築しました。
LAN内のクライアントからアクセスすると、すんなり表示されるのですが、
インターネット(別プロバイダ)からアクセスすると
ページが表示されるまでに20秒ほどかかってしまいます。

サーバ環境
  WAN回線:広域イーサ
  CPU: Intel Xeon 3.40GHz * 2個
  メモリ: 2048MB
  OS: TurboLinux 10 Server Kernel 2.6.8-6smp
  Web: Apache 2.2.2

サーバ上で、パケットキャプチャを行ったのですが、
クライアントから「MSS=1414」とセットされたSYNパケットを受信したにも関わらず、
MSS=1460のパケットを送信し続けています。
このせいで、遅延が発生している気がするのですが如何でしょうか?

サーバは、サーバ・クライアント間で通信可能な最小MSSに合わせて、パケットを作成し送信すると認識しているのですが、間違っているのでしょうか?

# ifconfig eth0 mtu 1454 をすれば正常にいくのですが、
当該障害は復旧するのですが、これでは、
それより小さいMSSがある経路ではまた障害が発生してしまいます。

TurboLinuxではなく、FedoraCore2でも同じような症状が報告されていますが、
参照元記事URLの解決策では、解決できませんでした。
http://fedora.jp/pipermail/users/2004-August/008148.html

どのような解決策がありますでしょうか?

宜しくお願いします。
icebreaker
会議室デビュー日: 2006/04/05
投稿数: 8
投稿日時: 2006-05-10 16:37
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=24378&forum=11&5

これと同じ現象だと思われますので、まずはRouterの設定(wan側MTUを1454に)を疑ってみてはどうでしょうか?


[ メッセージ編集済み 編集者: icebreaker 編集日時 2006-05-10 16:44 ]
ひさ♪
常連さん
会議室デビュー日: 2002/09/20
投稿数: 23
投稿日時: 2006-05-10 17:00
Routerの設定をMTU1454にしたり、サーバのMTUを1454にしたりすれば、正常にうまくいきます。
しかし、1454より小さなMTUであるプロバイダのクライアントからは障害が残ったままとなり、根本的な解決には至らないと考えています。

RouterやServerのMTUは1500そのままでの解決策はないのでしょうか。
icebreaker
会議室デビュー日: 2006/04/05
投稿数: 8
投稿日時: 2006-05-10 17:09
使用している広域イーサーのMTUは1500なんですか?(1500だと思うけど、念のため)


[ メッセージ編集済み 編集者: icebreaker 編集日時 2006-05-10 18:12 ]
ひさ♪
常連さん
会議室デビュー日: 2002/09/20
投稿数: 23
投稿日時: 2006-05-10 22:03
icebreaker様ご回答ありがとうございます。

はい。使用している広域イーサのMTUは1500です。

ping -f -l 1472 www.yahoo.co.jp は通りますが、
ping -f -l 1473 www.yahoo.co.jp は通りません。
ということで 1472+28=1500です。

icebreaker
会議室デビュー日: 2006/04/05
投稿数: 8
投稿日時: 2006-05-11 10:56
引用:

はい。使用している広域イーサのMTUは1500です。


同じTLS10を使用しています。(インフラはまったく違いますが)
Web: Apache 2.2.2 ということはApacheProjectから最新のをDLして使われているんですね。
TLのUsersGroupでも同様の事象が見つけられなかったので、原因の切り分けのため、TLの通常のapacheのRPM(httpd-2.0.51-17)でも同じ現象が発生するのかトライしてみてはいかがでしょうか。
holic
ベテラン
会議室デビュー日: 2004/08/24
投稿数: 74
投稿日時: 2006-05-11 14:06
引用:

ひさ♪さんの書き込み (2006-05-10 15:45) より:
Firewallを設置し、DMZ内にウェブサーバを構築しました。
LAN内のクライアントからアクセスすると、すんなり表示されるのですが、
インターネット(別プロバイダ)からアクセスすると
ページが表示されるまでに20秒ほどかかってしまいます。



Firewall は何をお使いですか?
ICMP DU をフィルタしていませんか?
IDENT をフィルタしていませんか?

サーバのIPスタックで、パケット分割を許可していますか?

思いついたところだけ。
Apache の問題ではない気がします。

ひさ♪
常連さん
会議室デビュー日: 2002/09/20
投稿数: 23
投稿日時: 2006-05-11 15:02
引用:

icebreakerさんの書き込み (2006-05-11 10:56) より:
Web: Apache 2.2.2 ということはApacheProjectから最新のをDLして使われているんですね。
TLのUsersGroupでも同様の事象が見つけられなかったので、原因の切り分けのため、TLの通常のapacheのRPM(httpd-2.0.51-17)でも同じ現象が発生するのかトライしてみてはいかがでしょうか。



そうです。ソースからコンパイルして利用しています。
TL標準でインストールされるRPM版(httpd-2.0.51-17)を起動してテストしましたが、同じ現象が発生してしまいました。


[ メッセージ編集済み 編集者: ひさ♪ 編集日時 2006-05-11 19:22 ]

スキルアップ/キャリアアップ(JOB@IT)