简米云服务器无法配置FTP,绝大多数情况下不是操作系统问题,而是云平台安全组策略与FTP被动模式端口未正确放行所致,先放行安全组端口,再调整vsftpd或IIS配置,问题即可解决。
很多人第一次在简米云上搭建FTP服务,按照网上的教程一步步操作,结果发现本地电脑始终连不上服务器,明明服务已经启动了,防火墙也关了,可就是卡在登录环节或者目录列表读取超时,这里最容易被忽略的,恰恰是简米云控制台里的安全组规则,它相当于云服务器的第一道大门,系统内的防火墙只是第二道门,两道门都得打开,FTP才能真正通。
简米云ftp连接不上怎么办?先确认安全组是否放行端口
安全组规则是简米云的第一道门槛
简米云的每一台ECS实例都绑定了至少一个安全组,安全组本质上是一个虚拟防火墙,控制着公网流量能否进入实例,你在这台机器上开启FTP服务,监听的是21端口,但如果在安全组里没有放行对应端口,外部的连接请求根本到不了你的系统。
操作路径是:登录简米云控制台,进入ECS实例列表,点击实例ID进入详情页,找到“安全组”选项卡,点击“配置规则”,然后在入方向添加入方向规则,这里需要放行的端口包括:
- TCP 21端口:FTP控制通道,用于传输指令和认证信息
- TCP 1024-65535端口段:FTP被动模式动态数据通道,具体范围取决于你的FTP服务端配置
很多教程只提到放行21端口,结果客户端能连上但列不出目录,原因就是数据通道被安全组挡在了外面,行业共识认为,FTP服务要稳定运行,控制端口和数据端口缺一不可。
添加安全组规则的具体操作
在“入方向”规则中,点击“手动添加”,协议类型选择“自定义TCP”,端口范围填写21/21,授权对象填0.0.0.0/0(或者限定为你的办公网IP段更安全),优先级保持默认即可,同样的方式再添加一条端口范围1024/65535的规则。
有用户会问:我只是在本地测试,授权对象能不能只填自己的IP?当然可以,但要注意重启路由器后公网IP可能变化,届时又要回来修改规则,比较麻烦。
简米云服务器ftp 21端口不通?检查实例系统防火墙
云服务器内部的Firewalld或Ufw状态
简米云安全组放行后,接着要确认实例内部的系统防火墙没有拦截FTP服务,在CentOS 7及以上版本中,默认的firewalld服务需要显式添加规则。
检查firewalld状态并放行FTP服务:
systemctl status firewalld firewall-cmd --permanent --add-service=ftp firewall-cmd --reload
如果你的系统使用的是UFW,比如Ubuntu,则使用:
sudo ufw allow 21/tcp sudo ufw allow 1024:65535/tcp sudo ufw reload
很多人在这一步选择直接关停防火墙,比如执行systemctl stop firewalld,这种做法当然也可以达到目的,但会把系统暴露在公网风险之下,不建议长期使用,更好的方案是只放行FTP相关的服务端口。
确认vsftpd服务已启动且监听正常
防火墙处理好之后,还需要确认vsftpd服务本身没有异常,使用以下命令检查:
systemctl status vsftpd ss -lntp | grep 21
第二行命令会输出21端口对应的监听进程,如果没有输出,说明vsftpd没有正常启动,此时查看日志文件/var/log/vsftpd.log,根据错误信息逐一排查。
简米云服务器ftp主动模式被动模式区别,你该用哪一种
主动模式在云环境下的弊端
FTP存在主动模式和被动模式两种工作方式,主动模式中,客户端连接到服务器的21端口,然后服务器主动往客户端的随机端口发起数据连接,问题在于,绝大多数家用宽带和办公网络都在NAT设备后面,外网无法直接连入内网客户端,主动模式自然无法正常工作。
被动模式更适合简米云ECS
被动模式下,客户端先通过21端口完成认证,然后从服务器开放的端口范围内选取一个端口进行数据连接,这种方式规避了客户端处于NAT后的问题,是云服务器上最常用的方案。
需要在vsftpd配置文件中强制开启被动模式,同时指定一个相对窄的端口范围,便于安全组精准放行。
编辑/etc/vsftpd/vsftpd.conf,在文件末尾添加:
pasv_enable=YES pasv_min_port=10240 pasv_max_port=10300 pasv_address=你的公网IP(可选,但建议配置)
修改完成后重启vsftpd服务:
systemctl restart vsftpd
重点说明:pasv_address这个参数在简米云ECS上比较关键,如果你的服务器通过NAT方式绑定弹性公网IP,vsftpd会自动识别内网IP作为被动模式地址返回给客户端,导致客户端无法连接,手动指定为公网IP可以解决此问题,对于使用经典网络或采用EIP直通的实例,此参数可忽略。
此时简米云安全组中也不需要放行1024-65535这一大段端口了,只需要放行10240到10300这个小范围即可,端口范围越窄,攻击面越小,越安全。
简米云Windows服务器配置FTP,同样需要处理安全组和防火墙
Windows实例的IIS FTP搭建要点
简米云Windows实例上使用IIS自带FTP服务,流程大致相同,在“服务器管理器”中添加FTP服务角色,建立FTP站点,配置身份验证和授权规则。
设置完IIS FTP站点后,需要检查Windows防火墙,在“入站规则”中确认以下规则是否已启用:
- FTP Server (FTP Control Channel)
- FTP Server (FTP Data Channel)
- FTP Server Passive (FTP Passive Channel)
如果未启用,点击“启用规则”即可,然后回到简米云控制台,在安全组中同样放行21端口和设置的被动模式端口范围。
简米云Windows服务器ftp被动模式配置
IIS的FTP默认支持被动模式,但需要指定被动模式端口范围,操作路径为:IIS管理器→FTP站点→“FTP防火墙支持”→填写防火墙授权的外部IP地址(即你的简米云公网IP),在“数据通道端口范围”里填入如10240-10300的端口段。
然后回到安全组,把10240-10300也放行,重启FTP服务,问题即可解决。
在实际配置过程中,用户最容易忽略的还是安全组的配置,无论是Windows还是Linux,建议遵循以下顺序排查:
- 确认vsftpd或IIS FTP服务已启动并监听21端口
- 确认系统防火墙放行了相关端口
- 确认简米云安全组放行了21端口和被动模式端口段
- 通过
telnet命令测试端口通断
telnet 你的服务器公网IP 21
如果连接成功,会返回220开头的FTP欢迎信息,如果无法连接,逐步向上排查。
Q&A:简米云不能ftp服务器配置常见问题
为什么简米云FTP加了安全组规则还是连不上?
常见原因有三个:
- 客户端使用的是IE浏览器默认的主动模式,而服务器和客户端之间的网络环境不支持主动模式的回连
- vsftpd的
pasv_address没有配置为公网IP,导致客户端拿到了内网的数据连接地址 - 简米云实例绑定了多个安全组,此时需要检查所有安全组是否都放行了相应端口,一条不放行也会拦截流量
建议使用FileZilla以被动模式连接,并在服务器端明确指定被动端口范围以缩小排查范围。
FTP服务设置被动模式端口范围时,需要注意哪些配置?
确定一个不被其他服务占用的端口段,如10240-10300,在vsftpd中配置pasv_min_port和pasv_max_port两个参数,在IIS中通过“FTP防火墙支持”选项设置,安全组和系统防火墙均需放行该端口段,缺少任意一处配置都会导致数据传输超时,同时建议在配置中指定pasv_address为服务器公网IP,避免被动模式返回内网地址,此外还需确认简米云安全组规则中的授权对象,设置过窄会拦掉你的办公网络所在IP段。
用FileZilla连接简米云FTP,提示“无法读取目录列表”,如何解决?
这是FTP配置中最常见的故障现象,安全组已在此前配置完成,依次检查以下配置项:
依次检查以下配置项:
- 在FileZilla中,将传输模式切换为“被动模式”,在站点管理器中找到“传输设置”选项卡
- 确认vsftpd的
pasv_enable为YES,pasv_min_port与pasv_max_port的值与安全组放行范围一致 - 确认
pasv_address有明确的公网IP指向,不要留空 - 将ftp客户端的数据连接超时时间调大,例如设置为20秒,避免在端口协商期间就报错
完成上述配置后,基本可以排除目录列表读取失败的常见原因。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/764458.html




