Ubuntu配置FileZilla防火墙的步骤
Ubuntu系统默认使用ufw(Uncomplicated Firewall)作为防火墙管理工具。若未安装,需先通过以下命令安装并启用:
sudo apt update
sudo apt install ufw
sudo ufw enable # 启用防火墙(首次启用需确认)
FileZilla的FTP传输需要开放控制端口(默认21)和被动模式端口范围(用于数据传输)。若使用SFTP(基于SSH),还需开放SSH端口(22)。
sudo ufw allow 21/tcp # 允许TCP协议的21端口(FTP控制连接)
被动模式下,FTP服务器会随机选择一个端口传输数据。需提前在FileZilla Server中设置被动端口范围(如50000-50100),然后在防火墙中开放该范围:
sudo ufw allow 50000:50100/tcp # 替换为实际设置的被动端口范围
若通过SFTP(SSH隧道)传输文件,需开放SSH端口(默认22):
sudo ufw allow 22/tcp # 允许TCP协议的22端口(SSH/SFTP)
建议设置默认拒绝所有入站连接,仅允许必要端口:
sudo ufw default deny incoming # 默认拒绝入站连接
sudo ufw default allow outgoing # 允许出站连接
执行以下命令查看当前防火墙规则,确认所需端口已开放:
sudo ufw status verbose # 显示详细规则(包括端口状态)
输出应包含类似内容:
Status: active
To Action From
-- ------ ----
21/tcp ALLOW Anywhere
50000:50100/tcp ALLOW Anywhere
22/tcp ALLOW Anywhere
21/tcp (v6) ALLOW Anywhere (v6)
50000:50100/tcp (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
若未提前设置被动端口范围,需修改FileZilla Server配置:
cd /opt/filezilla-server/bin/ # 进入安装目录(默认路径)
./filezilla-server-gui # 启动图形界面
50000-50100)。sudo systemctl restart filezilla-server # 重启服务使配置生效
netstat -tuln查看)。sudo ufw allow from <IP地址>/32 to any port 21/tcp命令实现。通过以上步骤,即可完成Ubuntu系统下FileZilla的防火墙配置,确保FTP/SFTP传输正常进行。