CentOS下FileZilla的防火墙设置指南
一 场景与原则
- FileZilla是跨平台的FTP/SFTP客户端,本身不提供防火墙配置功能;在CentOS上应通过系统防火墙(推荐firewalld)放行相应端口与协议。
- 区分两类用法:
- 使用FileZilla客户端连接外部FTP/SFTP服务器:只需在客户端所在机器的防火墙放行出站连接(通常出站默认允许,无需额外配置)。
- 在CentOS上部署FTP服务器(如安装FileZilla Server或使用vsftpd):需在服务器放行控制连接端口与被动模式数据端口,并在服务器软件内正确配置被动端口范围与返回地址。
二 使用 firewalld 放行 FTP 服务器
三 使用 iptables 放行 FTP 服务器
- 放行控制端口:sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
- 放行被动端口范围(示例):sudo iptables -A INPUT -p tcp --dport 50100:52100 -j ACCEPT
- 保存规则(路径因发行版而异):sudo iptables-save > /etc/iptables/rules.v4
- 注意:iptables规则需持久化保存,避免重启后丢失。
四 验证与常见问题
- 验证端口与服务
- 查看firewalld规则:firewall-cmd --list-all
- 测试控制端口连通:nc -vz 服务器IP 21 或 telnet 服务器IP 21
- 被动模式要点
- 服务器与防火墙的被动端口范围必须一致(如50100–52100)。
- 若服务器位于NAT之后,需在FileZilla Server设置被动模式返回地址为服务器的公网IP,避免数据通道回连失败。
- 连接失败排查
- 核对服务器防火墙是否放行21/tcp与被动端口范围。
- 核对FTP服务(FileZilla Server/vsftpd)的被动端口配置与日志报错。
- 如使用云服务器,确保安全组/ACL同样放行相关端口。