-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.8.6更新后wireguard出站异常,回滚到1.8.4正常 #2736
Comments
大概率是这个commit: 0ac7da2 ,请问有错误日志吗? |
听说xray core的wireguard 出站很吃内存, 我都是用wireguard-tools建立一个warp连接, 然后通过xray把需要走warp的流量打标, 转发到wg建立的连接 |
没有 不会弄。这个很好复现。你配一个就能看到错误了 |
日志来了
|
这个是主要问题,你当前的user没有足够的权限去创建tun虚拟网卡,你这个是在虚拟容器里面跑的吗? |
嗯,我一直是使用docker运行xray的。使用的是https://hub.docker.com/r/teddysun/xray 1.8.4以及之前的版本都用的是这个都是正常的。 |
|
这就跟代码没关系了,这是docker权限的问题 |
不过我看这个commit里面tun设备的构建方式变了,可能原来不用的权限现在又需要了,导致你这个image 1.8.6的版本用不了 |
所以,是你这边修改?还是teddysun那边修改?还是我修改配置文件? |
@toyo2333 昨天有人反馈过了 要root运行 可能确实得改 |
所以,是xray这边修改?还是teddysun的docker那边修改?还是我修改自己的配置文件? |
你的配置文件没问题,最简单粗暴的解决方式是用docker的privilege 模式 |
@toyo2333 xray得改() |
好的,感谢开发者! |
@cty123 在这里, Xray-core/proxy/wireguard/tun_linux.go Line 91 in 2570855
writeSysctlZero := func(path string) error { 这个匿名函数,在容器里使用有弊端,本来这个核心配置项可以通过docker运行变量修改,但是这个函数没办法正确判断配置项,而最终用需要特权的方式去写这个配置项,导致1.8.5以上版本在容器中无法正常使用wireguard协议。 |
Hi All |
|
@toyo2333 |
--cap-add --cap-drop 给对应权限就可以了 |
--这个问题,作者是否可以一并看看呢? |
teddysun/xray这个自从1.8.6貌似就不正常,我遇到的是回落工作不正常,也没有日志,换本项目里的docker就好了 |
没什么问题。 |
我一直用teddysun的,而且这次也不是docker打包的问题。上面都说是xray自己修改了部分代码触发了容器权限问题 |
这个应该是跟之前修改 WireGuard tun 设备转发路由数据有关系. 所以要求 root 权限, 使用 gVisor 模拟网络栈性能会比较低. |
奇怪,今天在看v6出站又正常了。上述2个测试url都显示走了warp的v6ip出站 |
请问这个问题有修复计划么? 不然我一直无法更新新版本docker |
@toyo2333 开摆() |
啊? |
我看到1.8.7发布了,请问下这个问题修复了没有?我还是1.8.4没法升级。 |
这个问题你需要赋予root权限 或者使用 "kernelMode" = false |
1、我的vps就是默认使用root登录和执行各种命令的。 |
Docker 的话需要privileged。。要不你还是试下 "kernelMode" = false |
试了,可以了。目前暂时没有发现新的问题,继续观察。 |
Ok |
服务的xray配置了openai相关的域名分流到xray的wireguard出站。
路由规则如下:
出站配置如下:
1.8.4及之前的版本使用一直正常,早说更新了1.8.6之后,发现chatgpt打不开了各种报错。(其他走代理的网站正常),找了半天没找到原因,回滚回1.8.4就正常。 配置文件没改过。
可以确定是xray更新导致的问题。
另外,一个问题就是我的机器是ipv4的,配置wireguard是由双栈ip的(使用通过wireguard出站到https://test-ipv6.com/ 可以确认2个ip都是CF的),但上述配置中 "domainStrategy": "UseIPv6" 似乎不起作用。最终还是以cf的ipv4访问了目标网站,chatgpt我用这个地址也确认了是ipv4(https://chat.openai.com/cdn-cgi/trace) 本来以为1.8.6改好了。结果还没机会验证。wireguard出站都出bug了只好回滚。
烦请确认和修复。
另外。1.8.6更新完成还是出现过好一次短时间断流恢复的情况,之前更新版本都没有这个情况。
The text was updated successfully, but these errors were encountered: