在 Linux 上修改 FTP 端口,取决于你使用的是哪种 FTP 服务。最常见的是 vsftpd,下面以它为主说明,同时补充 pure-ftpd / proftpd 的要点。
sudo vi /etc/vsftpd.conf
默认 FTP 控制端口是 21,可以改成其他端口,例如 2121:
listen=YES
listen_port=2121
如果是 IPv6 环境,还需要:
listen_ipv6=NO
sudo systemctl restart vsftpd
ss -lntp | grep vsftpd
sudo firewall-cmd --add-port=2121/tcp --permanent
sudo firewall-cmd --reload
sudo ufw allow 2121/tcp
FTP 被动模式需要额外端口范围,否则客户端可能连不上。
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
防火墙放行:
sudo firewall-cmd --add-port=30000-31000/tcp --permanent
sudo firewall-cmd --reload
SELinux 可能会阻止非标准端口。
getenforce
sudo semanage port -a -t ftp_port_t -p tcp 2121
如果没有 semanage:
sudo yum install policycoreutils-python-utils
修改端口后,连接时需要指定端口:
ftp 192.168.1.10 2121
或使用 lftp:
lftp -p 2121 ftp://192.168.1.10
启动参数:
pure-ftpd -S 2121
或配置文件:
Bind 0.0.0.0,2121
Port 2121
重启:
systemctl restart proftpd
✅ 不建议直接用 FTP(明文)
✅ 推荐:
如果你愿意,可以告诉我:
我可以给你一套最安全、最稳定的配置方案。