Linux下VSFTP端口设置指南
VSFTP(Very Secure FTP Daemon)默认使用21端口作为命令通道(用于客户端与服务器之间的命令交互),20端口作为数据通道(用于文件传输)。若需修改端口,需重点调整命令通道端口,数据通道端口可根据需求同步变更。
使用文本编辑器(如vim、nano)打开VSFTP主配置文件/etc/vsftpd.conf(部分系统可能位于/etc/vsftpd/vsftpd.conf):
sudo vim /etc/vsftpd.conf
在配置文件中添加或修改listen_port参数,指定新的命令通道端口(范围:1024-65535,避免使用系统保留端口):
listen_port=2121 # 示例:将命令通道改为2121端口
若需同时修改数据通道端口,可添加listen_data_port参数(可选):
listen_data_port=2120 # 数据通道端口(默认20,可自定义)
vim编辑器:按Esc键 → 输入:wq → 按Enter键;nano编辑器:按Ctrl+X → 按Y → 按Enter键。使配置生效,执行以下命令(根据系统版本选择):
# CentOS 7及以上/Debian 9及以上
sudo systemctl restart vsftpd
# CentOS 6及以下
sudo service vsftpd restart
使用netstat或ss命令检查VSFTP是否在新端口监听:
sudo netstat -utlpn | grep vsftpd
# 或
sudo ss -utlpn | grep vsftpd
输出应包含类似内容:
tcp 0 0 0.0.0.0:2121 0.0.0.0:* LISTEN 1234/vsftpd
若系统开启了防火墙(如firewalld、iptables),需开放新端口:
sudo firewall-cmd --permanent --zone=public --add-port=2121/tcp # 开放端口
sudo firewall-cmd --reload # 重新加载防火墙规则
sudo iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 2121 -j ACCEPT # 添加规则
sudo service iptables save # 保存规则
若系统开启了SELinux,需将新端口添加到FTP端口类型(ftp_port_t):
# 检查端口是否已定义
sudo semanage port -l | grep 2121
# 若未定义,添加端口
sudo semanage port -a -t ftp_port_t -p tcp 2121
netstat -tulnp | grep <端口号>检查)。pasv_enable=YES),需额外设置pasv_min_port和pasv_max_port(建议范围:10000-10100),并在防火墙中开放该端口范围。ftp://服务器IP:2121)。通过以上步骤,即可完成Linux下VSFTP端口的修改。