Vsftpd proxy support no longer works in RHEL 6

Solution Verified - Updated -

Issue

The vsftpd daemon supports the proxy FTP command line of the FTP client. The FTP client creates simultaneous connections to two remote vsftpd servers, so established connections provide the ability to transfer data from one server to
another. Previously, the vsftpd daemon failed to establish data connections to another server opened with the proxy get [file] command and instead sent the data connection request to the client. With this update, the vsftpd daemon is
able to establish data connections to another FTP server using the proxy get [file] command.

What happens in detail is the following:

 -----------   -----------
 | FTP A   |   | FTP B   |
 |         |   |         |
 -----------   -----------
        |         |
        \         /
        -----------
        | CLIENT  |
        |         |
        -----------

The client opens via ftp a connection to FTP A, then does proxy open to FTP B and does proxy get or a proxy put of a file, hence copying it from A to B (or from B to A, depending on the command).

This works when the vsftpd servers are RHEL 5 (vsftpd-2.0.5-16.el5_6.1)
This does not work when the vsftpd servers are RHEL 6 (vsftpd-2.2.2-11.el6)

Example of a non working session:

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content