在Linux FTP服务器上使用被动模式,可以按照以下步骤进行:
首先,确保你的Linux系统上已经安装了FTP服务器软件。常用的FTP服务器软件有vsftpd、ProFTPD和Pure-FTPd等。
sudo apt update
sudo apt install vsftpd
编辑FTP服务器的配置文件,通常是/etc/vsftpd.conf。
在配置文件中找到并修改以下行:
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
pasv_enable=YES:启用被动模式。pasv_min_port 和 pasv_max_port:设置被动模式的端口范围。确保这些端口在你的防火墙中是开放的。listen=YES:启用独立模式(可选)。listen_ipv6=NO:禁用IPv6(可选)。chroot_local_user=YES:将本地用户限制在其主目录中(可选)。保存配置文件并重启FTP服务器以应用更改。
sudo systemctl restart vsftpd
确保你的防火墙允许被动模式的端口范围通过。
如果你使用的是ufw,可以运行以下命令开放端口:
sudo ufw allow 1024:1048/tcp
如果你使用的是iptables,可以运行以下命令开放端口:
sudo iptables -A INPUT -p tcp --dport 1024:1048 -j ACCEPT
使用FTP客户端连接到你的服务器,并切换到被动模式。
ftp your_server_ip
在FTP提示符下,输入以下命令切换到被动模式:
passive
大多数图形界面FTP客户端(如FileZilla)都支持被动模式。在连接设置中,确保启用了被动模式。
在被动模式下,FTP客户端会从服务器获取一个IP地址和端口范围,然后连接到该地址和端口。你可以通过查看服务器的日志文件来验证这一点。
sudo tail -f /var/log/vsftpd.log
通过以上步骤,你应该能够在Linux FTP服务器上成功使用被动模式。