FileZilla在CentOS上如何设置防火墙
导读:在 CentOS 上为 FileZilla 配置防火墙 前置说明 FileZilla 是客户端,不负责系统防火墙;需要在 CentOS 上放行相应端口与服务,才能正常连接 FTP/SFTP 服务器。 常见场景有两类:连接外部 FTP/SF...
在 CentOS 上为 FileZilla 配置防火墙
前置说明
- FileZilla 是客户端,不负责系统防火墙;需要在 CentOS 上放行相应端口与服务,才能正常连接 FTP/SFTP 服务器。
- 常见场景有两类:连接外部 FTP/SFTP 服务器(只需放行本机出站);在 CentOS 上自建 FTP 服务器并用 FileZilla 连接(需放行服务器入站端口,并正确配置 FTP 被动模式端口范围)。
场景一 作为客户端连接外部服务器
- 放行出站 FTP 控制连接(默认端口 21/TCP):
- 使用 firewalld:
sudo firewall-cmd --permanent --add-port=21/tcp sudo firewall-cmd --reload - 如使用较新的 firewalld,可直接放行 FTP 服务(包含控制通道的被动端口协商):
sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload
- 使用 firewalld:
- 说明:大多数情况下,出站连接默认策略为允许;若被限制,按上放行即可。SFTP 走 22/TCP,通常系统已放行 SSH,无需额外配置。
场景二 在 CentOS 上自建 FTP 服务器并用 FileZilla 连接
- 安装并启动 vsftpd(示例):
sudo yum install -y vsftpd sudo systemctl enable --now vsftpd - 放行 FTP 控制端口(21/TCP):
sudo firewall-cmd --permanent --add-port=21/tcp - 配置被动模式端口范围(示例范围:6000–7000/TCP),编辑 /etc/vsftpd/vsftpd.conf:
保存后重启服务:pasv_enable=YES pasv_min_port=6000 pasv_max_port=7000sudo systemctl restart vsftpd - 放行被动模式数据端口范围:
sudo firewall-cmd --permanent --add-port=6000-7000/tcp sudo firewall-cmd --reload - SELinux 与权限(如遇到无法列目录或上传):
sudo setsebool -P ftpd_full_access on sudo setsebool -P ftp_home_dir on - 说明:主动模式涉及 20/TCP 数据端口,但在 NAT/云环境常受限,生产更推荐被动模式并显式放行端口范围。
验证与排错
- 查看已放行端口/服务:
sudo firewall-cmd --list-ports sudo firewall-cmd --list-services sudo firewall-cmd --list-all - 连接测试(服务器本机):
nc -vz localhost 21 - FileZilla 端建议:使用 被动模式(Edit → Settings → FTP),端口填写 21,若服务器启用了被动端口范围,请确保与服务器配置一致。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: FileZilla在CentOS上如何设置防火墙
本文地址: https://pptw.com/jishu/785790.html
