温馨提示×

centos ftpserver怎么防火墙放行

小樊
37
2026-10-23 14:35:19
栏目: 智能运维

在 CentOS 上放行 FTP(ftpserver)的防火墙,需要根据你使用的 FTP 模式(主动/被动) 和 CentOS 版本(firewalld / iptables) 来配置。下面以 CentOS 7/8 使用 firewalld(最常见)为例说明。


一、FTP 常见端口

  • 21:FTP 控制端口(必须放行)
  • 被动模式端口(Pasv):如 30000–31000(需在 FTP 服务端配置)

二、CentOS 7/8(firewalld)放行 FTP

1️⃣ 放行 FTP 服务(最简单)

sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload

✅ 这会放行 21 端口及部分 FTP 相关模块


2️⃣ 放行被动模式端口(非常重要)

如果你使用 vsftpd,先编辑配置:

sudo vi /etc/vsftpd/vsftpd.conf

添加或修改:

pasv_min_port=30000
pasv_max_port=31000

然后防火墙放行:

sudo firewall-cmd --permanent --add-port=30000-31000/tcp
sudo firewall-cmd --reload

3️⃣ 加载 FTP 防火墙模块(防止被动模式失败)

sudo firewall-cmd --permanent --add-module=ftp
sudo firewall-cmd --reload

三、SELinux 也要放行(很多人忽略)

sudo setsebool -P ftpd_full_access on

查看状态:

getsebool ftpd_full_access

四、CentOS 6 / 使用 iptables 的情况

iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT
service iptables save
service iptables restart

五、验证

ftp localhost
# 或从其他机器
ftp 服务器IP

如果你能告诉我:

  • FTP 软件(vsftpd / proftpd / pure-ftpd)
  • CentOS 版本
  • 主动还是被动模式

我可以给你精确配置命令。

0 踩