在CentOS系統中配置FTP服務器的防火墻,通常需要允許FTP協議使用的端口。FTP協議默認使用兩個端口:21(用于控制連接)和20(用于數據傳輸)。此外,如果使用被動模式(PASV),還需要開放一系列動態端口范圍。
以下是配置防火墻以允許FTP流量的步驟:
查看當前防火墻狀態:
sudo firewall-cmd --state
查看已開放的端口:
sudo firewall-cmd --list-all
開放FTP控制端口(21):
sudo firewall-cmd --permanent --add-port=21/tcp
開放FTP數據端口(20):
sudo firewall-cmd --permanent --add-port=20/tcp
開放被動模式端口范圍(例如,開放端口范圍1024到65535):
sudo firewall-cmd --permanent --add-port=1024-65535/tcp
重新加載防火墻配置:
sudo firewall-cmd --reload
驗證端口是否已開放:
sudo firewall-cmd --list-all
被動模式端口范圍:FTP服務器在被動模式下會使用一個動態端口范圍來傳輸數據。確保開放一個足夠大的端口范圍,以便FTP服務器可以正常工作。
SELinux:如果啟用了SELinux,可能還需要配置SELinux策略以允許FTP流量??梢允褂靡韵旅畈榭碨ELinux狀態:
sestatus
如果SELinux處于 enforcing 模式,可能需要調整相關策略或臨時將其設置為 permissive 模式進行測試:
sudo setenforce 0
FTP服務器配置:確保FTP服務器(如vsftpd)的配置文件中正確設置了被動模式端口范圍。例如,在vsftpd的配置文件 /etc/vsftpd/vsftpd.conf
中,可能需要設置以下參數:
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=65535
通過以上步驟,你應該能夠成功配置CentOS系統的防火墻以允許FTP流量。