WarFTPD(Ver1.81RC11)を使い、FTPサーバを立ち上げました。
なお、ルーターはSW4PHGを使用しています。
おやじ様の「NATルータ環境下でのPASV公開」を読ませていただきました。
ここではSW4PHGはPASVモードに対応しているのでデーモンを含めて特に対策はしなくて良いとありましたが、現状PASVでの接続が出来ません。
そこでお教え頂きたいのですが、
(1)ルータの設定ではバーチャルサーバのFTP(dataとconrol)を有効にしておくだけでよい?(PASVに指定するポート番号(おやじ様の設定で言うところのTCP4000-4029)をアクセス制限しないようにすべき?)
(2)warFTPDの設定はPASVを許可にしておく?(ちなみにWarFTPDのnaf.confはおやじ様の設定と同等)
(3)windowsファイアウォールは例外でWarFTPDを指定する?
※サーバマシンのTCP/IPの設定でフィルタリングは全て許可にしてあります。
上記のように当方で考えられたことは一応いろいろ試してみたのですが・・・。
何分、今回初めていろいろ調べてやってみた初心者な者で、他に何か足りないところがあるのではと調べてみましたが分からず。
考えられることなどありましたらご教授いただければ幸いです。
> WarFTPD(Ver1.81RC11)を使い、FTPサーバを立ち上げました。
> なお、ルーターはSW4PHGを使用しています。
> おやじ様の「NATルータ環境下でのPASV公開」を読ませていただきました。
> ここではSW4PHGはPASVモードに対応しているのでデーモンを含めて特に対策はしなくて良いとありましたが、現状PASVでの接続が出来ません。
> そこでお教え頂きたいのですが、
> (1)ルータの設定ではバーチャルサーバのFTP(dataとconrol)を有効にしておくだけでよい?(PASVに指定するポート番号(おやじ様の設定で言うところのTCP4000-4029)をアクセス制限しないようにすべき?)
SW4PHGのフィルタはデフォルトのまま使用しないと駄目です。
> (2)warFTPDの設定はPASVを許可にしておく?(ちなみにWarFTPDのnaf.confはおやじ様の設定と同等)
当然ですね。
> (3)windowsファイアウォールは例外でWarFTPDを指定する?
Windowsファイヤウォールは、例外でWarFTPDを指定だけでは駄目で、FTP PASVのデータコネクションで使用するポート(おやじの設定で言うところのTCP4000-4029)を明示的に許可しなければならないのですが、ポートの開放がポート毎ならできるが、範囲指定できないので実用的ではありません。
従って、もうもう少しお利巧なファイヤウォール(FTP PASV を理解して自動的にフィルタするもの)を使うか、Windowsファイヤウォールを止めないと駄目です。
「PASVでの接続が出来ません。」というのが、LISTで止まることを指しているなら恐らくこれが原因でしょう。
> ※サーバマシンのTCP/IPの設定でフィルタリングは全て許可にしてあります。
全て許可するなら、止めておけばよいのでは? おやじは止めています。
> SW4PHGのフィルタはデフォルトのまま使用しないと駄目です。
ここで言うデフォルトというのは、バーチャルサーバのFTP(CONTROLとDATA)を有効にするだけで、アクセス制限はしないと理解しましたがそれでよいのでしょうか?
> Windowsファイヤウォールは、例外でWarFTPDを指定だけでは駄目で、FTP PASVのデータコネクションで使用するポート(おやじの設定で言うところのTCP4000-4029)を明示的に許可しなければならないのですが、ポートの開放がポート毎ならできるが、範囲指定できないので実用的ではありません。
> 従って、もうもう少しお利巧なファイヤウォール(FTP PASV を理解して自動的にフィルタするもの)を使うか、Windowsファイヤウォールを止めないと駄目です。
> 「PASVでの接続が出来ません。」というのが、LISTで止まることを指しているなら恐らくこれが原因でしょう。
実際、FTP TESTのページを使用して確認するとLISTでとまってしまいます。
そこで、使用するポートをTCP4000-4004に限定し、Windowsファイアウォールで明示的にこのポートを許可(例外設定)してみましたが駄目でした。
次に、windowsファイアウォールを無効にしてみましたが、こちらも駄目でした。
> 全て許可するなら、止めておけばよいのでは? おやじは止めています。
これは私の勘違いでした(汗)チェックを入れるとフィルタしてしまうのでしたね。チェックをはずしてフィルタをやめました。
と、結果的には接続できない状態が続いています。
今一度、設定その他を整理確認してみたいと思います。
また、ご教授いただきたい事柄が出てきましたときには、よろしくお願いいたします。
> > SW4PHGのフィルタはデフォルトのまま使用しないと駄目です。
>
> ここで言うデフォルトというのは、バーチャルサーバのFTP(CONTROLとDATA)を有効にするだけで、アクセス制限はしないと理解しましたがそれでよいのでしょうか?
方向が違うので、data(20)は不要です。設定しても問題はないがなくても何も困らない盲腸レベルですが、デフォルトで入っているとなると、さすがCoregaといいたくなりますね。
それよりも、PASVで使用するデータポート(下記で言うところの4000-4004)を設定してサーバに向けてください。これで、動く可能性があります。
下記を見るとWindowsファイヤウォール等は問題なさそうですし、テストログからするとデータコネクションも設定どおり来ているようなので(300xや500x)、これで動きそうな気がします。普通は、PASV対応ルータなら自動的にデータコネクションをポートフォワードしてくれるはずなのですが・・・。
> > Windowsファイヤウォールは、例外でWarFTPDを指定だけでは駄目で、FTP PASVのデータコネクションで使用するポート(おやじの設定で言うところのTCP4000-4029)を明示的に許可しなければならないのですが、ポートの開放がポート毎ならできるが、範囲指定できないので実用的ではありません。
> > 従って、もうもう少しお利巧なファイヤウォール(FTP PASV を理解して自動的にフィルタするもの)を使うか、Windowsファイヤウォールを止めないと駄目です。
> > 「PASVでの接続が出来ません。」というのが、LISTで止まることを指しているなら恐らくこれが原因でしょう。
>
> 実際、FTP TESTのページを使用して確認するとLISTでとまってしまいます。
> そこで、使用するポートをTCP4000-4004に限定し、Windowsファイアウォールで明示的にこのポートを許可(例外設定)してみましたが駄目でした。
> 次に、windowsファイアウォールを無効にしてみましたが、こちらも駄目でした。
>
> > 全て許可するなら、止めておけばよいのでは? おやじは止めています。
>
> これは私の勘違いでした(汗)チェックを入れるとフィルタしてしまうのでしたね。チェックをはずしてフィルタをやめました。
たびたびすみません。
> 方向が違うので、data(20)は不要です。設定しても問題はないがなくても何も困らない盲腸レベルですが、デフォルトで入っているとなると、さすがCoregaといいたくなりますね。
> それよりも、PASVで使用するデータポート(下記で言うところの4000-4004)を設定してサーバに向けてください。これで、動く可能性があります。
設定してみましたが、やはり駄目でした。
> 下記を見るとWindowsファイヤウォール等は問題なさそうですし、テストログからするとデータコネクションも設定どおり来ているようなので(300xや500x)、これで動きそうな気がします。普通は、PASV対応ルータなら自動的にデータコネクションをポートフォワードしてくれるはずなのですが・・・。
上記について少し教えていただけますでしょうか。
データコネクションも設定どおり・・・(300xや500x)とありますが、これはWarFTPDから300xや500xでデータコネクションを繋げと着ているということですか?
設定では4000-4004を使うようにとしているのですが。
で気になったので、ルータのアクセス制限ログを見てみたらTCP500xでルータにはじかれていることがわかりました。
これが一体どういうことなのかが良くわかりません。
> > 方向が違うので、data(20)は不要です。設定しても問題はないがなくても何も困らない盲腸レベルですが、デフォルトで入っているとなると、さすがCoregaといいたくなりますね。
> > それよりも、PASVで使用するデータポート(下記で言うところの4000-4004)を設定してサーバに向けてください。これで、動く可能性があります。
>
> 設定してみましたが、やはり駄目でした。
>
> > 下記を見るとWindowsファイヤウォール等は問題なさそうですし、テストログからするとデータコネクションも設定どおり来ているようなので(300xや500x)、これで動きそうな気がします。普通は、PASV対応ルータなら自動的にデータコネクションをポートフォワードしてくれるはずなのですが・・・。
>
> 上記について少し教えていただけますでしょうか。
> データコネクションも設定どおり・・・(300xや500x)とありますが、これはWarFTPDから300xや500xでデータコネクションを繋げと着ているということですか?
> 設定では4000-4004を使うようにとしているのですが。
> で気になったので、ルータのアクセス制限ログを見てみたらTCP500xでルータにはじかれていることがわかりました。
> これが一体どういうことなのかが良くわかりません。
これで、ほぼはっきりしました。下記でうまく動くと思います。ルータがPASVをサポートしているなら、余計なことを一切しなければ動作するはずです。
1. nat.confは不要です。nat.confリネームしてwarftpdを再起動してください。
2. windowsファイヤウォールを止めてください。
3. データコネクションのポートの設定は削除して、FTPの21番だけで良いです
> これで、ほぼはっきりしました。下記でうまく動くと思います。ルータがPASVをサポートしているなら、余計なことを一切しなければ動作するはずです。
>
> 1. nat.confは不要です。nat.confリネームしてwarftpdを再起動してください。
> 2. windowsファイヤウォールを止めてください。
> 3. データコネクションのポートの設定は削除して、FTPの21番だけで良いです
うぅ・・・駄目でした。
今度はランダムなポート番号で全てルータにはじかれました。
ルーターが対応していないのでしょうか?
ちなみにデータコネクションのポート21番はコントロールポートの20番を設定すると強制的に設定されてしまいます。
自己レスです。
コレガのページで検索していたら対応していないとの情報が。
http://www.corega.co.jp/support/faq/search/faq117.htm
もともと駄目だったのかぁ。
何だかよくわからないうちに繋がりました(汗)
とりあえず、繋がった環境をここに記してみます。
◎SW4P HG側設定
(1)バーチャルサーバで使用するポートをひとつずつ設定する。(ポートが多いと面倒)
(2)アクセス制限でサーバPCを別グループに設定して、必要なポートのみアクセスを許可する(当方はHTTP:80 HTTPS:443 FTP:20/21) でも設定の必要は無いかも。
◎WarFTPD側設定
(1)naf.confをおやじ様の解説のように設定
◎サーバPC設定(当方はWinXP Home Edition SP2)
(1)Windowsファイアウォールは無効に設定
(2)ネットワーク接続のTCP/IPのプロパティの詳細設定でTCP/IPフィルタリングを使用しない(チェックをはずす)
先ほどまでいろいろとやっていたのと何ら変わりがないのだが・・・。
一応、繋がるポートはルータで指定しているのでセキュリティ上は問題ないのですかね?
> 何だかよくわからないうちに繋がりました(汗)
最悪の結果ですね。 原因がわからないということはいろいろテストした結果が知識データベースとして何も役にたたなくなってしまったのですから。一つ一つ変更する理由を考えて設定し結果確認していけば、期待通りになる・ならないで考えた理由の裏づけができたと思うのですが勿体ないです。
> とりあえず、繋がった環境をここに記してみます。
>
> ◎SW4P HG側設定
> (1)バーチャルサーバで使用するポートをひとつずつ設定する。(ポートが多いと面倒)
PASV用のデータポートは設定していないですよね。前レスのように、nat.confと異なる、しかも変更していないのに違うポート(400x設定に対して300xや500xでクライアントがアクセス)したということは、PASVコマンドの応答メッセージの中をルータが書き換えた以外考えられないので・・。(実はnat.confが正しく機能していなかった場合も同様のことが起こり、サーバが勝手なポートを通知していた可能性もある。)
> (2)アクセス制限でサーバPCを別グループに設定して、必要なポートのみアクセスを許可する(当方はHTTP:80 HTTPS:443 FTP:20/21) でも設定の必要は無いかも。
アクセス制限はLAN側端末(サーバ)が外部にアクセスするポートを制限する機能なのでサーバ動作(外部からのアクセス)には全く関係ないので、意味がない。
> ◎WarFTPD側設定
> (1)naf.confをおやじ様の解説のように設定
ここは、よくわからないところ。FTPサーバのPASV対応しているルータは、PASVコマンドの応答メッセージの中を見ているので、ポート番号はサーバではなくwarftpdがコントロールするだけなので差し支えないがIPアドレスが自分(ルータ)のWAN側のグローバルアドレスだったりするとおかしくなるのが普通。nat.confで設定しているポートアドレスと異なるポート番号でつながってきていれば、ルータは間違いなくFTPサーバのPASV対応しています。おやじのテストログで、
227 Entering Passive Mode (xxx,xxx,xxx,xxx,15,161).
の最後の2つの数字がポート番号で、15×256+161=4000 という意味です。
なんとなくですが、直近のログではおっしゃっていた400xになっているのでいままではnat.cnfの設定が誤っていたのか、正しく機能していなかったのかも。もしそうなら、SW4P HG側設定(1)では400xをバーチャルサーバ設定しているはず。
となると、SW4P-HGがPASV対応しているというのはガセネタ?(但し、前スレで示していただいたコレガの説明は、意味不明ですね。「DMZ設定でお使い下さいますか(サーバ側の話)、FTPサーバにアクセスさせるFTPクライアントソフト側でパッシブモードに設定して下さい。(クライアント側の話)」で、これは両方対応していなければできないはないをどちらか一方でよいと言うこと自体、有り得ない話なので・・・?
> ◎サーバPC設定(当方はWinXP Home Edition SP2)
> (1)Windowsファイアウォールは無効に設定
> (2)ネットワーク接続のTCP/IPのプロパティの詳細設定でTCP/IPフィルタリングを使用しない(チェックをはずす)
これは、逆にこうしないと400xが通過できないので正解。ポート範囲を狭めて設定する方法でも可ですが。
> 先ほどまでいろいろとやっていたのと何ら変わりがないのだが・・・。
> 一応、繋がるポートはルータで指定しているのでセキュリティ上は問題ないのですかね?
おっしゃっているとおり、NATが入っていて指定ポート以外は入ってこれないので相当十分です。
>> PASV用のデータポートは設定していないですよね。前レスのように、nat.confと異なる、しかも変更していないのに違うポート(400x設定に対して300xや500xでクライアントがアクセス)したということは、PASVコマンドの応答メッセージの中をルータが書き換えた以外考えられないので・・。(実はnat.confが正しく機能していなかった場合も同様のことが起こり、サーバが勝手なポートを通知していた可能性もある。)
おやじ様からPASV用データポートをバーチャルサーバで設定してみては・・・ということで一度設定してみたのですが、その時は駄目でした。
その状態で500xという状態でした。
> なんとなくですが、直近のログではおっしゃっていた400xになっているのでいままではnat.cnfの設定が誤っていたのか、正しく機能していなかったのかも。もしそうなら、SW4P HG側設定(1)では400xをバーチャルサーバ設定しているはず。
> となると、SW4P-HGがPASV対応しているというのはガセネタ?(但し、前スレで示していただいたコレガの説明は、意味不明ですね。「DMZ設定でお使い下さいますか(サーバ側の話)、FTPサーバにアクセスさせるFTPクライアントソフト側でパッシブモードに設定して下さい。(クライアント側の話)」で、これは両方対応していなければできないはないをどちらか一方でよいと言うこと自体、有り得ない話なので・・・?
おやじ様からのご指示でnaf.confをリネームして再起動して駄目で、その後元に戻しました。よって設定内容の変更はしてません。
かつ、バーチャルサーバで設定しても駄目だったことから、やはりSW4P-HGはPASV対応ではないのかもしれません。
その後、色々やっているときにアクセス制限ログを見たところ400xではじかれているのを見つけ、再度バーチャルサーバで400xを指定したところ、繋がりました。(このときはnaf.conf有効)
ということを考えると、やはり今までnaf.confが正しく動いていなかったのでしょうか?
> おやじ様からのご指示でnaf.confをリネームして再起動して駄目で、その後元に戻しました。よって設定内容の変更はしてません。
> かつ、バーチャルサーバで設定しても駄目だったことから、やはりSW4P-HGはPASV対応ではないのかもしれません。
> その後、色々やっているときにアクセス制限ログを見たところ400xではじかれているのを見つけ、再度バーチャルサーバで400xを指定したところ、繋がりました。(このときはnaf.conf有効)
> ということを考えると、やはり今までnaf.confが正しく動いていなかったのでしょうか?
話は単純で、nat.confはクライアント側にルータのWAN側のIPアドレスとサーバが待ち受けているポートを制御コネクションで通知するためのものです。
従って、ルータはPASV対応していない環境(おやじの環境も同じ)では、これによりクライアントは指定されたアドレス(nat.confに記述したルータのWAN側のIPアドレス)に指定されたポート番号(nat.confに記述したポート番号)で接続してくるので、21番とnat.confに記述したポート番号がサーバにポートフォワーディングしてあれば正常に通信できる、という仕組みです。
で、結論ですが過去ログにありました。SW-4P HGはPASV対応していないですね。その後出でた、HG Proからです。従って、現状の、nat.conf設定+バーチャルサーバでの21及び400xの設定、WindowsファイヤウォールとTCPフィルタの停止でうまくいっているのだと思います。従って、前述のように当初はWindowsファイヤウォールが邪魔をしていただけで、試行錯誤している中でnat.confの設定がうまくいかなかった場合があっただけと思います。
http://www.aconus.com/~oyaji/bbs/past/0009/B0005392.html
おはようございます。
過去ログにあったのでしたか。
全く気がつかず、大変失礼しました。
また、今までご指導ありがとうございました。