在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查看規則是否生效。參考來源: