お忙しい中、丁寧なメールの返信ありがとうございました。
そして、BBSに書き込まないでメールを送ってしまい
御迷惑おかけしましたm(__)m
おやじさんのおかげで、疑問の解決とPASVモードの解決に至りましたので、BBSにて御報告したいと思います。
私が悩んでいたのは、ProFTPDでのPASV接続の際、
ホスト名は正しく接続してくれるのに、何故指定したポートでアクセスしてくれないのか、ということでした。
ルータの設定は、ファイアウォール、IPマスカレードも
しっかり設定してありました。
使用していたポートはOPT100でしたが、OPT100はPASVモードで
サーバ公開する場合の問題に対処しているらしく
ProFTPDの(MasqueradeAddress/ PassivePorts)をコメントアウトしましたら、PASVモードで正常にテスト完了いたしました。(TEST No.1895)
ただ、ローカル内でPASV接続してもFTP接続出来てしまうのが不思議ですが
きっとルータの仕様なんでしょうね。
(ローカルIPで接続しにいきました)
あと疑問だった、指定とは違ったポートに接続するのは
ルータの機能によるもので、どうしようもないことなんですね(^^;
OPT100は細かい設定ができるので、自分の手の届かない設定とか
無いと思ってました。
おやじさんの言うように、そういった機能のON、OFFくらい欲しいですね・・・
> 私が悩んでいたのは、ProFTPDでのPASV接続の際、
> ホスト名は正しく接続してくれるのに、何故指定したポートでアクセスしてくれないのか、ということでした。
> ルータの設定は、ファイアウォール、IPマスカレードも
> しっかり設定してありました。
>
> 使用していたポートはOPT100でしたが、OPT100はPASVモードで
> サーバ公開する場合の問題に対処しているらしく
> ProFTPDの(MasqueradeAddress/ PassivePorts)をコメントアウトしましたら、PASVモードで正常にテスト完了いたしました。(TEST No.1895)
>
> ただ、ローカル内でPASV接続してもFTP接続出来てしまうのが不思議ですが
> きっとルータの仕様なんでしょうね。
> (ローカルIPで接続しにいきました)
不思議でも何でもありません。せっかくですから「わからない」で済ませないで、是非自分のものにしてください。下記を見てみてください。
http://www.aconus.com/~oyaji/router/ftp.htm
MasqueradeAddress/ PassivePortsを設定していないProFTPDは、PASVモードでクライントがアクセスしてくると、相手の場所に関係なく自分の持っているアドレス、即ちサーバのプライベートアドレスとその時点で空いている非特権ポート(>1023)でアクセスしてくるようにPASVコマンドの応答でクライアントに通知します。
従って、家庭内では何も問題なくつながります。クライントがインターネットにいる場合、OPT100(90)がこの応答コマンドを監視していて、サーバのアドレスを記録すると同時に自分のWAN側のアドレスに書換え、同時にポート番号も書き換えます。
従って、インターネット側ではあたかもルータがProFTPDであるがごとく見えていて、クライアントはそこにアクセスしてくるので、ルータが覚えていたサーバのアドレスにポートを含めてマッピングしてくれるのでうまく通信できるのです。
これでわかるとおり、OPT100がFTPのPASV通信であることを認識できないとこの機能は働きませんから、FTPのポートを21番以外にしたり、SSL化したりするとうまくつながりません。
> あと疑問だった、指定とは違ったポートに接続するのは
> ルータの機能によるもので、どうしようもないことなんですね(^^;
> OPT100は細かい設定ができるので、自分の手の届かない設定とか
> 無いと思ってました。
> おやじさんの言うように、そういった機能のON、OFFくらい欲しいですね・・・
おやじの知識として再確認ですが、データコネクションポートに関するフィルタリングはどうされたのでしょうか?
特に変更されていないのだとすると、OPT100はフィルタ設定よりステートフルインスペクションの方が優先していると思われるのですが。つまりこのケースでは、FTP通信を意識してデータコネクションがつながってくると通過させてあげているということになります。従って、フィルタは効いていないのと等価(といっても問題があるわけではありませんので誤解なきよう・・。)ということ。おやじが使用しているMN8300はフィルタが最優先なので、機種によっても微妙に作りが違うと思うので、情報を提供お願いします。
>クライントがインターネットにいる場合、OPT100(90)がこの応答コマンドを監視していて、サーバのアドレスを記録すると同時に自分のWAN側のアドレスに書換え、同時にポート番号も書き換えます。
> 従って、インターネット側ではあたかもルータがProFTPDであるがごとく見えていて、クライアントはそこにアクセスしてくるので、ルータが覚えていたサーバのアドレスにポートを含めてマッピングしてくれるのでうまく通信できるのです。
親切にありがとうございます。
どういった流れで接続が行われているか、よく理解できました。
まだまだ理解が乏しかったようですね・・・
勉強になりました。
>おやじの知識として再確認ですが、データコネクションポートに関するフィルタリングはどうされたのでしょうか?
> 特に変更されていないのだとすると、OPT100はフィルタ設定よりステートフルインスペクションの方が優先していると思われるのですが。つまりこのケースでは、FTP通信を意識してデータコネクションがつながってくると通過させてあげているということになります。従って、フィルタは効いていないのと等価(といっても問題があるわけではありませんので誤解なきよう・・。)ということ。おやじが使用しているMN8300はフィルタが最優先なので、機種によっても微妙に作りが違うと思うので、情報を提供お願いします。
フィルタリングの設定は特に変更していません。
が、おやじさんの言う「フィルタは効いていないのと等価」という話からすると、データコネクションのフィルタ設定はいらないのかと思い、ファイアーウォールの設定でftp-dataの設定を削除してみてテストしてみたところ、正常に接続できました。
と、いうことは、おやじさんの言うようにSPIの設定を優先しているということでしょうか。
> >おやじの知識として再確認ですが、データコネクションポートに関するフィルタリングはどうされたのでしょうか?
> > 特に変更されていないのだとすると、OPT100はフィルタ設定よりステートフルインスペクションの方が優先していると思われるのですが。つまりこのケースでは、FTP通信を意識してデータコネクションがつながってくると通過させてあげているということになります。従って、フィルタは効いていないのと等価(といっても問題があるわけではありませんので誤解なきよう・・。)ということ。おやじが使用しているMN8300はフィルタが最優先なので、機種によっても微妙に作りが違うと思うので、情報を提供お願いします。
> フィルタリングの設定は特に変更していません。
> が、おやじさんの言う「フィルタは効いていないのと等価」という話からすると、データコネクションのフィルタ設定はいらないのかと思い、ファイアーウォールの設定でftp-dataの設定を削除してみてテストしてみたところ、正常に接続できました。
> と、いうことは、おやじさんの言うようにSPIの設定を優先しているということでしょうか。
少し誤解があるようなので補足します。ポート番号20のftp-dataのフィルタは、PASVモードには何も関係しないフィルタです。おやじが例であげているフィルタは、家庭内のクライアントから外部のFTPサーバにActiveモードでアクセスしたときに、サーバから接続してくるデータコネクションのソースのポート番号(サーバ側が使っている番号)が20番だったら許可するもの。方向も目的も違います。
PASVモードのデータコネクションの話は、5000-5029のことです。これは、ProFTPDのPasvPortsでこの範囲でアクセスしてくるように指定しているのでポートを開けて待ち構えているようにしているものです。
しかし、ポート自体がOPT100によって変わっているにもかかわらずPASVで通信できているということから、SPI優先で動いているのは間違いないですね。SPIの趣旨からしても、この動作のほうが正解と思います。
> 少し誤解があるようなので補足します。ポート番号20のftp-dataのフィルタは、PASVモードには何も関係しないフィルタです。おやじが例であげているフィルタは、家庭内のクライアントから外部のFTPサーバにActiveモードでアクセスしたときに、サーバから接続してくるデータコネクションのソースのポート番号(サーバ側が使っている番号)が20番だったら許可するもの。方向も目的も違います。
そうでしたか。自分のサーバーに関する設定ではなかったのですね。
誤解していました。
> PASVモードのデータコネクションの話は、5000-5029のことです。これは、ProFTPDのPasvPortsでこの範囲でアクセスしてくるように指定しているのでポートを開けて待ち構えているようにしているものです。
> しかし、ポート自体がOPT100によって変わっているにもかかわらずPASVで通信できているということから、SPI優先で動いているのは間違いないですね。SPIの趣旨からしても、この動作のほうが正解と思います。
ええ、OPT100に関してはデータコネクションのための5000-5029ポートの設定は意味がないと思ったので削除してみましたが、問題なく動作しています。
色々ありがとうございました。