
从日志信息来看,TUN模式启动失败是由于端口冲突导致的。
具体来说,Xray在尝试监听10808端口时失败了,因为该端口已经被其他进程占用。
错误信息分析
plaintext
Failed to start: app/proxyman/inbound: failed to listen TCP on 10808 > transport/internet: failed to listen on address: 127.0.0.1:10808 > transport/internet/tcp: failed to listen TCP on 127.0.0.1:10808: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
这段日志明确指出,Xray无法绑定到127.0.0.1:10808
这个地址和端口,原因是"每个套接字地址(协议/网络地址/端口)通常只允许一次使用"。这意味着已经有另一个程序正在使用10808端口。
解决方案
1. 查找并关闭占用端口的进程
可以通过以下步骤来查找并关闭占用10808端口的进程:
- Windows系统 :
-
打开命令提示符(CMD),输入以下命令来查找占用端口的进程ID(PID):
cmdnetstat -ano | findstr :10808
-

-
记下返回结果中的PID,然后使用以下命令查看该PID对应的进程名称:
cmdtasklist | findstr <PID>

1.查找PID对应的程序名称
在PowerShell中,可以使用Get-Process
命令来查找PID对应的程序名称,而不是直接使用tasklist
命令。
powershell
Get-Process -Id 3212

显示PID为3212的进程的详细信息,包括进程名称、描述等。
- 关闭占用端口的进程
如果确定可以安全地关闭该进程,可以使用以下命令来终止它:
powershell
Stop-Process -Id 3212 -Force
请注意,强制终止进程可能会导致数据丢失或应用程序不稳定,请确保知道自己在做什么。
- 验证端口是否已释放
再次运行netstat
命令检查端口10808是否已被释放:
powershell
netstat -ano | findstr :10808
如果端口已经被释放,应该不会再看到任何与10808相关的监听项。

- 重新启动Xray服务
现在可以尝试重新启动Xray服务,看看问题是否已经解决。

解决啦~
more:如果无法关闭进程
如果由于某种原因不能关闭占用端口的进程(例如它是系统关键进程),可以考虑修改Xray的配置文件,将使用的端口号更改为一个未被占用的端口。例如,可以将10808改为10809或其他可用端口。
编辑config.json
文件,找到相关端口配置项,将其修改为新的端口号,例如:
json
{
"inbounds": [
{
"port": 10809, // 修改为新的端口号
...
}
]
}
然后重启Xray服务。
注意事项
- 在进行上述操作之前,请确保了解每个步骤的潜在影响。
- 如果不确定某个进程的作用,可以在网上搜索其名称,或者联系系统管理员寻求帮助。
- 在生产环境中进行此类操作时要格外小心,以免对系统造成不必要的影响。