• ベストアンサー

FTPがうまく接続できません

サーバーの設置実験をやっていますが、タイトルのとおり、FTPがうまくつながりません。 事務所にFTPサーバーを設置して、事務所内のLANでは問題なく使用できます。 インターネットにはフレッツADSLで接続しています。ルーターは、corega BAR SW-4P Pro(ファームウェアは1.11)という構成です。 このFTPサーバーに、アナログでインターネット接続した端末からは問題なくFTPの接続が出来ました。 そこで、自宅へ戻って、接続を試みましたが、うまくいきません。 自宅では、富士通のNetVehicle-GX5というルータを使ってフレッツISDNでインターネット接続をしています。 ルータには、3台のPCがつながっています。 この自宅のマシンから、事務所のFTPサーバーに接続ができません。LISTの取り込みで停止しているようです。 試しに、同じマシンから@niftyにFTP接続をしてみたら、問題ありませんでした。 使用しているFTPクライアントはNext-FTPです。 コマンドラインから接続しても、IDとPASSは通りますが、LISTでひっかかります。 NATの関係では?と思ってはいるのですが、どうすればいいかわかりません。 わかりにくい説明で申し訳ありません。 足りない情報は補足しますので、原因と対処方法を教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hofuhofu
  • ベストアンサー率70% (336/476)
回答No.2

データ転送用のコネクションが張れていないようですね。 NetVehicle-GX5の設定でポート20番を開放してください。 FTPではまずクライアントからサーバーの21番ポートに接続し、さらにデータ転送用にサーバーからクライアントの20番ポートに接続されることでデータの転送が可能になります。 クライアント側がファイアーウォールで守られているような場合は、このサーバーからクライアントへの接続ができなくなります。 これを回避する方法としてPASVモードがありますが、これは2つの接続を両方ともクライアント側から行うもので、サーバー側でPASV用のポートを開放していなければ使えないでしょう。

Otanoshike
質問者

お礼

御回答ありがとうございます。 20番もあけなければならないんですね。 サーバー側のルータは、coregaですので、こちらの20,21番を開放しました。 GX5の方は、変更していませんが、これだけで接続できました。 SW-4Pの新しいファームウェアにしたら、FTPを指定すると、自動的にこの2つのポートを空けてくれるようになっていました。すると、GX5はまったく問題がなかったことになります。 でも、そうすると、アナログで接続できていたのは何故?という新しい疑問もでてきました。 もし、おわかりでしたら、教えてください。 質問の内容が変わってしまったのですが、関連ということで、お許しください。

その他の回答 (2)

  • hofuhofu
  • ベストアンサー率70% (336/476)
回答No.3

申し訳ありません。肝心なところを勘違いしていました。 ということでちょっと解説です。 FTPによる転送には2つのコネクションが必要になります。 ひとつは制御用のコネクションでコマンド等のやり取りはこちらでやります。 もうひとつがデータ転送用のコネクションで、これの確立の仕方によりPORTモードとPASVモードがあります。 このデータ転送用のコネクションがうまく張れないと、リストやファイルの転送ができないため、今回のように認証までしかまともできないということになります。 制御用のコネクションの張り方は、PORTモードでもPASVモードでも変わらず、 ・クライアント(*)--→サーバー(21) になります。 ()の中の数字はポートの番号、*は任意のポートということです。 データ転送用のコネクションは、 PORTモードでは、 ・クライアント(*)←--サーバー(20)   (ここが勘違いです) になります。この際サーバー側の20番ポートは内部から外部へのアクセスなので、開ける必要はないはずなのですが、なぜか開けることになってますね。(フォローできる方がおられましたらお願いします) 一方PASVモードでは、 ・クライアント(*)--→サーバー(*) となります。 問題になるのはコネクションを張るときに、接続を受け入れる側で必要なポートが開いているかどうかということです。 制御用の場合にはサーバー側の21番ポートが開いてればそれでいいのですが、データ転送用の場合はPORTモードならクライアント側の、PASVモードならサーバー側の任意のポートが開いている必要があります。 さて、アナログ接続ならそのままで出来た理由ですが、そのときにはルーターも何も使われていませんよね。ファイアーウォール関連のソフトもインストールしていないようであれば、そのPCはすべてのポートが開放されている状態ですから、PORTモードで普通に転送が行えるわけです。 GX5を使った際、SW-4P Proの20番ポートを開放して出来るようになったわけの方は、よくわかりません。 GX5側でDMZの設定でもしない限りPORTモードでの転送はできないはずですし、その場合でも20番ポートは直接は関係しないはずなのですが。 一般にクライアント側にルータ等のファイアーウォールがありPORTモードが使用できない場合にはPASVモードで転送するようにします。 その際サーバー側の任意のポートを開放されている必要があるわけですが、全てのポートを空けるのはセキュリティ上好ましくありません。 そこで多くの場合、FTPサーバの設定を行いPASVモードに使うポートを制限します。たとえば1024~1030といった感じです。 こうしておけば、ルータの設定で1024~1030を開けておくだけでPASVモードが使用できますし、クライアント側にファイアーウォールが設置されていても問題になりません。

Otanoshike
質問者

お礼

詳しい解説をありがとうございます。 >GX5を使った際、SW-4P Proの20番ポートを開放して出来るようになったわけの方は、よくわかりません。 なるほど、こっちの方が不思議だったんですね。 私のスキル不足で、少し理解できないところもありますが、勉強させていただきます。 大変たすかりました。ありがとうございました。

  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.1

ご自宅が内部から外部への一方向ルーティングしかされていないなら(普通はそうやってLANを安全に保っています)FTPクライアントをPASVモードにしないと駄目だと思います。 あとLISTで引っかかるといった辺りで思い当たるのが、FFFTPだとNLST -rの設定の辺りもどうでしょう。NEXT-ftpは使っていないのでどこにその設定があるかわかりませんが。

Otanoshike
質問者

お礼

早速の回答、ありがとうございます。 PASVも試してみたのですが、変化がありませんでした。 FFFTPですか、試してみます。 また、お気づきの事がありましたら、教えてください。 よろしくお願いします。

関連するQ&A