萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

ipchains 環境下 FTP 失效原因與被動模式解決方案

在 ipchains 防火牆/NAT 環境下,標準 ftp 指令無法運作,但 ncftp 正常。根本原因在於 FTP 協議的雙通道特性與防火牆封包過濾機制衝突。

FTP 雙通道機制

  1. 控制連線:客戶端主動連接伺服器 TCP 21 埠。
  2. 資料連線 (主動模式 PORT):客戶端透過 PORT 指令告知伺服器「請連回我的 IP:Port」,伺服器**主動發起**連線至客戶端傳輸資料。

ipchains 導致的問題

內網機器經 NAT 上網,對外 IP 為防火牆公網 IP。伺服器嘗試連回客戶端時,目標 IP 是公網 IP,但防火牆無法判斷該連線對應內網哪台機器,封包被丟棄,資料連線建立失敗。

解決方案:被動模式 (PASV)

客戶端發送 PASV 指令,伺服器回應一組 IP:Port,**客戶端主動連接**伺服器進行資料傳輸。兩條連線皆由內網發起,符合狀態檢測防火牆規則,NAT 可正確對應。

工具選擇

  • ftp (標準 BSD ftp):**不支援被動模式**,無法在 ipchains NAT 環境使用。
  • ncftp / lftp / 圖形化 FTP 用戶端:**支援被動模式**,正常運作。

結論:防火牆/NAT 內網環境下,務必使用支援 PASV 模式的 FTP 用戶端。

copyright © 萬盛學電腦網 all rights reserved