CentOS SFTP防火墙规则怎么设置

在CentOS系统中,使用firewalld作为默认的防火墙管理工具,可以通过以下步骤设置SFTP(SSH File Transfer Protocol)的防火墙规则:

1. 确认firewalld服务状态

首先,确保firewalld服务正在运行:

sudo systemctl status firewalld

如果服务未运行,启动它:

sudo systemctl start firewalld

2. 允许SSH端口(默认22)

SFTP依赖于SSH,因此需要确保SSH端口(默认是22)是开放的。可以使用以下命令添加规则:

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

然后重新加载firewalld配置:

sudo firewall-cmd --reload

3. 允许SFTP端口(自定义端口)

如果你使用的是非标准端口进行SFTP连接,可以按照以下步骤操作:

3.1 添加自定义端口

假设你的SFTP服务器运行在端口2222上,可以使用以下命令添加规则:

sudo firewall-cmd --permanent --add-port=2222/tcp

3.2 重新加载firewalld配置

再次重新加载firewalld配置以应用更改:

sudo firewall-cmd --reload

4. 验证规则

你可以使用以下命令查看当前的防火墙规则,确保SFTP端口已经正确添加:

sudo firewall-cmd --list-all

或者查看特定服务的规则:

sudo firewall-cmd --list-services

5. 测试SFTP连接

最后,尝试从另一台机器连接到你的SFTP服务器,确保一切配置正确:

sftp -P 2222 username@your_server_ip

注意事项

  • 确保你的SELinux策略允许SFTP连接。如果SELinux处于 enforcing 模式,可能需要调整相关策略。
  • 如果你使用的是iptables而不是firewalld,步骤会有所不同。可以使用iptables命令来添加相应的规则。

通过以上步骤,你应该能够在CentOS系统上成功设置SFTP的防火墙规则。