【經典】阿里雲ecs 搭建vsftpd遇到的問題以及解決方案

前言

在阿里雲的ECS上搭建VSFTPD的時候遇到了一些奇怪的問題,下面將解決方案分享下。安全

vsftpd配置

最新的vsftpd是2.2.2版本vsftpd -v能夠查看,配置文件跟以前有很大的不一樣,咱們能夠按照阿里雲給出的文檔進行配置服務器

連接:ECS 阿里雲VSFTPD 官方文檔阿里雲

關於user_list

網上不少教程關於user_list的說法都是若是開啓了userlist_enable=YES而且userlist_deny=YES的時候,表明user_list文件內部是禁止的用戶。可是實際上新版本的配置文件,只有一個userlist_enable=YES,這個的意思是『若是爲YES表明禁止裏面的用戶登錄』,這個地方須要注意。代理

關於ftp無反應

在使用21端口進行訪問的時候,長時間無反應,查看iptables發現是關閉狀態,另外使用netstat命令查看vsftpd的確正在監控21端口。code

因而懷疑是不是ecs的自己設置問題,登錄控制檯,發現有安全組的配置。自己開啓了部分端口。因而咱們建立一個新的安全組添加端口爲21/21,而後就能夠登錄了。教程

關於filezilla失敗問題

對於ftp而言,是有主動(pass)和被動(pasv)兩種模式的,簡單介紹下:
主動:服務端來連接客戶端
被動:客戶端去連接服務端ip

有什麼區別呢?客戶端在內網,通過層層代理,若是服務端來連接個人話,可能會找不到我。因此咱們要用被動模式,也是最經常使用的模式。路由

可是報錯了!!文檔

鏈接創建,等待歡迎消息...
狀態:     不安全的服務器,不支持 FTP over TLS。
狀態:     已登陸
狀態:     讀取「/」的目錄列表...
狀態:     服務器發回了不可路由的地址。使用服務器地址代替。

而後找資料不少都是說從被動模式回退爲主動模式,可是咱們稍加思考就知道這種方式不對哦。get

咱們來分析下:

  1. 必須使用被動模式,讓客戶端去連接服務端
  2. 服務端會告訴客戶端『我打開了xx端口,你過來連接』
  3. 說明xxx端口對於客戶端必須是可見的,這個要考慮安全組配置
  4. 那麼安全組配置是配置範圍,如何我讓vsftpd開放的端口恰好在這個範圍內呢?
  5. 配置vsftpd.conf的被動模式的端口範圍

上面就是咱們解決這個問題的思路,配置一個範圍,在/etc/vsftpd/vsftpd.conf中加入下面代碼

pasv_enable=YES
pasv_max_port=7000
pasv_min_port=6000

開啓了6000-7000的端口,不要着急,咱們還要去安全組將這個範圍的端口打開,容許客戶端連接進來,而後就大功告成!

相關文章
相關標籤/搜索