このスレッドは未解決です(解決したらこちらで解決済にしてください)
<<戻る

vsftpd FTPクライアントからPassiveモードの接続が出来ない このメッセージに返信する
日時: 2013/11/18(Mon) 10:11
名前: jr
URL:
はじめまして、vsftpdにてFTPサーバを構築しました
環境は次のとおりです。
・ルーター:NTT PR-S300se
・サーバ:CentOS 6.4
・FTPサーバ:vsftpd

外部からFTPソフトを使用した際、所謂アクティブモードだとFTPサーバに接続でき、
vsftpdでpasv_addressをコメントアウトした状態でFilezillaを使用するとPASVモードでのサーバ接続ができます。

しかし、FFFTPを使用した環境でpasv_addressを逆引き可能なホストアドレスで運用すると、
クライアント側でPASVコマンドを発行した際にPASVコマンドから先に進まず、エラーが発生します。

vsftpdで詳細なログを摂ると、PASV応答後にサーバに上手く接続できず、エラーになる模様です。

ルーターPR-S300seにて、FTPポート20 21を設定し、Passive用の通信ポート60000-60050を開放し、
iptablesでも上記ポートを全て開放しています。

pasv_addressをコメントアウトすれば、通信は可能ですが
FFFTPなどのクライアントソフトでは応答アドレスがローカルIP(192.168.1.*)になってしまうため接続できません。

インターネットにて検索を行いましたが、同等の現象はありませんでした。

原因が不明なため、困っています。
同様の現象が発生した方や、対処方法があればご教示ください。
記事編集 編集
Re: vsftpd FTPクライアントからPassiveモードの接続が出来ない このメッセージに返信する
日時: 2013/11/18(Mon) 10:21
名前: jr
URL:
追記です
iptablesにて次の設定は行っています
IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp ip_nat_ftp"
記事編集 編集
Re: vsftpd FTPクライアントからPassiveモードの接続が出来ない このメッセージに返信する
日時: 2013/11/18(Mon) 13:10
名前: stranger
URL: http://ja.528p.com/
PASVモードでのNATルータ越えのインターネット公開(vsftpd)
http://www.aconus.com/~oyaji/suse/vsftpd_suse.htm

動的IPの場合のpassiveモードがやっかいです
passiveモードは相手にサーバのIPアドレスを返すので
NAT越えの場合 ローカルIPを返します
これを グローバルIPを返すように工夫する必要があります
記事編集 編集
Re: vsftpd FTPクライアントからPassiveモードの接続が出来ない このメッセージに返信する
日時: 2013/11/18(Mon) 21:40
名前: 通りすがり
URL:
CentOS6でvsftpをつかってるけど、
FFFTPは使うと.htaccessがみえなかったり、
wordpressのファイルをローカルからアップロードすると失敗したり
と結構トラブルがありますね。
記事編集 編集
Re: vsftpd FTPクライアントからPassiveモードの接続が出来ない このメッセージに返信する
日時: 2013/11/21(Thu) 09:39
名前: ゆりこ
URL:
格安レンタルサーバなんかでも昔はFFFTPでPASVというのが定番でしたけど、通信内容のみならず
パスワードまでも平文なために第三者に読まれてしまう可能性が在るからか、最近では
よりsecureな暗号化される転送方式を使う(使える)ところがほとんどですね。
余談あしからず
記事編集 編集
Re: vsftpd FTPクライアントからPassiveモードの接続が出来ない このメッセージに返信する
日時: 2013/11/25(Mon) 07:13
名前: 通りすがり
URL:
>パスワードまでも平文なために第三者に読まれてしまう可能性が在る

ガンブラー
http://ja.wikipedia.org/wiki/Gumblar

ガンブラーの時以来,FFFTPから他のやつに乗り換えた人も多かった。
2chでセキュリティ板をのぞいていたがあの時はひどかったよ。
記事編集 編集
Re: vsftpd FTPクライアントからPassiveモードの接続が出来ない このメッセージに返信する
日時: 2013/12/06(Fri) 18:50
名前: mets
URL:
metsです。
遅レスですがこんなんでどうですか?

pasv_enable=YES
pasv_addr_resolve=YES
pasv_address=yourftp.example.jp
pasv_min_port=60000
pasv_max_port=60050
記事編集 編集
Re: vsftpd FTPクライアントからPassiveモードの接続が出来ない このメッセージに返信する
日時: 2013/12/07(Sat) 16:23
名前: stranger
URL: http://ja.528p.com/
グローバルが固定ならたぶんいけると思う
yourftp.example.jpを正引きしてグローバルIPを設定するから

デーモンとして起動すると一度設定した値はメモリ上に置かれるので
途中で、グローバルIPが変わるような動的IPの場合は
変わったIPの値を返さないのでエラーになってします

xinetdなどからvsftpdを起動して、接続のたびに新しいグローバルアドレスの値を
返すようにしてあげないとうまくいかない
記事編集 編集
Re: vsftpd FTPクライアントからPassiveモードの接続が出来ない このメッセージに返信する
日時: 2013/12/12(Thu) 16:17
名前: とおりすがった。
URL:
ルーターないなら、ローカルIPでも行ける気がする〜
記事編集 編集
Re: vsftpd FTPクライアントからPassiveモードの接続が出来ない このメッセージに返信する
日時: 2013/12/13(Fri) 07:11
名前: stranger
URL: http://ja.528p.com/
vsftpdパッシブ接続の場合
クライアントからFTPサーバに接続があると
このアドレスとポートに接続してねとサーバが情報を返す
そのアドレスとポートでクライアントが再接続をします
NAT環境でサーバがローカルアドレスで運営していると
ローカルアドレスを返してしまうから
接続が切れることになります

固定グローバルIPならpasv_addressに設定すればいいけど
NAT環境の場合、ローカルでパッシブ接続できなくなるよね

対策としては
自分のネットワーク内をすべてグローバルIPにする

または

LANカードにエイリアスのIPをつけてIPを2つ確保する
それに対応したグローバルとローカルの2つのvsftpdを立ち上げる
動的なグローバルIPに対処する必要がある場合は
xinetdから起動し、pasv_addressに外部のDDNSで解決できる
ドメイン名を設定する
(pasv_addressの設定は起動時に読み込まれて停止するまで使われるから)

または

グローバルのみパッシブ接続にして
ローカルはあきらめてアクティブモードで接続する

または

パッシブ接続をあきらめる

もっと簡単にできる方法があれば教えてね


蛇足
gftp(ftpアプリ)のコネクションログの例では

PASV
227 Entering Passive Mode (134,160,38,1,206,165)

グローバルアドレス 134.160.38.1
port 52901 (256x206+165=52901) で接続していることになります
記事編集 編集
Re: vsftpd FTPクライアントからPassiveモードの接続が出来ない このメッセージに返信する
日時: 2015/02/20(Fri) 00:09
名前: 1
URL:
2年越しの回答になりますが、この問題を解決することが出来ましたので念のためpostしておきます。

まず、ルータに原因があったようです。
PRS-300seには、内->外のパケットを破棄してしまう問題があり、
ルーターをPR-400neという別の型番に変更してもらいました。

その後、試しにCentOS7でサーバを構築したところ、
Passiveモード問題が無事に解決しました。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -