win10 hyper-v 保留端口占用問題


提示

​ Java后台用idea啟動項目時,會發現有部分端口有時候會被莫名其妙的占用,在cmd控制台查看端口情況又發現該端口並沒有被占用,不知道原因。

​ 但是,使用指令:netsh winsock reset 然后重啟電腦,端口又被釋放了,就很奇怪,老是重啟電腦就不是個事,治標不治本。

​ 后續通過搜索引擎,查閱解決了該問題,現分享出來,供大家參考。(關鍵就是電腦啟動了--》hyper-v,導致的問題)

一丶查看系統默認端口占用訪問

powershell / cmd
指令:netsh int ipv4 show dynamicport tcp 

# 協議 tcp 動態端口范圍
Protocol tcp Dynamic Port Range
---------------------------------
Start Port      : 1024
Number of Ports : 13977

二丶查看hyper-v啟動后的保留端口范圍

powershell / cmd
指令:netsh interface ipv4 show excludedportrange protocol=tcp

#協議 tcp 端口排除范圍

#開始端口    結束端口
Protocol tcp Port Exclusion Ranges

Start Port    End Port
----------    --------
  1026        1125
  1226        1325
  1326        1425
  1426        1525
  1526        1625
  2180        2279   *

* - Administered port exclusions.

通過這個可以查看被占用的項目端口是否在這個范圍內

三丶解決辦法

由於直接進行第二步配置,會遇到程序占用(hyper-v占用)

所以需要先關閉hyper-v

關閉方式一:可以win+s 快捷鍵搜索 “windows功能” ,關閉hyper-v。

關閉方式二:或者使用下列命令(dism.exe /Online /Disable-Feature:Microsoft-Hyper-V),然后重啟

1.配置ipv4動態端口 (1和2方法任取其一均可解決問題)

powershell / cmd 管理員權限
# start 起始端口  num 表示可用端口數 根據自己的需求來 默認是 1024 13977
指令:netsh int ipv4 set dynamicport tcp start=30000 num=16383

2.配置需要的端口不被占用(1和2方法任取其一均可解決問題)

powershell / cmd 管理員權限
# 排除ipv4動態端口占用 startport 起始端口 numberofports 端口數
指令:netsh int ipv4 add excludedportrange protocol=tcp startport=50051 numberofports=1
# 重啟hyper-v
指令:dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM