如何配置vsftpd以使用被动模式

Modified on: Wed, 13 Nov 2019 16:20:02 +0800

每当我在centos上安装vsftpd时,我只为用户设置jail环境,其余是vsftpd的默认配置。我创建用户并尝试连接filezila ftp客户端但我无法连接被动模式。我总是将“传输设置”更改为活动模式以成功连接到ftp服务器,否则我

 Error: Failed to retrieve directory listing

那么有没有办法在vsftp.conf文件中更改任何指令,我们可以将被动模式连接到服务器?

更新:感谢所有人给出的答案。

最佳答案

要为vsftpd配置被动模式,您需要在vsftpd.conf中设置一些参数。

pasv_enable=Yes pasv_max_port=10100 pasv_min_port=10090

这将启用被动模式并限制它使用11个端口进行数据连接。这非常有用,因为您需要在防火墙上打开这些端口。

pasv_enable=Yes
pasv_max_port=10100
pasv_min_port=10090

如果经过测试,这一切都有效,那么用

保存防火墙的状态

iptables -I INPUT -p tcp --destination-port 10090:10100 -j ACCEPT

将更新/etc/sysconfig/iptables文件。

要做到这一点,CentOS 7你必须使用新的firewalld,而不是iptables:

找到你的区域:

service iptables save

我的区域是'公共',所以我将我的区域设置为公共,添加端口范围,之后重新加载:

# firewall-cmd --get-active-zones
public
  interfaces: eth0

建立连接时会发生什么

  • 您的客户端在端口21上建立与vsftpd服务器的连接。

  • 服务器响应客户端告诉它从上面指定的范围连接到哪个端口。

  • 客户端在指定端口上建立数据连接,会话继续。

这里有不同的ftp 模式的很好解释。

作者:,Iain

相关问答

添加新评论