web-dev-qa-db-ja.com

vsftpdがLISTに応答しない

Ubuntu 10.04デスクトップをWebサーバーとして実行し、vsftpdをインストールして、ascii_upload_enableとascii_download_enableを許可するように設定し、chroot_local_user、chroot_list_enable、chroot_list_fileも有効にしました。

ただし、FileZillaを使用してサーバーからファイルリストを取得するのに問題があります。これが発生します。

ステータス:server.jonbevan.me.ukのアドレスを解決しています
ステータス:80.4.79.179:21に接続しています...
ステータス:接続が確立され、ウェルカムメッセージを待機しています...
応答:220 server.jonbevan.me.ukFTPサービスへようこそ。
コマンド:USER jon
応答:331パスワードを指定してください。
コマンド:PASS *********
応答:230ログインに成功しました。
コマンド:OPTS UTF8 ON
応答:200常にUTF8モード。
ステータス:接続済み
ステータス:ディレクトリリストを取得しています...
コマンド:CWD/home/jon
応答:250ディレクトリが正常に変更されました。
コマンド:PWD
応答:257 "/ home/jon"
コマンド:タイプI
応答:200バイナリモードに切り替えます。
コマンド:PASV
応答:227パッシブモードに入る(80,4,79,179,196,13)
コマンド:LIST
応答:425接続の確立に失敗しました。
エラー:ディレクトリリストの取得に失敗しました

そしてこれはCuteFTPで起こります:

コマンド:> [2010年7月29日15:23:43]リスト
[2010年7月29日15:23:43] 150ディレクトリリストが表示されます。
エラー:> [2010年7月29日15:24:13]サーバーからのデータ接続の受け入れ中にタイムアウト(30000ミリ秒)が発生しました。
[2010年7月29日15:24:13] 426ネットワークストリームの書き込みに失敗しました。
エラー:> [2010年7月29日15:24:13]ゴミ箱に入れられた応答を受信しました。

何が問題になるのでしょうか?重要な情報を見逃してしまった場合はお詫び申し上げます。

1
Jon

Luke404に同意します。 vsftpd.confに次のエントリが設定されており、ファイアウォールでpasv_minとpasv_maxのポート範囲が許可されていることを確認してください(10000〜100010は単なる例です)。 confファイルに変更が加えられた場合は、サービスを再起動することを忘れないでください。


    pasv_enable=YES
    pasv_min_port=10000
    pasv_max_port=10010
    pasv_address=[Public IP address of your server]
4
George

PASVモードを使用しているため、クライアントは「ランダム」ポートでサーバーに接続してデータを転送しようとします。これには、ファイル転送の両方が含まれますおよびディレクトリリスト。

それが機能していない最も可能性の高い理由は、PASV TCPデータ転送用の接続を確立できないことです。通常、次のいずれかの理由によります。

  • クライアント側のファイアウォールが発信接続をブロックしている
  • サーバー側のファイアウォールが高ポートでの着信接続をブロックしている
  • NAT静的ftpポート21,22のみが転送され、より高いポートをステートフルに転送するためのパケット検査がないサーバー
2
Luke404

私はこれと同じ問題を抱えていました

これを解決し、/ etc/sysconfig/iptables-configの設定を編集しました

ファイルの先頭で、次のパラメータを変更しました:IPTABLES_MODULES

# Load additional iptables modules (nat helpers)
#   Default: -none-
# Space separated list of nat helpers (e.g. 'ip_nat_ftp ip_nat_irc'), which
# are loaded after the firewall rules are applied. Options for the helpers are
# stored in /etc/modprobe.conf.
IPTABLES_MODULES="ip_conntrack_ftp"

Iptablesを再起動した後、FileZilla内のファイルを一覧表示できます。それが役に立てば幸い。

0
Fernando Vieira