2016-04-19 126 views

回答

0

FTP是一個複雜的協議,它使用多個TCP連接,這是一個始終造成麻煩的功能。端口21僅用於命令通道,但是數據傳輸本身是使用新的TCP連接完成的,其中必要的端點(即端口號)在命令通道內動態分配和通信。

此行爲使得無法安全地使用簡單的防火牆,即您將需要有一個廣泛的端口打開的所有時間。更智能的防火牆提供了監視命令連接並動態打開端口的幫助程序。但是,即使使用加密技術,即使用TLS(FTPS)的FTP,它們也會變得鬆散,因爲它們無法再檢查命令連接。

因此,如果在客戶端和服務器之間沒有任何防火牆的情況下,FTP工作通常沒有問題,那麼直接連接就好了。如果一方位於防火牆或NAT之後(與大多數家庭用戶一樣),則在使用主動或被動FTP模式後,您可能會獲得成功。但是如果雙方都在防火牆或NAT後面,那麼你通常會失敗。

而不是使用FTP我建議使用SFTP。該協議基於SSH,僅使用單個TCP連接。因此可以很容易地配置防火牆。除此之外,它更安全,即默認情況下所有內容都被加密。諸如FileZilla或WinSCP等許多客戶端都支持它。