在CentOS系統下配置VSFTPD(Very Secure FTP Daemon)的防火墻規則,通常需要使用firewalld
或iptables
。以下是使用這兩種工具進行配置的步驟:
firewalld
啟動并啟用 firewalld
服務:
sudo systemctl start firewalld
sudo systemctl enable firewalld
開放FTP端口: VSFTPD默認使用以下端口:
使用firewalld
開放這些端口:
sudo firewall-cmd --permanent --add-port=20/tcp
sudo firewall-cmd --permanent --add-port=21/tcp
重新加載防火墻配置:
sudo firewall-cmd --reload
驗證端口是否開放:
sudo firewall-cmd --list-all
iptables
啟動并啟用 iptables
服務:
sudo systemctl start iptables
sudo systemctl enable iptables
開放FTP端口:
使用iptables
開放端口20和21:
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
保存 iptables
規則:
CentOS 7及以上版本使用firewalld
,但如果你使用的是CentOS 6或其他版本,可以使用以下命令保存規則:
sudo service iptables save
重啟 iptables
服務:
sudo systemctl restart iptables
驗證端口是否開放:
sudo iptables -L -n | grep 20
sudo iptables -L -n | grep 21
被動模式:如果你的FTP客戶端使用被動模式(PASV),還需要開放一個范圍較大的端口(通常是1024到65535)。你可以使用以下命令開放這個范圍:
sudo firewall-cmd --permanent --add-port=1024-65535/tcp
sudo firewall-cmd --reload
或者使用iptables
:
sudo iptables -A INPUT -p tcp --dport 1024:65535 -j ACCEPT
sudo service iptables save
sudo systemctl restart iptables
SELinux:如果你的系統啟用了SELinux,可能還需要配置SELinux策略以允許FTP連接??梢允褂靡韵旅畈榭碨ELinux狀態:
sestatus
如果SELinux處于 enforcing 模式,可以嘗試臨時將其設置為 permissive 模式以測試:
sudo setenforce 0
如果一切正常,可以配置SELinux策略以永久允許FTP連接。
通過以上步驟,你應該能夠在CentOS系統下成功配置VSFTPD的防火墻規則。