在 CentOS 上修改 FTP 服务器端口,取决于你使用的是哪种 FTP 服务软件。最常见的是 vsftpd(CentOS 默认常用)。下面以 vsftpd 为例说明。
vi /etc/vsftpd/vsftpd.conf
找到或添加以下配置(默认是 21):
listen=YES
listen_port=2121
将
2121改成你想使用的端口
如果是 IPv6:
listen_ipv6=YES
# 注意:listen 和 listen_ipv6 不能同时为 YES
systemctl restart vsftpd
netstat -lntp | grep vsftpd
# 或
ss -lntp | grep vsftpd
firewall-cmd --permanent --add-port=2121/tcp
firewall-cmd --reload
iptables -I INPUT -p tcp --dport 2121 -j ACCEPT
service iptables save
如果启用了 SELinux,可能需要允许非标准端口:
semanage port -a -t ftp_port_t -p tcp 2121
(若没有 semanage,先安装 policycoreutils-python)
ftp ip地址 2121
或在 FileZilla 中端口填 2121
还需在 vsftpd.conf 中配置:
pasv_min_port=30000
pasv_max_port=31000
并放行对应端口范围。
如果你用的是 ProFTPD / Pure-FTPd,或者不确定用的是哪个 FTP 服务,可以告诉我,我可以给你对应方法。