在阿里云“专有网络”网络类型中配置vsftpd

原文地址:传送门

环境:云服务器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的配置文件,修改或增加以下配置内容: 
 
 
 

  1. listen=YES # 监听默认21端口
  2.     write_enable=YES # 可写权限
  3.     pasv_enable=YES  # 启用pasv模式
  4.     pasv_min_port=30000 # 设置pasv模式中的可用端口范围(开始)
  5.     pasv_max_port=30100 # 设置pasv模式中的可用端口范围(结束)
  6.     pasv_address=39.108.4.89 # 设置pasv模式中的外网IP
  7.     seccomp_sandbox=NO # 关闭 seccomp 功能

 
 
 
3. 在ECS实例安全组中,分别增加两条规则,允许相应的tcp端口访问(tcp 21端口,和 tcp 3000到30100端口) 
 
 
 
 
 
 
 
 
 
 
 
4. 在 FileZilla Client 测试,可以成功列出文件,及上传文件 
 
 
 
 
 
参考: 
https://askubuntu.com/questions/592577/vsftpd-pasv-configuration-set-up-yet-still-not-working 
https://serverfault.com/questions/421161/how-to-configure-vsftpd-to-work-with-passive-mode 
http://worldend.logdown.com/posts/247495-solve-vsftpd-500-oopspriv-sock-get-cmd

猜你喜欢

转载自www.cnblogs.com/jiyang2008/p/9004459.html