跳过正文

修复 mihomo 核心端口 access permissions 问题

·463 字·1 分钟· loading · ·
褐瞳さん
作者
褐瞳さん
Everyone is mania in general
目录

问题现象
#

在 Windows 10 下使用 mihomo 时无法正常联网,查看日志出现类似于下面的报错:

Start Mixed(http+socks) server error: listen tcp :11451: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

问题分析
#

使用netstat -aon|findstr “11451”查看端口始终返回为空,故端口并没有真的被占用,可能由于者端口分配策略与 Hyper-V 的网络栈冲突。

解决方式
#

方案一
#

该方案只是缓兵之计,过一段时间后可能会复现问题。

直接在「内核设置」->「端口设置」中将「混合端口」改为其他端口再点击确认即可。一个不行换另一个,总有端口可以使用。

方案二
#

  1. 使用管理员身份启动 Windows 终端,或者 cmd;

  2. 临时关闭 Hyper-v,关闭后会提示是否重启计算机,先输入N不要重启;

    dism.exe /Online /Disable-Feature:Microsoft-Hyper-V​
  3. 重新选择动态tcp、udp端口的范围,当然,这里起始端口和端口数可以自由选择,不包括你想要 mihomo 代理的端口并且起始端口端口数 ≤ 65535 即可;

    netsh int ipv4 set dynamicport tcp start=49152 num=16383​
    
    ​netsh int ipv4 set dynamicport udp start=49152 num=16383
  4. 确认是否修改成功;

    netsh int ipv4 show dynamicport tcp
    
    协议 tcp 动态端口范围
    ---------------------------------
    启动端口        : 49152
    端口数          : 16383
  5. 重新打开 Hyper-v 并重启电脑。

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

本文作者: 褐瞳さん
本文链接: https://www.hetong-re4per.com/posts/fix-mihomo-core-port-is-used/
版权声明: 本文文字在未特别注明下默认使用 CC BY-NC-SA 4.0 许可协议。

相关文章