RHEL 6 の vsftpd で proxy コマンドが動作しない
Issue
vsftpd デーモンは、FTP クライアントの proxy FTP コマンドをサポートします。2 つのリモート vsftpd サーバーへの同時接続を FTP クライアント行なうため、確立した接続を使って複数のサーバー間でデータ転送する機能を提供します。
vsftpd デーモンは、proxy get [file]
コマンドを実行して開いた別のサーバーへのデータ接続を確立するのに失敗し、代わりに、クライアントにデータ接続要求を送信します。このアップデートにより、vsftpd デーモンは、proxy get [file]
コマンドを実行して、別の FTP サーバーへのデータ接続を確立することができます。
しかしながら、RHEL 6では以下が発生しています。
----------- -----------
| FTP A | | FTP B |
| | | |
----------- -----------
| |
\ /
-----------
| CLIENT |
| |
-----------
クライアントが ftp
経由で FTP A への接続を開いてから、FTP B への proxy open
を開いて、ファイルの proxy get
または proxy put
を行います。これにより A から B (もしくは B から A) にコピーします。
これは、vsftpd サーバーが RHEL 5 (vsftpd-2.0.5-16.el5_6.1
) の場合に有効です。vsftpd サーバーが RHEL 6 (vsftpd-2.2.2-11.el6
) の場合には有効ではありません。
無効なセッション例:
root@client# ftp A
Connected to A (172.16.11.73).
220 (vsFTPd 2.2.2)
Name (A:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> proxy open B
Connected to B (172.16.11.79).
220 (vsFTPd 2.2.2)
Name (B:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
A:250 Directory successfully changed.
ftp> ls
A:227 Entering Passive Mode (172,16,11,73,119,90).
A:150 Here comes the directory listing.
-rw-r--r-- 1 0 0 7 Jan 21 15:09 foobar
A:226 Directory send OK.
ftp> proxy cd pub
B:250 Directory successfully changed.
ftp> proxy get foobar
local: foobar remote: foobar
B:200 Switching to Binary mode.
B:227 Entering Passive Mode (172,16,11,79,104,120).
A:200 Switching to Binary mode.
A:200 PORT command successful.Consider using PASV.
A:425 Failed to establish connection.
ftp> quit
A:221 Goodbye.
B:221 Goodbye.
Environment
- Red Hat Enterprise Linux
- vsftpd
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.