配置FTPServer防火墙规则需根据系统类型选择工具,核心是开放FTP控制端口(21)、数据传输端口(20或被动模式端口范围),以下是常见系统的配置方法:
sudo apt update && sudo apt install ufw
sudo ufw enable
sudo ufw allow 21/tcpsudo ufw allow 20/tcp/etc/vsftpd.conf)中设置pasv_min_port和pasv_max_port(如50000-50100),然后执行:sudo ufw allow 50000:50100/tcpsudo ufw allow from [IP段] to any port 21,20sudo ufw status 确认规则生效,重启FTP服务:sudo systemctl restart vsftpdsudo 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使用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
pasv_min_port和pasv_max_port,并确保防火墙允许该范围。参考来源: