こんばんは。FTPサーバーについて色々勉強していましたらこのサイトに出会い、大変お世話になっています。
私はBA8000Proを使用しているのですが、とある理由で21番ポートが利用できず、静的マスカレードで2100番ポートを21番ポートに変換し使用しています。
BulletProof Ver2.15を使用してサーバーを立ち上げております。
一つ一つのファイルのUPやDLは問題ないのですが、複数のファイルのUPやDLの際に一つ一つのファイルのファイルサイズがある程度大きく、時間が数分かかる場合に一つのファイルのUPやDLの完了後次のファイルのUPやDLが開始されず、タイムアウトになってしまい、ログインを再度行う必要があります。
また、テストに協力してもらった友人の話ではPASVモードでないと接続できないとの事です。
かなり、曖昧な内容で恐縮ですがどなたか原因のわかる方がいらっしゃいましたらアドバイス頂ければと思っています。
よろしくお願い致します。
FTPクライアントソフトは何でしょうか?
おそらくクライアントの環境に問題があるのではないでしょうか?
ルーターや、FTPDの設定とかをもう一度見直してみてください。
また、使用OSの情報やローカルでも同じ状況になるのか等の情報もあれば
おやじ様や常連様が回答しやすいと思います。
こんばんは。
> 私はBA8000Proを使用しているのですが、とある理由で21番ポートが利用できず、静的マスカレードで2100番ポートを21番ポートに変換し使用しています。
少し気になるのですが、ISPが止めているのに無理にサーバを建てていると、トラブルのもとです。サーバはOKなのでしょうか?
> BulletProof Ver2.15を使用してサーバーを立ち上げております。
> 一つ一つのファイルのUPやDLは問題ないのですが、複数のファイルのUPやDLの際に一つ一つのファイルのファイルサイズがある程度大きく、時間が数分かかる場合に一つのファイルのUPやDLの完了後次のファイルのUPやDLが開始されず、タイムアウトになってしまい、ログインを再度行う必要があります。
これが、家庭内での話ならサーバかクライアントのバグでしょう。ルータ越えの話なら、下記もそうですが、これはポートをFTPのデフォルトから変えていることが、原因の可能性があります。データコネクションで転送中はコントロールコネクションが無通信状態なので、ルータのNATテーブルが消えているのではないでしょうか。ただ、このタイマは数分ということはないはずなので、外れている可能性もあります。FTP通信に関しては、ルータがポート番号を意識して(デフォルト値)いろいろ制御しているので、ポートを変えると問題がでやすいです。
これを防止するため、コントロールコネクションで「noop」コマンドを投げつづけるデーモンもあるようです。デーモンを変えれば直るかもしれませんが、なんとも言いがたいです。
> また、テストに協力してもらった友人の話ではPASVモードでないと接続できないとの事です。
これはポートを変えていることが原因でほぼ間違いなく、クライアント側のルータがFTP通信と意識できないためこうなってしまいます。障害ではありませんので、どうしようもありません。デフォルトで動作しているので皆さん気がつきませんが、ルータの単なるNAT機能だけでは、FTPのActiveモードのクライアント側は動作しません。ActiveモードでFTPが使えているのは、クライアント側のルータでFTPのステートフルインスペクションをサポートしているからです。ルータは、通常、21番で外部通信が始まるとこれはFTP通信であると認識して記憶しておき、その後、Activeモードの場合は、その接続先からデータコネクションが張られてくるので、これを先の21番のペアとして認識して要求元のクライアントに中継するようになっています。activeモードのデータコネクションはインターネット側から通信が始まるので、一種のサーバ接続ですから、この対応付けができなければ、中継先がわかりません。つまり、ポートを変えると21番で始まらないのでこの機能が動作しないのです。
これに対してPASVはいずれのコネクションもクライアント側から始まるので、クライアント側には特別な要件が要らないので、うまくいくわけです。PASVができているなら何も問題はないのではないでしょうか?おやじは、クライアントにしわ寄せがいく(ファヤウォールがある学校や企業等はまず使えない)Activeモードなんて不要と思ってます。