在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的防火墙规则。