问题现象#
在 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 的网络栈冲突。
解决方式#
方案一#
该方案只是缓兵之计,过一段时间后可能会复现问题。
直接在「内核设置」->「端口设置」中将「混合端口」改为其他端口再点击确认即可。一个不行换另一个,总有端口可以使用。
方案二#
使用管理员身份启动 Windows 终端,或者 cmd;
临时关闭 Hyper-v,关闭后会提示是否重启计算机,先输入
N不要重启;dism.exe /Online /Disable-Feature:Microsoft-Hyper-V重新选择动态tcp、udp端口的范围,当然,这里起始端口和端口数可以自由选择,不包括你想要 mihomo 代理的端口并且
起始端口﹢端口数≤ 65535 即可;netsh int ipv4 set dynamicport tcp start=49152 num=16383 netsh int ipv4 set dynamicport udp start=49152 num=16383确认是否修改成功;
netsh int ipv4 show dynamicport tcp 协议 tcp 动态端口范围 --------------------------------- 启动端口 : 49152 端口数 : 16383重新打开 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 许可协议。




