• ベストアンサー

FTPのデータとポート

質問させていただきます。 FTPには、ポートとしてデータ(20番)と制御(21番)がありますが、一般にポートを変更すると言った場合、後者の制御を変えると思いますが、例えばポートを変更した場合でもデータは実際には20番を通っているのでしょうか? また、これは余談なのですが、友人が、FTPのポートを変更した私のFTP鯖に接続しようとしたところ、パスワード確認の後固まってしまいました。原因がまったく予想できないので、もし少しでも分かる方がいらっしゃいましたら、ヒントでもいただけるとうれしいです。 使用ソフトは「BulletProof FTP Server」(体験版)です。

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

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

FTPが混乱を招く原因は、この20番と21番に尽きるねぇ。 まず、次の4点に留意していただきたい。 1.FTPはFTPコネクションとFTP-DATAコネクションの2つのTCP接続を必要とする。 2.FTPにはアクティブFTPとパッシブFTPがある。 3.20番を使うのはアクティブの方で、FTPコネクションはクライアント:xxxx→サーバ:21、FTP-DATAコネクションはクライアント:20←サーバ:xxxx。 4.パッシブFTPは、FTPコネクションはクライアント:xxxx→サーバ:21、FTP-DATAコネクションはクライアント:xxxx→サーバ:yyyy(サーバが指定したポート)。 ここで、3を見ていただければ分かるように、アクティブFTPでは、クライアントが20番のポートを開放し、サーバがそこに接続する。20番を使うのは、サーバではなくクライアントなのだ。  以上の事から、私が思うに恐らくFTPポートを変更したのが問題ではなく(理由:パスワードの確認までは行っている→FTPコネクションはOK)、友人側のブロードバンドルータやファイアウォールやなんやでFTP-DATAコネクションが拒否されている。  アクティブFTPの場合は、君のマシンのOUTPUTファイアウォールルール、途中経路のブロードバンドルータなどNATをしている機器、彼のマシンのINPUTファイアウォールルールを確認してみよう。  パッシブFTPの場合は、彼のマシンのOUTPUTファイアウォールルール、君のマシンのINPUTファイアウォールルールとFTPサーバのパッシブポート設定を確認してみよう。  友人のFTP接続については、もう少し詳しい状況を説明していただけたらと思う。とりあえずは、上に説明したFTPの動作原理を元に、思いつく原因を試してみていただきたい。

keydaimon
質問者

お礼

わかりやすい回答有難うございます! 試してみたのですが、友人がPASVモードのときはうまくいくのですが、ACTIVEだとうまくいきません。セキュリティ上の問題からACTIVEにしたいのですが、どうも原因がルータなのか、うまくいかないようです(それも不明)。これを解決する方法は、個別に対応という感じかもしれません。相性が悪いのでしょうか。こういった事例がほかにもあるか調べてみたいと思います。

関連するQ&A

専門家に質問してみよう