- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:FTPサーバのPassiveポートが変わる)
FTPサーバのPassiveポートが変わる
このQ&Aのポイント
- Windows2003 Serverにて、IIS,SMTP,POP3,FTPサービスを起動し、サーバはグローバルIPを取得してWebを公開して利用しています。FTPをPORTモードでしか使っておらず、今回、PASVモードでも使えるように「PassivePortRange」を「10000-11000」と設定しました。LANのPCからはPROTモードでもPASVモードでも接続できますが、WAN側からはPORTモードでしか接続できません。
- クライアントではFFFTPを利用していますが、WANからPASVモードで接続しようとすると、リスト取得時にポート番号が設定された範囲とは異なる番号が返ってきて接続に失敗しています。
- ルータはYAMAHAのRT58iを利用し、グローバルIPでのサーバ参照はIP mascaradeを設定して公開しています。サーバ側の設定は正常であるため、ルータの設定のフィルタ設定が原因の可能性があります。解決策がわからないため、アドバイスを求めています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ルーターがFTPのポートのパケットの内容を監視して、Passiveモードの時にポート番号を書き換えているのでしょう。 http://www.rtpro.yamaha.co.jp/RT/manual/rt58i/Cmdref.pdf のコマンドリファレンスの129ページ、「FTPとして認識するポート番号の設定」で、デフォルトでは21番ポートを監視する設定になっていることが判るかと。 無効にする設定があるのかどうか不明ですので、この監視ポートを別の未使用なポートに振り直してしまうというのはどうでしょうか?
お礼
Wr5さん、早速教えて頂きありがとうございます。 早速このP129に書かれたFTPポートとして自動認識される設定を 他のポートに変えてみましたが、FTPサーバで設定したポート範囲が 返されるのは良いものの、今度はIPがローカルIPに変わってしまってIP mascaredeが外れてしまう様です。 「no」設定で外す事も可能ですが、外すと今度は元の60000番台のポートが返ってきます。 ルータが自動判断しているのはこれで分りました。 後はnatとmascaradeの関係の設定の様ですね。 もう少し頑張っていろいろやってみます。
補足
解決いたしました。 色々と調べて試してみた結果、FTPの制御ポートとして21番が設定 されているのでそれはそのままとし、IP mascaradeでポート変換される事が前提なので、範囲を指定すればできるという事が分りました。 ですので、既に静的フィルタで設定されているフィルタに対し、コマンドで ip filter [フィルタ番号] pass * [受信側IP] tcp * 21,10000-11000 とする事で、PORT時もPassive時もIP mascaradeで変換されて正しく ポート通過できる様になりました。 ポートの範囲指定欄にカンマ(,)で続けて指定できるとは知りませんでした。同じ様な事で悩まれた方はご参考になればと思います。