在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的防火墻規則。