FTP模式概述
FTP协议包含主动模式(Active Mode)和被动模式(Passive Mode),两者的核心区别在于数据连接的建立方式。主动模式下,服务器使用20端口主动连接客户端指定端口;被动模式下,客户端主动连接服务器指定的随机端口。
- 主动模式:适用于服务器无防火墙限制环境,需开放客户端数据端口
- 被动模式:适用于客户端位于NAT/防火墙后的场景,需服务器开放端口范围
安装vsftpd服务
在Linux VPS中推荐使用vsftpd作为FTP服务端,执行以下命令完成安装:
- 更新包管理器:
sudo apt update
- 安装vsftpd:
sudo apt install vsftpd
- 启动服务:
sudo systemctl start vsftpd
配置主动模式
编辑配置文件/etc/vsftpd.conf
,修改以下参数:
pasv_enable=NO connect_from_port_20=YES
重启服务使配置生效:sudo systemctl restart vsftpd
。此时服务器将通过20端口主动连接客户端。
配置被动模式
在配置文件中添加以下参数:
pasv_enable=YES pasv_min_port=50000 pasv_max_port=51000
该配置指定服务器在50000-51000端口范围监听数据连接,需同步配置防火墙开放此端口段。
防火墙设置
使用UFW防火墙时执行以下命令:
- 开放21控制端口:
sudo ufw allow 21/tcp
- 主动模式需开放20端口:
sudo ufw allow 20/tcp
- 被动模式需开放指定范围:
sudo ufw allow 50000:51000/tcp
验证配置
使用FileZilla或ftp
命令连接服务器,通过传输文件测试两种模式:
- 主动模式传输失败可能因客户端防火墙拦截
- 被动模式失败需检查服务器端口开放状态
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/477928.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。