ftp的passive模式

軒脈刃發表於2020-06-29

ftp的passive模式

今天在一臺測試伺服器上搭建ftp,折騰了許久。

主要是不瞭解ftp的passive模式和port模式的區別。這裡記錄一下。

和passive模式對應的叫做port模式,也叫做standard模式,也叫主動模式。

每個ftp客戶端和服務端建立連線需要建立兩個連線,一個連線用於命令傳輸,一個連線用於資料傳輸。

命令傳輸不管主動模式還是被動模式,都是客戶端主動連線服務端建立的。

但是資料傳輸就不同了。

主動模式的圖

20200628140929

主動模式的主動說的是服務端主動。當要進行資料傳輸的時候,客戶端先向服務端告知一個埠,然後在客戶端開啟埠listen。由服務端主動連線這個埠,建立資料傳輸通道。

被動模式的圖

20200628141254

被動模式的被動說的也是服務端。當要進行資料傳輸的時候,服務端告知客戶端一個埠,然後在服務端開啟埠listen,由客戶端主動連線這個埠,服務端被動接受連線,建立資料傳輸通道。

有什麼不同

這兩種連線方式最大的不同在於是否服務端主動發起連線。由於防火牆,安全等策略,很多情況下根本不允許服務端主動發起連線。所以在很多情況下會建議使用被動模式(Passive)。

被動模式就要求服務端開啟埠,這個埠是可以指定的

MaxInstances 30
PassivePorts 8040 8070

這樣就指定了同時允許有30個連線,其中的伺服器開啟的資料傳輸埠為8040 - 8070。

參考

Proftpd快速搭建FTP伺服器
關於ftp的主動模式(Active Mode)和被動模式(Passive Mode)

相關文章