如何找出某些連接埠被排除的原因並刪除排除?

如何找出某些連接埠被排除的原因並刪除排除?

最近的 Windows 更新後,我無法再偵聽連接埠 1433(我有遠端執行的 SQL Server 並透過隧道連接到它)。

經過多次谷歌搜索後,我發現原因是這些端口已被“排除”

PS C:\Windows\system32>  netsh int ipv4 show excludedportrange protocol=tcp

Protocol tcp Port Exclusion Ranges

Start Port    End Port
----------    --------
      1114        1213
      1214        1313
      1414        1513
      1514        1613
      1614        1713
      2000        2099
     25173       25272
     50000       50059     *

* - Administered port exclusions.

當我嘗試刪除排除時:

PS C:\Windows\system32> netsh int ipv4 delete excludedportrange protocol=tcp 1414 1000
Element not found.

如何找出這些連接埠被排除的原因並「取消排除」它們?

我有 Windows 10 家用版 2004。

答案1

這可能是由於 Windows 更新或啟用 Hyper-V(我認為這是我的原因)。

https://dandini.wordpress.com/2019/07/15/administered-port-exclusions-blocking-high-ports/

我將腳本保存為批次文件,運行它並解決了我的問題。

您似乎可以運行以下命令而不是整個腳本:

reg 新增 HKLM\SYSTEM\CurrentControlSet\Services\hns\State /v EnableExcludedPortRange /d 0 /f

https://superuser.com/questions/1579346/many-excludedportranges-how-to-delete-hyper-v-is-disabled

答案2

答案已發佈在相關問題中https://stackoverflow.com/questions/48478869/cannot-bind-to-some-ports-due-to-permission-denied/62359555#62359555 透過@onoma

基本上你只需要運行 netsh int ipv4 set dynamic tcp start=49152 num=16384並重新啟動

相關內容