Ftp
更改伺服器埠後停止工作主動模式FTP
我在我的伺服器上使用 proftpd(ubuntu 16.04 x86_64)。
預設 proftpd 使用標準 21 埠。我可以毫無問題地從我的家用筆記型電腦連接到具有活動模式的 ftp。
現在我停止 proftpd,將埠從 21 更改為 10021,再次啟動服務。現在我無法連接主動模式,只能連接被動模式。
- 有什麼改變?
- 我也無法理解,為什麼活動模式有效?我可以通過路由器上網。我沒有在路由器上將任何埠轉發到我的筆記型電腦。正如我現在,在連接時,我的筆記本(ftp 客戶端)創建從某個埠 > 1023 到伺服器埠 21 的連接。我的筆記本還向伺服器發送第二個(數據)埠到伺服器,伺服器從自己的埠 20 用這些數據連接到我港口。但是,如果我的埠從 wan 關閉,如何建立第二個連接?
您的防火牆(路由器)有一個用於 FTP 的連接跟踪助手。當它看到一個 FTP 控制連接(它通過 TCP 目標埠 == 21 辨識)時,它會監視命令。當它看到你的客戶端發送
PORT
命令時,它會重寫它(到你的外部 IP 地址,可能還有一個不同的埠)並跟踪來自 FTP 伺服器的預期連接。當該連接到達時,它被允許通過。當您更改埠時,這一切都沒有發生,因為 10021 未被辨識為 FTP 控制連接。
至少在 Linux 上,該功能就是
nf_conntrack_ftp
模組,ports
如果需要,您可以將選項設置為包括 10021。PS:類似的事情可以用伺服器前面的防火牆完成,但反過來:它是在被動模式傳輸上完成的,而不是主動模式。