- - PR -
ファイヤーウォールを有効にすると、FTPでセッション切れが発生します
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-02-08 10:12
御世話になります。
こちらに書き込みすべきか迷いましたが、ファイヤーウォール関係→セキュリティと考え 質問させていただきます。 FTPを使用して、1000件の画像を遠隔地端末へ送信するプログラムをC#で組んでます。 OSは、WindowsXPです。 XPにSP2を適用する前は、1000件問題なく処理出来ていましたが しかし、SP2を適用させた後、50〜200件アップしている途中で、エラーが発生するように なりました。(サーバとのセッションが切れている) ファイヤーウォール機能を有効にしつつ、FTPを使用したいと思い 以下の対応を行いました。 ・ファイヤーウォール機能を有効(例外許可)、例外として20、21番ポートを許可、 ノーマルモードで実行 ・ファイヤーウォール機能を有効(例外許可、パッシブモードで実行(21番ポート許可) しかし、現象は変わりません。(50〜200件の間でエラー) XPのファイヤーウォール機能を無効にすると、今まで通り1000件正常にアップされます。 (セッション切れが起こらない) 何か考えられる原因をご存知の方がおられましたら ご教授くださいますよう、よろしくお願いいたします。 | ||||
|
投稿日時: 2005-02-10 07:26
Norton とか VirusBuster とか、市販のファイアーウォールが入ってませんか?
市販ソフトと XP SP2 のファイアーウォールは、どちらか一方だけ有効にしておけばいいです。 両方有効にしておくと、FTP が繋がらなくなった記憶があります。 | ||||
|
投稿日時: 2005-02-10 10:55
TO シャノン様
ご回答有り難うございました。 ご指摘通り、FTP転送を行っている端末に NOD32アンチウィルスが常駐しておりました。 無効にして試してみましたところ、以下の結果になりました。 ・NOD32を有効、Windowsファイヤーウォールを有効→エラー ・NOD32を無効、Windowsファイヤーウォールを有効→エラー ・NOD32を有効、Windowsファイヤーウォールを無効→正常(1000件転送可) ・NOD32を無効、Windowsファイヤーウォールを無効→正常(1000件転送可) 希望としましては、市販のソフトを無効にし Windowsファイヤーウォールだけを有効にして、転送可能にしたいのですが 設定方法に間違いがございましたら、ご指摘頂きたいと思います。 | ||||
|
投稿日時: 2005-02-10 12:28
FireWallが介在することによって起こるトラブルに関しては、一度ネットワーク上を流れるパケットをキャプチャーして、前後でどのような挙動をしているか調べてみると良いかと。Connect->Closeを繰り返す行為が、FireWallでのブロック対象になっているのかもしれませんし・・・・。
Insider.Netに投稿していると言うことは.Net Frameworkを使ったアクセスじゃなければ問題は発生しないんでしょうか?もしどの環境でも起こるなら、IP Networkあたりに聞いたほうが良いかと。 #ちなみにサーバーOSは何? _________________ 甕星 <mikahosi@abox9.so-net.ne.jp> http://blogs.msmvp.jp/mikahosi/ | ||||
|
投稿日時: 2005-02-10 14:25
TO 甕星様
ご回答有り難うございます。 パケットキャプチャーで、データ転送の流れを解析致しましたが 有効な情報を得ることが出来ませんでした。(解析する力がないせいかもしれませんが) キャプチャした内容ですが、 初めにデータ制御用の接続を行い、その後に、実際のデータを転送する接続を張り クライアント→サーバへファイルを転送しています。(パッシブモード) 1つのファイル転送が終了するに、データ転送用接続をリセットしています。 何回目かのファイルの転送を終え、クライアントからサーバへ 接続リセットのフラグを渡しています。その直後に、エラーが発生しております。 全体の流れで言えば、特におかしな動作をしている様には思えませんでした。 ※TCPプロトコルのパケットのみキャプチャしました。 >Connect->Closeを繰り返す行為が、FireWallでのブロック対象になっているのかもしれませんし・・・・。 Windowsファイヤーウォールのブロック対象として、何が設定されているのかの詳細を 知るには、どこを調べれば宜しいでしょうか。特に既定値を変えていないのですが もしご存じでしたら、教えて下さいませんか。 宜しくお願い致します。 >Insider.Netに投稿していると言うことは.Net Frameworkを使ったアクセスじゃなければ問題は発生しないんでしょうか? >もしどの環境でも起こるなら、IP Networkあたりに聞いたほうが良いかと。 申し訳ないです。これは試しておりません。 .Net Frameworkを使用しているシステムで、このような状況が発生していることは確かなのですが 他の方法でも発生するのかどうか・・・・。 インターネットで調べてみますと、Windowsファイヤーウォールを有効にしているため ネット接続系のエラーが多発しているように思えましたので、関係ないとは思っているのですが。 だとしたら、IP Networkの方に尋ねるべきでしたか・・^^; >#ちなみにサーバーOSは何? RedHatです。 | ||||
|
投稿日時: 2005-02-10 15:10
スタート→コントロールパネル→セキュリティセンター→Windowsファイアウォール で色々タブが出てくるでしょ。 [ メッセージ編集済み 編集者: NAO 編集日時 2005-02-10 15:12 ] | ||||
|
投稿日時: 2005-02-10 16:18
TO NAO様
ご回答有り難うございます。 おっしゃってる画面って、Windowファイヤーウォール設定画面でしょうか。 (全般、例外、詳細設定タブを持つ画面) 『例外』に設定しているポートやプログラム以外をブロックしている、と いうことは分かるのですが・・・・。 Windows ファイアウォールで拒否/許可する情報の判別は トラフィックを見ている様ですが、データ自体の情報だけではなく データ量の事も指すみたいですので、大量データ転送時は、既定の設定値のままだと 拒否されてしまうのかも知れません。 甕星様のおっしゃる、Connect→Closeが大量に発生すると ブロックしていると思われます。 しかし、大量データ転送を許可するように、Windowsファイヤーウォールの設定を 変えるには、どうすれば宜しいのでしょうか? # ファイヤーウォールは、大量データをブロックしている、と決めつけて書いています | ||||
|
投稿日時: 2005-02-10 16:18
こんにちは。
基本的にFTP通信はパッシブモードで転送を行えば、ファイヤーウォール に関しては何も設定する必要はありません。もしそれで問題が発生すると したらプログラム自体に問題があるかもしれません。 一度ポート指定ではなく、プログラム指定で例外許可を与えてはいかがで しょう。 ちなみにFTP通信における以下の設定はまったく意味がありません。
|