在 CentOS 上修改 FTP 服务器端口,取决于你使用的是哪种 FTP 服务软件。最常见的是 vsftpd,下面以 vsftpd 为例说明(也补充一下 ProFTPD)。
一、vsftpd 修改 FTP 端口(最常见)
1. 编辑配置文件
vi /etc/vsftpd/vsftpd.conf
2. 修改或添加端口配置
默认 FTP 端口是 21,例如改成 2121:
listen=YES
listen_port=2121
如果是 IPv6 且使用
listen_ipv6=YES,对应参数是:listen_ipv6=YES ftp_data_port=2120 # 数据端口(可选)
3. 保存并退出
:wq
4. 重启 vsftpd
systemctl restart vsftpd
5. 防火墙放行新端口
firewall-cmd --permanent --add-port=2121/tcp
firewall-cmd --reload
6. 验证
netstat -lntp | grep vsftpd
# 或
ss -lntp | grep vsftpd
二、如果是被动模式(PASV)还需注意
如果你用被动模式(大部分客户端默认):
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
并放行端口范围:
firewall-cmd --permanent --add-port=30000-31000/tcp
firewall-cmd --reload
三、ProFTPD(较少见)
1. 修改配置文件
vi /etc/proftpd.conf
Port 2121
2. 重启服务
systemctl restart proftpd
3. 防火墙
firewall-cmd --permanent --add-port=2121/tcp
firewall-cmd --reload
四、SELinux 注意(很重要)
如果启用了 SELinux,可能还需要:
semanage port -a -t ftp_port_t -p tcp 2121
查看当前 ftp 端口:
semanage port -l | grep ftp
五、客户端连接方式
连接时需指定端口:
ftp ip 2121
或 FileZilla 中:
- 主机:
IP - 端口:
2121
如果你告诉我:
- 用的是 vsftpd / ProFTPD / 其他
- CentOS 版本(7 / 8 / Stream)
我可以给你更精确的步骤。