今天安裝docker,啟用hyper-v后,開始發現發現代理報錯,提示無法bind 1081端口
查詢解決方法一 管理員運行cmd
netsh winsock reset
無效
使用netstat -ano | findstr "1081"
也沒有任何輸出
方法二
改本地監聽端口為任一一個非保留端口,最好大一點,我改了23456,發現問題解決。下面命令這套可以發現確實端口被保留了。
簡單分析原因,具體可以點參考鏈接進行了解
netsh interface ipv4 show excludedportrange protocol=tcp
協議 tcp 端口排除范圍
開始端口 結束端口
1024 1123
1124 1223
1224 1323
1328 1427
1431 1530
1566 1665
2030 2129
2180 2279
2280 2379
2380 2479
2480 2579
2580 2679
2938 3037
3038 3137
23458 23458
50000 50059 *
-
- 管理的端口排除。
在一個ss項目的issue評論里翻到這個解釋和普適的解決
這種情況其實是因為win10保留動態端口的端口號范圍和你設定的端口出現了沖突(內核系統級沖突,普通工具是看不到的), 所以我們要修改動態端口的許可范圍, 上調到比如從30000這種不常用端口開始.
使用管理員權限cmd執行如下指令 然后必須重啟一次電腦即可 解決沖突問題
netsh int ipv4 set dynamicport tcp start=30000 num=20000
參考