在CentOS下配置VSFTP防火墙,需根据使用的防火墙类型(firewalld或iptables)开放对应端口,以下是具体步骤:
sudo firewall-cmd --permanent --add-service=ftp # 开放FTP默认端口(21)
sudo firewall-cmd --permanent --add-port=20/tcp # 若需主动模式,开放数据端口20
/etc/vsftpd/vsftpd.conf
,设置被动模式端口范围(如30000-31000):pasv_min_port=30000
pasv_max_port=31000
然后在防火墙中开放该范围:sudo firewall-cmd --permanent --add-port=30000-31000/tcp
sudo firewall-cmd --reload
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT # 开放FTP命令端口
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT # 开放FTP数据端口(主动模式)
sudo iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT # 开放被动模式端口范围
sudo service iptables save # CentOS 6
sudo iptables-save > /etc/sysconfig/iptables # CentOS 7(需安装iptables-services)
pasv_enable=YES
)并开放对应端口范围。setsebool -P ftpd_full_access on
以允许FTP访问。firewall-cmd --list-all
或iptables -L -n
查看规则是否生效。参考来源: