温馨提示×

CentOS下FileZilla如何设置防火墙

小樊
57
2025-10-23 19:42:49
栏目: 智能运维

CentOS下为FileZilla(服务器)设置防火墙的步骤

1. 明确防火墙管理工具

CentOS系统默认使用firewalld作为防火墙管理工具(部分旧版本可能使用iptables,但firewalld更推荐)。FileZilla本身不负责系统防火墙配置,需通过系统工具设置。

2. 检查并启动firewalld服务

首先确认firewalld是否运行:

sudo systemctl status firewalld

若未启动,执行以下命令启动并设置开机自启:

sudo systemctl start firewalld
sudo systemctl enable firewalld

3. 配置FileZilla Server的被动模式端口范围

被动模式(PASV)是FTP常用的数据传输模式,需开放指定端口范围:

  • 打开FileZilla Server Manager(图形化管理工具);
  • 选中FTP服务器实例,点击顶部菜单栏「编辑」→「设置」;
  • 展开「FTP」→「被动模式」,设置「被动端口范围」(如50100-52100,可根据需求调整,建议避开常用服务端口)。

4. 使用firewalld添加FTP相关规则

4.1 允许FTP控制端口(21/tcp)

FTP控制连接默认使用21端口,需永久开放:

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

4.2 允许被动模式端口范围

将步骤3中设置的被动端口范围添加到防火墙:

sudo firewall-cmd --permanent --add-port=50100-52100/tcp

4.3 重新加载防火墙配置

使上述规则生效:

sudo firewall-cmd --reload

4.4 (可选)验证规则是否生效

查看当前开放的端口规则:

sudo firewall-cmd --list-ports

应显示21/tcp50100-52100/tcp

5. (可选)针对特定IP限制访问

若需仅允许特定IP访问FTP服务,可添加IP限制规则:

# 允许单个IP(如192.168.1.100)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="21" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="50100-52100" accept'

# 允许IP段(如192.168.1.0/24)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="21" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="50100-52100" accept'

# 重新加载规则
sudo firewall-cmd --reload

注意事项

  • 若使用iptables(旧版本CentOS),需通过iptables-save保存规则,避免重启失效;
  • 被动模式端口范围需与FileZilla Server配置一致,否则客户端无法正常传输数据;
  • 生产环境中建议启用FTP over SSL/TLS(FTPS),进一步提升安全性。

0