在CentOS系统中配置vsftpd(Very Secure FTP Daemon)的防火墙,通常涉及到开放FTP服务所需的端口。默认情况下,vsftpd使用以下端口:
以下是配置防火墙以允许vsftpd流量的步骤:
CentOS 7及以上版本默认使用firewalld作为防火墙管理工具。
启动并启用firewalld服务(如果尚未启动):
sudo systemctl start firewalld sudo systemctl enable firewalld 开放FTP服务所需的端口:
sudo firewall-cmd --permanent --add-port=21/tcp sudo firewall-cmd --permanent --add-port=20/tcp 重新加载firewalld配置以应用更改:
sudo firewall-cmd --reload 验证端口是否已开放:
sudo firewall-cmd --list-all CentOS 6及以下版本通常使用iptables作为防火墙管理工具。
开放FTP服务所需的端口:
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT 保存iptables规则(CentOS 6):
sudo service iptables save CentOS 7及以上版本使用firewalld,不需要手动保存iptables规则。
如果系统启用了SELinux,可能需要配置SELinux策略以允许FTP流量。
查看SELinux状态:
sestatus 如果SELinux处于 enforcing 模式,可以临时将其设置为 permissive 模式以测试:
sudo setenforce 0 配置SELinux策略: 编辑 /etc/selinux/config 文件,将 SELINUX=enforcing 改为 SELINUX=permissive,然后重启系统。
或者,使用 semanage 命令添加FTP相关的SELinux策略:
sudo yum install policycoreutils-python sudo semanage port -a -t ftp_port_t -p tcp 21 sudo semanage port -a -t ftp_port_t -p tcp 20 最后,重启vsftpd服务以应用所有更改:
sudo systemctl restart vsftpd 完成以上步骤后,你的CentOS系统应该已经成功配置了vsftpd的防火墙规则。