作業系統:Win Server 2008 RC2 Windows 防火牆開啟(關閉時無效)
我突然被一個問題困擾,搜尋找不到任何類似的問題。
我正在運行大約 20 個遊戲伺服器,它們綁定到 UDP 端口,然後綁定到 UDP 端口上方的 TCP 端口 1。一天前,新的 TCP 綁定突然停止運作。
現在,我已經確認其他應用程式無法偵聽大多數連接埠。例如,我複製了一個java程序,並嘗試了以下連接埠:33001、23789、89...完全隨機的連接埠。
就已經具有 TCP 綁定的應用程式(例如 HTTP 和 MySQL)而言,我發現只有連接埠 8080 可以工作,並且僅適用於 Apache。如果應用程式離開預設端口,它們將無法綁定,但是當端口為預設時,它們會恢復正常。
我已經透過 netstat 和 curports 檢查了監聽應用程序,也檢查了這些連接埠上的任何連接,它們是完全免費的。
答案1
您的伺服器可能耗盡了臨時連接埠。
您可以在事件檢視器(運行 -> eventvwr.msc)。查找任何警告系統協議與編號:4227、4231從TCP/IP來源。如果您看到任何內容,則需要重新啟動伺服器並透過註冊表調整 TCP/IP 協定 -Windows Server 2012 R2 耗盡了臨時端口,但它不應該
答案2
也許您的程式已列在防火牆的例外清單中,但該清單已被刪除。
我也遇過這樣的情況二已安裝防火牆,並且您需要設定它們兩個都適當地。這導致一些頭髮被拉扯。
答案3
您是否嘗試啟動 Windows 防火牆服務,然後從 Windows 防火牆介面啟動/停止它?
點選開始,點選搜尋;搜尋“具有進階安全性的 Windows 防火牆”
Windows 7和2008R2有這樣的問題:無論您想對防火牆做什麼,都必須啟動後台服務。
答案4
如果您正在使用 Hyper-V 等服務,則可能是由「排除的連接埠範圍」。在這種情況下,一系列連接埠將不可用。
您可以透過以下方式驗證
PS ~> netsh interface ipv4 show excludedportrange protocol=tcp
Protocol tcp Port Exclusion Ranges
Start Port End Port
---------- --------
5357 5357
5985 5985
47001 47001
50000 50059 *
如果您的連接埠在上述範圍內,則任何綁定它們的方法都將失敗。根據超級用戶的回答,你可以嘗試透過以下方式釋放它
net stop winnat
要保留您自己的端口,您可以使用
netsh int ipv4 add excludedportrange protocol=tcp startport=50323 numberofports=1