- 首页 >
- 问答 >
-
智能运维 >
- 如何在Linux上配置FileZilla的防火墙
如何在Linux上配置FileZilla的防火墙
小樊
41
2026-01-06 12:52:54
Linux上配置FileZilla相关防火墙
前置说明
- FileZilla 是跨平台的 FTP/SFTP 客户端,本身不提供防火墙配置功能;需要在 Linux 系统防火墙(如 firewalld、ufw、iptables)中放行相应端口。
- 先明确你使用的是 SFTP(基于 SSH,端口 22) 还是 FTP(端口 21 + 被动模式端口范围),两者的放行方式不同。
方案一 放行SFTP连接(推荐)
- 适用:使用 SFTP 协议(端口 22/TCP)进行文件传输。
- firewalld
- 查看状态:
sudo firewall-cmd --state
- 放行 SSH:
sudo firewall-cmd --permanent --add-service=ssh
- 重新加载:
sudo firewall-cmd --reload
- ufw
- 允许 SSH:
sudo ufw allow 22/tcp
- 启用防火墙:
sudo ufw enable
- iptables
- 放行 22/TCP:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- 保存规则(发行版不同,示例):
sudo iptables-save | sudo tee /etc/iptables/rules.v4
- 说明:SFTP 只需放行 22/TCP,无需额外数据端口。
方案二 放行FTP连接(主动与被动模式)
- 适用:使用 FTP 协议(控制通道 21/TCP,数据通道分主动/被动)。
- 服务端(FileZilla Server 或 vsftpd)需先设定被动端口范围,例如 50100–52100/TCP,并确保服务监听 21/TCP。
- firewalld
- 放行控制端口:
sudo firewall-cmd --permanent --add-port=21/tcp
- 放行被动端口范围:
sudo firewall-cmd --permanent --add-port=50100-52100/tcp
- 重新加载:
sudo firewall-cmd --reload
- ufw
- 放行控制端口:
sudo ufw allow 21/tcp
- 放行被动端口范围(示例):
sudo ufw allow 50100:52100/tcp
- iptables
- 放行控制端口:
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
- 放行被动端口范围:
sudo iptables -A INPUT -p tcp --dport 50100:52100 -j ACCEPT
- 保存规则:
sudo iptables-save | sudo tee /etc/iptables/rules.v4
- 说明:主动模式由服务器主动连客户端数据端口,通常还需放行服务器到客户端的出站规则;在 NAT/云环境中更推荐使用 被动模式 并固定端口范围。
验证与常见问题
- 连通性测试
- 测试控制端口:
nc -vz <服务器IP> 21 或 telnet <服务器IP> 21
- 测试被动端口范围(示例):
nc -vz <服务器IP> 50100-52100
- 常见原因与处理
- 云服务器安全组未放行对应端口:在控制台放行 21/TCP 与 被动端口范围。
- FTP 被动模式失败:确认服务器已设置被动端口范围,且防火墙/网关已放行该范围;若服务器在 NAT 后,需在被动设置中填写 公网IP。