我刚刚重新安装了Ubuntu服务器10.04并决定更改所有默认端口以获得额外的安全性。一切正常,除非我决定将FTP(ProFTPd)端口从标准21更改为3521.防火墙或端口转发没有问题。 ProFTPd重新启动,但是当我尝试连接它时,即使它确实响应,它也会将客户端(FileZilla)抛入“被动模式”,然后永远不会进入列出目录。 我真的不想使用“被动模式”,我在proftpd.conf中禁用了它,但是我似乎无法更改默认端口,并使其正常工作。它似乎在端口21上工作正常.FYI,proftpd是作为一个独立的守护进程安装的,如果这在某种程度上重要吗?
答案 0 :(得分:2)
好的,我想我在阅读本页后想出了这个:link。似乎大多数FTP连接确实是“被动的”,并且“活动”连接的问题来自客户端防火墙的使用,因为FTP服务器在某些随机<上启动到客户端的传出“数据”连接/ strong>端口。在被动模式下,客户端启动到服务器的“命令”和“数据”连接,因此防火墙不是问题,但您应该指定在服务器上使用哪些“被动”端口。我启用了3520和3521 PassivePorts,它现在正在工作
答案 1 :(得分:0)
FTP Active Mode要求服务器从端口L-1
启动其传出连接。您的防火墙是否也允许来自端口3520
的传出连接?
来自FTP RFC:
3.2。建立数据连接
The mechanics of transferring data consists of setting up the data connection to the appropriate ports and choosing the parameters for transfer. Both the user and the server-DTPs have a default data port. The user-process default data port is the same as the control connection port (i.e., U). The server-process default data port is the port adjacent to the control connection port (i.e., L-1).
...
3.3。数据连接管理
Default Data Connection Ports: All FTP implementations must support use of the default data connection ports, and only the User-PI may initiate the use of non-default ports. Negotiating Non-Default Data Ports: The User-PI may specify a non-default user side data port with the PORT command. The User-PI may request the server side to identify a non-default server side data port with the PASV command. Since a connection is defined by the pair of addresses, either of these actions is enough to get a different data connection, still it is permitted to do both commands to use new ports on both ends of the data connection.
您可能希望借此机会将用户更改为SFTP,这是一个更好的协议。