记hyper-v导致的privoxy error(fatal error: can't bind to 127.0.0.1:1081(error number:0)),附解决方法

今天安装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

参考

  1. issue评论
  2. issue评论2
  3. 一篇分析和解决的知乎文章
日积月累,水滴石穿
原文地址:https://www.cnblogs.com/lonelyisland/p/14655139.html