FTP 被動模式 (Filezilla) Windows Server 2012 偶爾出現“426 連線已關閉;中止傳輸“”

FTP 被動模式 (Filezilla) Windows Server 2012 偶爾出現“426 連線已關閉;中止傳輸“”

大家,早安,

我在 MS Azure 中託管的 WIN 2012 R2 伺服器上託管 FileZilla FTP 伺服器(被動模式)。

FTP 傳輸通常運作良好 - 每天都會執行多個 FTP 上傳和檢索。

我在 Azure 入口網站/一側開啟了相對較大範圍的連接埠(端點)以允許被動模式。

我偶爾(平均每兩天一次)看到以下 FTP 傳輸問題:

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> MDTM dev_updates/file1

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> 213 20160728071048

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> MDTM dev_updates/file2

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> 213 20160728071048

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> MDTM dev_updates/file3

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> 213 20160728071050

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> CWD dev_updates/Infrastructure/folder

8/8/2016 9:09:59 AM - USER_FILEZILLA (62.154.Y.X)> 250 CWD successful. "dev_updates/Infrastructure/folder" is current directory.

8/8/2016 9:10:00 AM - USER_FILEZILLA (62.154.Y.X)> PASV

8/8/2016 9:10:00 AM - USER_FILEZILLA (62.154.Y.X)> 227 Entering Passive Mode (104,40,Y,X,234,235)

8/8/2016 9:10:00 AM - USER_FILEZILLA (62.154.Y.X)> 426 Connection closed; aborted transfer of ""

8/8/2016 9:10:01 AM - USER_FILEZILLA (62.154.Y.X)> disconnected.

8/8/2016 9:10:01 AM - (not logged in) (62.154.Y.X)> Connected on port 21, sending welcome message...

8/8/2016 9:10:01 AM - (not logged in) (62.154.Y.X)> 220-FileZilla Server 0.9.57 beta

8/8/2016 9:10:01 AM - (not logged in) (62.154.Y.X)> 220-written by Tim Kosse ([email protected])

8/8/2016 9:10:01 AM - (not logged in) (62.154.Y.X)> 220 Please visit https://filezilla-project.org/

8/8/2016 9:10:01 AM - (not logged in) (62.154.Y.X)> USER USER_FILEZILLA

8/8/2016 9:10:01 AM - (not logged in) (62.154.Y.X)> 331 Password required for 

如前所述,每天(自動)發生多次 FTP 傳輸,並掃描分配給 FileZilla FTP 伺服器的 140 多個連接埠範圍(以被動模式運行)。

我在 Azure 託管的 VM 上執行 Wireshark 擷取;我可以從 Wireshark 擷取中看到,「426 連線關閉」事件實際上與 Azure 中的 VM 產生的 RST 相匹配,並發送回發出 PASV 命令的用戶端(即在上面的範例中,FTP 伺服器回復到客戶端PASV 命令,連接埠:234,235 -> 60139 用戶端嘗試開啟到連接埠60139 的資料通道以開始傳輸-> FTP 伺服器立即回复(根據Wireshark 捕獲,在MS 內)發出RST給客戶)。

我想到了 FTP 伺服器端的一些臨時連接埠分配問題 -> 因此我減少了允許的動態作業系統臨時連接埠範圍,使其不與 FTP 被動連接埠範圍重疊 - 使用

netsh int ipv4 set dynamicport tcp start=49152 num=10000

另外,我透過命令明確地將連接埠範圍保留添加到 netsh 堆疊

netsh int ip add excludeportrange protocol=tcp startport=60000 numberofports=141 store=persistent

儘管如此,問題仍然偶爾發生。

我閱讀了本網站以及 MS Azure technet 會議上關於 Azure 如何監視端點狀態(當 LB 集的一部分時)的廣泛技術討論,但這不適用於我的情況,因為 FTP 被動傳輸(檢索和上傳)在保留的FTP 被動連接埠範圍內的隨機連接埠上通常運作正常。

如果需要,我可以提供其他詳細資訊 - 同時,我將不勝感激有關伺服器和客戶端故障排除/調查的其他建議(幾乎可以肯定問題與網路或網路配置無關)。

我還想詢問有關如何調試winsock以解決可能的伺服器端套接字可用性問題的其他故障排除/調查建議/提示。

相關內容