在CentOS系統中配置SFTP(SSH File Transfer Protocol)的防火墻規則,通常涉及以下幾個步驟:
首先,確保你的CentOS系統上已經安裝并啟用了防火墻。CentOS 7及更高版本默認使用firewalld作為防火墻管理工具。
sudo systemctl start firewalld
sudo systemctl enable firewalld
SFTP通常通過SSH協議進行傳輸,默認端口是22。你需要確保防火墻允許通過這個端口的流量。
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
如果你的系統啟用了SELinux,可能需要配置SELinux策略以允許SFTP連接。
sudo setsebool -P ssh_sysadm_login on
sudo setsebool -P ssh_keysign on
你可以使用firewall-cmd命令來添加特定的防火墻規則。例如,如果你想允許特定IP地址訪問SFTP服務器,可以使用以下命令:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload
最后,驗證你的防火墻規則是否正確配置。
sudo firewall-cmd --list-all
假設你想允許IP地址為192.168.1.100的設備通過SFTP訪問你的服務器,可以按照以下步驟操作:
允許SSH端口:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
添加特定IP的防火墻規則:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload
驗證規則:
sudo firewall-cmd --list-all
你應該能看到類似以下的輸出,表明規則已成功添加:
firewall-cmd (v0.0.0-59.el7_9.2) 09:15:29
public zones:
interfaces: lo eth0
sources:
services: ssh sftp
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept
通過以上步驟,你應該能夠在CentOS系統上成功配置SFTP的防火墻規則。