Windows 开启Hyper-v时未绑定端口绑定失败问题

第二篇相同问题的文章..

第一篇在这里

Hyper-V 保留特定范围端口的使用权,导致应用程序绑定端口失败


问题背景

今天启动电脑时,代理报了这个错误

管理员执行指令netstat -ano | findstr "1080"试图寻找占用软件时,未发现端口占用

故而使用STFW技能,搜索到了一篇文章,链接如上

定位问题

使用如下命令确定端口是否被Hyper-v保留

1
netsh interface ipv4 show excludedportrange protocol=tcp

输出如下内容,确定端口被hyper-v保留

解决问题

首先禁用Hyper-V,并重启电脑

1
dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

重启后,保留需要使用的端口。命令中各参数含义如其英文名所示

1
netsh int ipv4 add excludedportrange protocol=tcp startport=1080 numberofports=1

重新更改动态端口区间为49999+

1
netsh int ipv4 set dynamicport tcp start=49999 num=15537

重置网络,暂时不重启

1
netsh winsock reset

然后开启Hyper-V,重启电脑

1
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

再次查询保留端口,输出如下:

1
netsh int ipv4 show excludedportrange protocol=tcp

问题解决。

参考