• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:パッシブモードでポート20番の開放が必要?)

パッシブモードでポート20番の開放が必要?

このQ&Aのポイント
  • 最近になってFTPサーバーの構築に挑戦し始めたのですが、パッシブモードを使ってデータ通信用ポートにアクセスするためにポート20番の開放が必要なのか疑問に思っています。
  • パッシブモードでFTPサーバーを動かしている際に、データ通信用ポートとして60000~60030番を設定しましたが、外部からの接続を受け付けることができません。試行錯誤の末、ポート20番も開放する必要があることを突き止めましたが、なぜポート20番の開放が必要なのか理解できません。
  • パッシブモードでFTPサーバーを構築しようとしていますが、ポート20番の開放が必要なのか疑問です。データ通信用ポートとして60000~60030番を設定しており、ルーター側もこの範囲のポートを開放しましたが、外部からの接続を受け付けることができません。ポート20番も開放する必要があるのでしょうか?ご教授いただけると助かります。

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

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.3

>「外部からの接続側」というのはクライアント端末のことでしょうか? そうです。 >そうであれば"netstat -n"でクライアントの使用しているポートも確認したのですが、ポートはシステムが決めたポート番号が >ランダムに使用されているような状態でした。 クライアント側の制御ポートに流れるコマンドを……ということだったのですが…。 http://www.aconus.com/~oyaji/router/ftp.htm クライアント側がPASVモードを指定するために発行したコマンドのレスポンスで指定されるポート番号が、 vsftpdで設定しているポート番号の範囲になっているか? を確認します。 範囲外になっていた場合はルータが書き換えた可能性が高いです。 # 書き換えたんならルータが責任持ってポート変換して欲しいトコですけどね…。 ポート番号の算出はこちらとかが参考になるかと。 http://www.nina.jp/server/basic/ftp.html >データ通信用ポートには60000~60030番を設定しており 一つのクライアントから31個もデータ通信用のコネクションが張られる…とも思えませんので、 もう少し減らしてもいいかと思われます。 # 私なら…せいぜい4個くらいでしょうかねぇ。 # まぁFTPサーバを外部公開していませんけど。 >ルーターにはAirMacを使っているのですが http://blog.bluegold.me/2011/08/problem-of-airmac-extreme/ FTPサーバ立てるのには…向かないっぽいですね。 opensshでsftpした方がいいかもしれません。 # SSHは非標準ポートへの変更を勧めますが。

nuko3chi
質問者

お礼

返答遅れて申し訳ございません。 詳しい解説をありがとうございます。おかげさまで原因は掴めたようです。 説明いただいた内容をまだ十分に検証できていないのですが どうやら、クライアントからのPASVコマンドの応答として サーバから通知されるサーバのアドレスがプライベートアドレスで返されているようです。 ルーターにプライベートIPをグローバルIPに変換する機能も無いため そのままパッシブモードでの通信が終了しているようです。 確認が取れていないのですが、パッシブモードで動作していると思っていた点については どうやらパッシブモードの失敗後に、そのままポートモードに移行して動作していたので うまくいっていると勘違いしていたように思われます。 ともあれ、私が所有しているルーター内でパッシブモード+SSLを使ったFTPサーバーは構築できないようなので SFTPを使ってFTPサーバーの構築を試してみたいと思います。 非常に参考になるアドバイスで本当に助かりました。ありがとうございます。

その他の回答 (2)

  • foitec
  • ベストアンサー率43% (1080/2457)
回答No.2

PSVモードでは20番は使いません。 PSVモードではPSVコマンドに応答(認証後)し、FTPサーバー側から待ち受けポートを知らせます。 で、まぁこのあたりの設定はvsFTPdで設定していると思うので問題は >パッシブモードを使用するために20番ポートを開放しなければならないとは書いていませんでした。 はいそのの通りですね。 恐らく静的IPマスカレードはOKでしょう。 なのでパケットフィルタ設定を見直しましょう。 WAN側から順方向にftpを「通過」ですね。

nuko3chi
質問者

補足

回答ありがとうございます。 パケットフィルタの設定については、ルーター側に関しては質問文で申し上げたような設定をしています。 ルーターにはAirMacを使っているのですが、ルーターの設定画面をみても通信を制御する方向を指定するような 設定項目はないようです。 それと、サーバーOSにはCentOS6を使っています。しかしデーモンのiptableに関しては起動すらさせていないので まず、この部分が原因になることも無さそうです。

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

ルータ自体がFTPのコマンドを監視していて、データ通信用のポートを自前で制御している。 なんて場合もありますが、その辺りはどうなんでしょう? # サーバからの返答をルータが書き換えてクライアントに送信する場合があります。 # まぁ、そういう場合はルータ自身に「FTP(コマンド)用のポート番号」を設定する項目があったりしますが…。 外部からの接続側でデータ用ポートがいくつになっているのか。を確認した方が良いかも知れません。

nuko3chi
質問者

補足

ありがとうございますm(__)m ルーターにはAirMacを使っているのですが、WEBサイトやルータの設定画面見た限り 「FTP(コマンド)用のポート番号」は見当たりませんでした。 でもなんとなく設定できないだけで「データ通信用ポートを自動制御」している というのはありそうな気がします。ルーターが何かしている以外に考えられる原因がないんですよね。 CentOS側ではiptableをOFFにしちゃっていますし。。。 「外部からの接続側」というのはクライアント端末のことでしょうか? そうであれば"netstat -n"でクライアントの使用しているポートも確認したのですが、ポートはシステムが決めたポート番号が ランダムに使用されているような状態でした。

関連するQ&A