重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

Windows2003 Serverにて、IIS,SMTP,POP3,FTPサービスを起動し、
サーバはグローバルIPを取得してWebを公開して利用しています。

今までFTPをPORTモードでしか使っておらず、今回、PASVモードでも使えるように
しようとして「PassivePortRange」を「10000-11000」と設定しました。
サーバと同じセグメントにあるLANのPCからはPROTモードでもPASVモードでも
接続(上記設定のPassivePrtRange内のポートで接続)して利用できるのですが、
WAN側からはPORTモードでしか接続できません。
クライアントではFFFTPを利用していますが、WANからPASVモードで接続しようとすると、
サーバ接続まではできた後、リスト取得時のPASVコマンド発行後に帰ってくるサーバからの
ポート番号が、上記設定内のポート番号とは程遠い(60000番台)が帰ってきてリスト取得に
失敗していまいます。

ルータはYAMAHAのRT58iを利用し、グローバルIPでのサーバ参照は
IP mascaradeを設定して公開しています。
サーバ側の設定はLANで設定したポートで接続できているので問題ないと思われ、
ルータの設定のフィルタ設定が悪いのだと思いますが、どこが悪いのか、
どう設定すれば良いのかが分かりません。
どなたか、分る方がいらっしゃいましたら教えてください。
よろしくお願い致します。

A 回答 (1件)

ルーターがFTPのポートのパケットの内容を監視して、Passiveモードの時にポート番号を書き換えているのでしょう。



http://www.rtpro.yamaha.co.jp/RT/manual/rt58i/Cm …
のコマンドリファレンスの129ページ、「FTPとして認識するポート番号の設定」で、デフォルトでは21番ポートを監視する設定になっていることが判るかと。
無効にする設定があるのかどうか不明ですので、この監視ポートを別の未使用なポートに振り直してしまうというのはどうでしょうか?

この回答への補足

解決いたしました。

色々と調べて試してみた結果、FTPの制御ポートとして21番が設定
されているのでそれはそのままとし、IP mascaradeでポート変換される事が前提なので、範囲を指定すればできるという事が分りました。
ですので、既に静的フィルタで設定されているフィルタに対し、コマンドで
ip filter [フィルタ番号] pass * [受信側IP] tcp * 21,10000-11000
とする事で、PORT時もPassive時もIP mascaradeで変換されて正しく
ポート通過できる様になりました。

ポートの範囲指定欄にカンマ(,)で続けて指定できるとは知りませんでした。同じ様な事で悩まれた方はご参考になればと思います。

補足日時:2008/07/16 09:59
    • good
    • 0
この回答へのお礼

Wr5さん、早速教えて頂きありがとうございます。
早速このP129に書かれたFTPポートとして自動認識される設定を
他のポートに変えてみましたが、FTPサーバで設定したポート範囲が
返されるのは良いものの、今度はIPがローカルIPに変わってしまってIP mascaredeが外れてしまう様です。

「no」設定で外す事も可能ですが、外すと今度は元の60000番台のポートが返ってきます。

ルータが自動判断しているのはこれで分りました。
後はnatとmascaradeの関係の設定の様ですね。
もう少し頑張っていろいろやってみます。

お礼日時:2008/07/16 09:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!