溫馨提示×

CentOS如何配置SFTP的防火墻規則

小樊
51
2025-10-05 00:41:16
欄目: 智能運維

在CentOS系統中配置SFTP(SSH File Transfer Protocol)的防火墻規則,通常涉及以下幾個步驟:

1. 確保防火墻已啟用

首先,確保你的CentOS系統上已經安裝并啟用了防火墻。CentOS 7及更高版本默認使用firewalld作為防火墻管理工具。

sudo systemctl start firewalld
sudo systemctl enable firewalld

2. 允許SSH端口

SFTP通常通過SSH協議進行傳輸,默認端口是22。你需要確保防火墻允許通過這個端口的流量。

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

3. 配置SELinux(如果啟用)

如果你的系統啟用了SELinux,可能需要配置SELinux策略以允許SFTP連接。

sudo setsebool -P ssh_sysadm_login on
sudo setsebool -P ssh_keysign on

4. 配置防火墻規則

你可以使用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

5. 驗證防火墻規則

最后,驗證你的防火墻規則是否正確配置。

sudo firewall-cmd --list-all

示例:允許特定IP訪問SFTP

假設你想允許IP地址為192.168.1.100的設備通過SFTP訪問你的服務器,可以按照以下步驟操作:

  1. 允許SSH端口

    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --reload
    
  2. 添加特定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
    
  3. 驗證規則

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

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女