配置FTPServer防火墙规则需根据系统类型选择工具,核心是开放FTP控制端口(21)、数据传输端口(20或被动模式端口范围),以下是常见系统的配置方法:
Linux系统(以Ubuntu/Debian为例)
使用ufw(推荐)
- 安装并启用ufw
sudo apt update && sudo apt install ufw sudo ufw enable - 开放FTP端口
- 控制端口(21):
sudo ufw allow 21/tcp - 数据端口:
- 主动模式:
sudo ufw allow 20/tcp - 被动模式:需在FTP配置文件(如
/etc/vsftpd.conf)中设置pasv_min_port和pasv_max_port(如50000-50100),然后执行:
sudo ufw allow 50000:50100/tcp
- 主动模式:
- 控制端口(21):
- 限制源IP(可选)
sudo ufw allow from [IP段] to any port 21,20 - 验证并重启服务
sudo ufw status确认规则生效,重启FTP服务:sudo systemctl restart vsftpd
使用iptables
- 开放端口
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT # 控制端口 sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT # 数据端口(主动模式) sudo iptables -A INPUT -p tcp --dport 50000:50100 -j ACCEPT # 被动模式端口范围 sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 允许已建立的连接 - 保存规则
sudo iptables-save > /etc/iptables/rules.v4
Linux系统(CentOS/RHEL)
使用firewalld:
- 开放端口
sudo firewall-cmd --permanent --add-port=21/tcp # 控制端口 sudo firewall-cmd --permanent --add-port=20/tcp # 数据端口(主动模式) sudo firewall-cmd --permanent --add-port=50000-50100/tcp # 被动模式端口范围 sudo firewall-cmd --reload
注意事项
- 被动模式配置:需在FTP服务端配置文件中指定
pasv_min_port和pasv_max_port,并确保防火墙允许该范围。 - 安全增强:可结合SSL/TLS加密(需配置证书)提升数据传输安全性。
- 云服务器:需在云厂商安全组中同步配置对应端口规则。
参考来源: