由於跟海南雲展那邊需要我們提供日志,做日志分析。他們習慣使用FTP分析日志。所以我們這邊就需要搭建FTP服務器。我們有個同事用vsftpd搭建完畢,但是后面使用Linux無法登陸,我就重新學習下,並排下坑,解決問題。
1:被動模式,可能登陸,但是無法顯示文件。
參考解決url: http://www.voidcn.com/article/p-vhyoixyg-boa.html
問題描述:卡在227 Entering Passive Mode (172,23,89,3,156,65). 后面就報超時,原因很簡單。
當然會失敗啊!服務器告訴我們,可以去連接172.23.89.3的156*256+65=40001端口以便傳輸數據,可是2個都不是局域網,肯定無法訪問172.23.89.3的40001端口的。
后來我是用的是參考url里面修改服務端的配置:
vsftpd的配置文件中加入如下兩行即可.
pasv_addr_resolve=yes //允許vsftpd去欺騙客戶
pasv_address=10.10.10.20 //讓vsftpd以這個地址去欺騙客戶
其實這里原來的同事配置也有問題,我就貼下被動模式的全部配置
pasv_enable=YES
pasv_addr_resolve=YES
pasv_address=120.55.61.243
pasv_min_port=40000
pasv_max_port=40050
pasv_promiscuous=YES
注意的是40000和40050端口要對客戶端IP開放。否則無法來訪問。
2:主動模式下,我們測試一台機器可以使用ls,另一台卻無法使用ls命令。
其實原因很簡單。了解主動模式的原理。因為一台服務器是有防火牆的。所以主動模式,FTP服務器無法訪問這台機器。另一台沒問題就是因為沒有防火牆。所以一般服務器來訪問的話,建議使用被動模式,否則對客戶端有很多限制。