linux

Linux系统中FileZilla的防火墙设置

小樊
64
2025-09-02 06:53:04
栏目: 智能运维

Linux系统中FileZilla防火墙设置指南(服务器端)
FileZilla作为FTP客户端本身无需配置防火墙,其连接稳定性取决于服务器端的防火墙规则是否允许FTP服务端口及被动模式端口通过。以下是针对Linux服务器(使用iptables、firewalld、ufw)的具体配置步骤:

一、基础准备:确认FTP服务端口

FTP服务默认使用21端口(控制连接),若使用被动模式(PASV),需额外开放数据端口范围(如50000-52000)。需先在FileZilla Server配置界面(编辑→设置→被动模式设置)设置端口范围,再在防火墙中开放该范围。

二、使用iptables配置防火墙(传统工具)

1. 允许FTP控制端口(21端口)

# 添加允许21端口TCP连接的规则
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT

2. 允许被动模式端口范围(示例:50000-52000)

# 添加允许被动模式端口范围的规则
sudo iptables -A INPUT -p tcp --dport 50000:52000 -j ACCEPT

3. 保存规则(避免重启失效)

# Ubuntu/Debian(需安装iptables-persistent)
sudo netfilter-persistent save

# CentOS/RHEL(规则默认保存在/etc/sysconfig/iptables)
sudo service iptables save

注意:iptables需手动保存规则,否则重启后失效。

三、使用firewalld配置防火墙(推荐,现代发行版)

1. 启动firewalld服务(若未运行)

# 启动firewalld
sudo systemctl start firewalld

# 设置开机自启
sudo systemctl enable firewalld

2. 允许FTP服务(自动开放21端口)

# 允许FTP服务(包含21端口)
sudo firewall-cmd --permanent --add-service=ftp

# 重新加载规则使更改生效
sudo firewall-cmd --reload

3. 手动添加被动模式端口范围(若未用FTP服务)

# 永久添加被动模式端口范围(示例:50000-52000)
sudo firewall-cmd --permanent --add-port=50000-52000/tcp

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

验证规则

sudo firewall-cmd --list-all  # 查看是否包含21端口及被动模式端口范围

firewalld支持动态管理,无需手动保存规则。

四、使用ufw配置防火墙(Ubuntu简化工具)

1. 安装ufw(若未安装)

sudo apt update && sudo apt install ufw

2. 启用ufw并设置默认规则

# 启用ufw
sudo ufw enable

# 设置默认策略:拒绝入站、允许出站
sudo ufw default deny incoming
sudo ufw default allow outgoing

3. 允许FTP服务(21端口)

# 允许FTP服务
sudo ufw allow ftp

# 或手动指定端口
sudo ufw allow 21/tcp

4. 允许被动模式端口范围

# 允许被动模式端口范围(示例:50000-52000)
sudo ufw allow 50000:52000/tcp

# 查看规则状态
sudo ufw status verbose

ufw通过简单命令实现规则管理,适合新手。

五、关键注意事项

  1. 被动模式端口范围一致性:FileZilla Server配置的被动模式端口范围必须与防火墙开放的端口范围完全一致,否则会导致数据传输失败。
  2. 避免过度限制:不要随意封锁必要端口(如20端口用于主动模式数据传输),否则会影响FTP功能。
  3. 测试连接:配置完成后,使用FileZilla客户端尝试连接服务器,确认能正常上传/下载文件。
  4. 日志排查:若连接失败,可通过防火墙日志(如sudo tail -f /var/log/firewalld)定位被拦截的流量。

0
看了该问题的人还看了