Firewall

如何通過網際網路訪問我的 ftp 伺服器?

  • May 18, 2018

我在 Azure VM 上執行 Windows Server 2016,我正試圖在其上執行 ftp。已安裝 FTP 角色,在防火牆和 Azure 門戶中打開埠 21 和 20。由於埠掃描器超時,埠 20 似乎仍然沒有打開。我的防火牆日誌沒有顯示嘗試,sp 我猜它在某處的 AZure 中被阻止,但我的埠 20 肯定是打開的(入站。我必須做任何出站的事情嗎?)。我還在 Azure 中打開了 7000-7014 埠(Windows 防火牆有一個預定義的 FTS 被動數據規則 1024-65535,所以我沒有在這裡添加任何東西),並將它們放在 IIS 的“FTP 防火牆支持”項中並放入在我的虛擬機的外部 IP 中。

當從我的虛擬機中訪問<ftp://localhost>時,我使用我在 IIS 中授權的使用者登錄,它可以正常工作。通過網際網路通過 dns 名稱訪問它時,我嘗試使用我的憑據登錄,但我得到了超時。我嘗試了使用者名、\username、myPC\username、|username,它們都是一樣的。該連接通過 cli 使用 ftp myDNSname -> |username -> 密碼在 Internet 上工作。

編輯:我確實搜尋了網際網路,然後是 stackexchange,但沒有找到任何可以解釋這裡出了什麼問題的東西。所以我轉向你,希望你能幫助我。

編輯:圖片顯示目前狀態。

另一個編輯:來自 FileZilla 的日誌:PWD 257 “/” 是目前目錄。TYPE I 200 類型設置為 I。 PASV 227 進入被動模式 (13,95,157,108,225,30)。LIST 無法建立數據連接:ENETUNREACH - 網路不可達 // 它說網路不可達 150 正在打開 BINARY 模式數據連接。// 這之後是超時

Azure 入站規則

防火牆入站規則

FTP 站點綁定

儘管 windows 防火牆似乎允許所有需要的流量,但我們還需要在防火牆上啟用有狀態的 FTP 過濾:

netsh advfirewall set global StatefulFtp enable

然後重新啟動 FTP windows 服務,我們應該可以啟動並執行:

net stop ftpsvc
net start ftpsvc

在此處輸入圖像描述

您必須轉發路由器上的埠 20-21 以指向伺服器。然後,您將能夠通過 IP 或域名通過 Internet 訪問 FTP。

更新:似乎正在工作…… 測試

引用自:https://serverfault.com/questions/822715