當 Windows 防火牆開啟時,無法從相同 LAN 中的其他電腦存取 FTP 伺服器

當 Windows 防火牆開啟時,無法從相同 LAN 中的其他電腦存取 FTP 伺服器

我在 Windows 10 上設定了 FTP 伺服器。但是當我打開防火牆時,我無法存取FTP。這些是我的防火牆入站規則,我認為這些規則是針對我的問題的(我想剪切並共享完整的Windows 防火牆規則列表。但它很大。請指出我需要調整的任何其他規則。我將剪切它並在這裡分享。

入境規則 在此輸入影像描述 在此輸入影像描述

呼出規則 在此輸入影像描述 在此輸入影像描述

請告訴我什麼配置不好。 (我在 Windows 10 上)

答案1

為了文件傳輸協定您需要確保打開 TCP 連接埠2021.此外,如果電腦上執行的伺服器服務使用被動模式,那麼您還需要開啟 FTP 伺服器配置所使用的 TCP 連接埠範圍。

快速連接埠分解

看來您正在 TCP 連接埠上運行不安全的 FTP20並且21即主動和被動),也許還有 FTPS在 TCP 連接埠上使用隱式 SSL990989.

FTP 協定使用一個連接埠/通道用於控制/命令,另一個連接埠/通道用於客戶端和伺服器的資料交換部分。

不安全的FTP

  • 命令通道:TCP端口21
  • 資料通道(主動):TCP端口20
  • 數據通道(被動):<FTP Server configured TCP port range>

具有隱式 SSL 的 FTPS

  • 命令通道:TCP端口990
  • 資料通道(主動):TCP端口989

命令列防火牆(本節應該解決問題)

在以管理員身分提升的命令列中執行以下命令,建立Windows 防火牆規則,允許FTP 伺服器服務的入站流量在Windows 作業系統分類網路的任何IP 位址和任何設定檔範圍的適用命令和資料連接埠上進行通信。

您需要指定program="<C:\FTPServer\FTPServer.exe>"適合您的伺服器的值,或使用service=<ftpsvc>代替它,而不是指向服務名稱。

netsh advfirewall firewall add rule name="FTP Inbound" dir=in action=allow program="%windir%\system32\svchost.exe" remoteip=any localip=any protocol=TCP localport=20,21,990,989 remoteport=20,21,990,989 profile=any

運行以下命令停用狀態 FTP 過濾,以便防火牆不會阻止任何 FTP 流量因此您無需打開整個被動連接埠範圍來允許該流量。

netsh advfirewall set global StatefulFTP disable

Windows 防火牆圖形使用者介面

確保您擁有範圍規則中定義所以區域網路IP位址範圍允許通過或允許任何IP位址通過。最後,您需要確保伺服器上的網路介面卡是在防火牆規則允許的設定檔中設定的。

港口

筆記: 新增被動連接埠範圍(如果適用)。

在此輸入影像描述

範圍

在此輸入影像描述

型材

在此輸入影像描述


更多資源

相關內容