最近,一打开v2ray.exe
就闪退,日志文件里也没有记录到错误信息,试了好久都找不到具体原因。后面尝试在控制台打开v2ray.exe
,才发现具体的错误信息,然后问题也顺利解决了。
打开CMD控制台,转到v2ray所在目录,然后执行下面的命令
代码语言:javascript复制# .v2ray.exe
命令执行后,提示以下错误信息
代码语言:javascript复制V2Ray 4.21.3 (V2Fly, a community-driven edition of V2Ray.) Custom
A unified platform for anti-censorship.
Failed to start v2ray.com/core/app/proxyman/inbound: failed to listen TCP on 1080 > v2ray.com/core/transport/internet: failed to listen on address: 0.0.0.0:1080 > listen tcp 0.0.0.0:1080: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
大概意思是
代码语言:javascript复制启动失败:无法监听TCP 1080端口,无法监听0.0.0.0:1080地址,无权访问socket
找了下资料,得到的信息很少,尝试把0.0.0.0
换成127.0.0.1
也不行。然后想,是不是端口被占用了,执行netstat -ano|findstr ":1080"
,也没有找到被谁占用,但还是尝试换了个端口,竟然没有问题了。
虽然问题解决了,但原因没找到,这就很纳闷了。一直到家里的电脑突然也出现了同样的问题以后,仔细想想,才知道是什么导致了的。
原来是我装了Hyper-V
,导致1080端口被系统保留了,真是操蛋了~
用下面这命令在控制台执行,可以查看系统保留的tcp
端口
netsh interface ipv4 show excludedportrange protocol=tcp
用下面这命令在控制台执行,可以查看系统保留的udp
端口
netsh interface ipv4 show excludedportrange protocol=udp
如果确实解决不了系统保留的问题,我们就只能改端口了,改成系统保留范围外的端口。