1. 程式人生 > >ftp上傳檔案慢卡問題的解決

ftp上傳檔案慢卡問題的解決

linux系統下,安裝有VSFTP伺服器,多人共用一個ftp賬號。以前傳檔案沒問題。最近遇到登陸不順(不是不能登陸),列表顯示和傳檔案都慢,卡的問題。

具體表現為:登陸不報錯,但開啟空白。列表也空白,要半天才出來。傳檔案也要反覆多次才能上傳成功。 開始以為是防火牆的問題。關了一樣。時好時壞。有人說是網路問題。但同樣在阿里雲上另一臺伺服器沒這個問題。

從軟體資訊來看,有報錯:

[11:54:59] [R] 227 Entering Passive Mode (xxxxxxxx).
[11:54:59] [R] 正在開啟資料連線 IP: 121.0.0.0 埠: 40519
[11:54:59] [R] LIST -al
[11:54:59] [R] 425 Security: Bad IP connecting.
[11:55:00] [R] 列表 錯誤
[11:55:00] [R] 以 PASV 模式連線失敗,正在嘗試 PORT 模式。
[11:55:00] [R] 正在偵聽埠: 14912,正在等待連線。
[11:55:00] [R] PORT 10,xx,xx,xx,58,64
[11:55:00] [R] 500 Illegal PORT command.
[11:55:01] [R] 列表 錯誤

就是反覆在主動和被動模式之間轉換。因為有Bad IP字樣。阿里技術員說可能是安全組設定而攔截了。但三臺伺服器,都在一個安全組,另兩臺伺服器的FTP服務正常(用的是另一種FTP)。
經查,vsftp的被動模式預設開啟安全檢查,該檢查確保資料連線和控制連線是來自同一個IP地址。解決辦法是關閉被動模式的安全檢查。
辦法:在/etc/vsftpd/vsftpd.conf檔案中新增如下一行:
pasv_promiscuous=YES
然後重新啟動vsftp服務:service vsftpd restart

至此問題解決。

為什麼以前可以現在出問題呢?原來,本單位是一個集團單位,IP地址有電信聯通多路,多個IP且經常自動切換。每天登陸的IP都在變。而且最近還發現啟用了以前沒有的新IP。這個問題很可能是在連線中變換了IP地址造成的。這一點與本單位情況相符。

有人說啟用主動模式連線不就解決了。我啟用主動模式後仍報錯,仍會轉換為被動,如果VSTFP中設定為主動模式,無法轉換,則報錯。
據我的理解,主動模式伺服器只用一個固定埠(20)來新建一個連線客戶線路傳資料。但由於多人共享一個賬號,如果同時登陸,就會造成伺服器埠衝突。被動模式,是伺服器開啟一個新埠,由客戶端來新建連線傳遞資料。這樣就可以同時多路工作而不衝突。