温馨提示×

centos ftpserver如何开启端口

小樊
45
2026-09-15 04:30:57
栏目: 智能运维

在 CentOS 上搭建 FTP 服务(如 vsftpd)并“开启端口”,通常包含三步:安装/配置 FTP 服务、系统防火墙放行端口、SELinux 放行(如有)。下面以最常见的 vsftpd + CentOS 7/8/Stream 为例说明。


一、安装并启动 FTP 服务(vsftpd)

# 安装
yum install -y vsftpd

# 启动并设置开机自启
systemctl start vsftpd
systemctl enable vsftpd

二、FTP 常用端口说明

  • 21:命令端口(必须开)
  • 20:主动模式数据端口(可选)
  • 被动模式端口范围(推荐):如 30000-31000

三、防火墙开启 FTP 端口(firewalld)

1. 开启 21 端口

firewall-cmd --permanent --add-port=21/tcp

2. 开启被动模式端口范围(推荐)

编辑 /etc/vsftpd/vsftpd.conf,添加:

pasv_min_port=30000
pasv_max_port=31000

然后防火墙放行:

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

3. 重新加载防火墙

firewall-cmd --reload

4. 查看已开放端口

firewall-cmd --list-ports

四、SELinux 设置(很重要)

CentOS 默认开启 SELinux,否则 FTP 可能无法连接。

# 允许 FTP 访问
setsebool -P ftpd_full_access on

# 如果是家目录 FTP
setsebool -P ftp_home_dir on

如不想用 SELinux(不推荐):

setenforce 0
# 永久关闭需修改 /etc/selinux/config

五、vsftpd 基础配置示例

/etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

重启服务:

systemctl restart vsftpd

六、验证端口是否监听

netstat -lntp | grep vsftpd
# 或
ss -lntp | grep vsftpd

如果你用的是 CentOS 6(iptables)ProFTPD / Pure-FTPd,或者需要 云服务器安全组配置说明,可以告诉我,我给你对应方案。

0