タイトル | : Re: 本当に解決しましたか? |
記事No | : 5126 |
投稿日 | : 2005/09/04(Sun) 18:30 |
投稿者 | : nyo |
> 1. クライアントがNATルータ配下にいるならPASVしか使えない。
クライアントはルータ配下にあります。が、PASV OFFでも接続できてしまいました。
> 2. 非SSLでもPASVモードで使用するなら、FTPサーバのPASVモードに対応したルータは使えない。
corega BAR HXというルータです。
> 3. 2項の替わりに、PASVモードでのNATルータ対応ができるデーモン(SSL対応は当然)を使用する。
表題の通り、vsftpdです。
> > 1項は、皆さん気にされてませんが、Activeモードではクライアント側のルータでFTP通信の制御情報をモニタしていて、クライアントが制御情報に設定したクライアントのプライベートアドレスをWAN側のグローバルアドレスに変換してくれているから通信ができるのであって、これがSSL化されるとモニタできなくなるため、サーバに家庭内のプライベートアドレスがそのまま行ってしまうので通信できなくなってしまう。従って、FTP over SSLではPASVしか使用できない。
なるほど。勉強になります。
> 2と3項はセットの話で、1項と同様の話である。FTPサーバのPASVモードに対応したルータは、1項と同様にサーバからクライアントに通知されるサーバのプライベートアドレスをWAN側のグローバルアドレスに変換している。従って、これらのルータを使う場合は、デーモンでPASV時のサーバのアドレス変換処理(vsftpdならpasv_address)を入れてしまうと、アドレスに矛盾が生じる(プライベートのはずなのにグローバルがくる)ため、デーモンで対策をすると逆にPASVでつながらなくなってしまう。
デーモンでpasv_addressを書きこんでいないにもかかわらずPASV接続dができている=ルータが対応?
> ところが、1項同様、SSL化してしまうとルータはアドレス情報が暗号化されてしまうため変換処理ができなくなってしまうので、デーモンでPASV時のサーバのアドレス変換処理(vsftpdならpasv_address)が逆に必須となる。
SSLにするとルータ対応のSSLは考えられない、ということですね。
でも、接続できてしまっているのですよね... 実際おやじさんのサイトで非SSL状態でFTPテストを行なってみたところ、PASVにチェックを入れて接続が可能ですし、結果ログを見てもPASVは有効になっています。 このままSSL有効にし、FTPテストを行なうと接続できなくなります。 外からはSSLを有効にしたFTPクライアントでないとやはり接続できませんし。
いかがでしょうか? 自分もすっきりしなくなってきました...
|