如何在啟用 ICS 的 Windows 7(64 位元)上對連接埠轉送進行故障排除?

如何在啟用 ICS 的 Windows 7(64 位元)上對連接埠轉送進行故障排除?

我想在我的 Internet 閘道電腦上轉送一些連接埠(perforce 為 1666,Hudson 為 8081)。該電腦運行 Windows 7(64 位元、合法、使用者帳戶)並透過電纜數據機(不是路由器)連接到 Internet。 Windows 電腦透過 ICS 共用其 Internet 連接,並且在所有連接的電腦上運作良好。

如果服務在網關電腦本身上運行,我可以透過給定連接埠上的網關公用 IP (95.xxx) 存取服務。我已在 Internet 網路介面卡的「進階設定」對話方塊(「共用」標籤)中新增了連接埠和目標 IP 位址 (192.168.0.18)。在同一個對話方塊中,您可以看到預先配置服務的列表,例如 HTTP、FTP 和其他傳入服務。當我這樣做時,我無法再連接到服務。由於某種原因,連接埠轉送不起作用。

我已經卸載了 Bitdefender,因為我想檢查防火牆是否幹擾。我還禁用了 Windows 防火牆和 Defender,但無濟於事。我嘗試了一個免費軟體工具來幫助設定連接埠轉發,但也不起作用。

目標電腦是防火牆已停用的 Mac OS X 電腦。 IP 是靜態的。我可以使用本機 IP 位址 (192.168.0.18) 從兩台不同的電腦(包括網關電腦)成功連線到服務。因此,在我看來,從內部和外部來看,連接埠是開放的並且沒有被阻止,問題在於連接埠轉送本身。

據我了解,在「進階設定」對話方塊中新增一個條目應該足以在沒有防火牆幹擾時啟用連接埠轉送。如何解決連接埠轉送對我不起作用的原因?我應該採取哪些步驟來緩解這個問題?

PS:我很樂意接受命令列解決方案。

我嘗試過的其他事情:

  • 為 1666、8081 連接埠新增入站規則到 Windows 防火牆
  • 嘗試啟用和停用 Windows 防火牆
  • 停用/啟用網路介面卡
  • 仔細檢查 IP 位址是否正確
  • 將不同的傳入端口映射到服務的實際端口
  • 遵循或檢查本文中的雜項提示

我還不敢嘗試的事(讓我知道是否值得一試):

  • 禁用/啟用 ICS
  • 刪除所有網路介面卡(透過控制台),然後重新安裝並重新配置它們

答案1

解決了。

將 Windows 防火牆重設為預設設定並停用 ICS 並重新啟用後,我能夠使連接埠轉送正常運作,但必須使用護照工具它將連接埠轉送安裝為 Windows 服務(您必須使用管理員權限來執行它)。

Passport 的好處是您也可以轉送 DNS 位址,而不僅僅是 IP 位址。因此,透過 Passport 的介面可以實現類似的操作:

myserver.no-ip.org:8081 --> 192.168.0.18:8081

答案2

在 Windows 7 中,您可以從命令列手動設定連接埠轉發,如下所示:

netsh interface portproxy add v4tov4 listenport=1666 listenaddress=95.x.x.x connectport=1666 connectaddress=192.168.0.18 protocol=tcp
  • 即使您只使用 IPv4,您也必須確保安裝了 IPv6 才能正常運作。
  • 如果你還需要轉發UDP,那麼我會使用這個偉大的小型開源實用程序,因為netsh int portproxy僅適用於 TCP

答案3

Windows 7 中的連接埠轉送在連接共用標籤上非常簡單,畢竟複選框中有一個按鈕[設定] 點擊該按鈕,然後已經列出了服務,您可以編輯這些服務,也可以在其中新增的服務,您可以鍵入服務名稱例如。 http

託管服務的電腦位址/名稱,例如192.168.1.100,然後是連接埠 80 和協定 [tcp/udp]

就像這樣,您可以添加任意數量的服務並轉發任意數量的端口,這非常容易,不要使用 netsh 或其他站點上提供的某些端口轉發程序

相關內容