在ubuntu中架設FTP並不難
輸入
sudo apt-get install vsftpd
就行了
但是在/etc/vsftpd.conf中需要有些設定
這些設定可以很容易google得到
我也可以稍後補上設定方式
但最大問題就是virtualbox的port forwarding問題
ftp使用的port是20 及21兩個port
使用21來傳輸命令 傳輸資料使用20
但不一定都是使用20 port來傳輸資料
這要看使用的是主動還是被動模式
我想若是要在virtualbox裡啟用ftp
應該是要使用被動模式
但我把21 port forwarding至2111 port
fpt client可以連接但是無法取得List
我想是因為ftp client program不知道要使用哪個port來傳輸資料所致
這問題在耗了我整個下午google後還是沒有看到有效的解法
解決:
來說說被動模式吧,在client對port 21發出命令之後
server會選擇一個大於1024的port來當作data port 它會告訴client端要去這個port抓資料
這就是問題的徵點,server端會選擇哪個port並不知道
所以我們也不知道該把哪個port forwarding出去,總不能把所有大於1024的port都forwarding
因此最好的方式就是固定data port是哪一個,在/etc/vsftpd.conf中加入以下程式碼
pasv_enable=YES
pasv_min_port="想要固定的port" ex:9999
pasv_max_port="想要固定的port" ex:9999 要同pasv_min_port
這樣data port就被強制固定了
然後要記得restart vsftpd
因此我們只要在virtualBox中forwarding這個port出去就行了
一切就會海闊天空 這是我今天最大的收穫
ps. 更改vsftpd 根目錄 : 在/etc/vsftpd.conf 中加入 local_root="想要的路徑"
沒有留言:
張貼留言