在论坛里看到有些网友,不能正常使用FTP来传送文件,所以写此帖。
环境:云服务器ECS,网络类型为“专有网络”,创建ECS绑定公网IP;系统镜像为Debian 8
现象:FTP客户端可以连接FTP服务端,但“读取目录列表失败”。
原因:专有网络的ECS系统中,没有公网IP地址,是经NAT与互联网连接,且ECS创建过程中的默认安全组规则没有针对FTP的快捷选项。建议在Linux系统里使用sftp协议替换ftp使用。
过程:
1. apt-get install vsftpd 安装 vsftpd
2. vi /etc/vsftpd.conf 编辑vsftpd的配置文件,修改或增加以下配置内容:
- listen=YES # 监听默认21端口
- write_enable=YES # 可写权限
- pasv_enable=YES # 启用pasv模式
- pasv_min_port=30000 # 设置pasv模式中的可用端口范围(开始)
- pasv_max_port=30100 # 设置pasv模式中的可用端口范围(结束)
- pasv_address=39.108.4.89 # 设置pasv模式中的外网IP
- seccomp_sandbox=NO # 关闭 seccomp 功能
3. 在ECS实例安全组中,分别增加两条规则,允许相应的tcp端口访问(tcp 21端口,和 tcp 3000到30100端口)
4. 在 FileZilla Client 测试,可以成功列出文件,及上传文件
自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com
本文链接地址: 在阿里云“专有网络”网络类型中配置vsftpd http://www.chhua.com/web-note5517
评论