在 CentOS 上放行 FTP(ftpserver)的防火墙,需要根据你使用的 FTP 模式(主动/被动) 和 CentOS 版本(firewalld / iptables) 来配置。下面以 CentOS 7/8 使用 firewalld(最常见)为例说明。
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
✅ 这会放行 21 端口及部分 FTP 相关模块
如果你使用 vsftpd,先编辑配置:
sudo vi /etc/vsftpd/vsftpd.conf
添加或修改:
pasv_min_port=30000
pasv_max_port=31000
然后防火墙放行:
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --add-module=ftp
sudo firewall-cmd --reload
sudo setsebool -P ftpd_full_access on
查看状态:
getsebool ftpd_full_access
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT
service iptables save
service iptables restart
ftp localhost
# 或从其他机器
ftp 服务器IP
如果你能告诉我:
我可以给你精确配置命令。