wyx2685 / XrayR

A Xray backend framework that can easily support many panels. 一个基于Xray的后端框架,支持V2ay,Trojan,Shadowsocks协议,极易扩展,支持多面板对接
https://xrayr-project.github.io/XrayR-doc/
Mozilla Public License 2.0
316 stars 124 forks source link

redis上报IP问题 #48

Closed lufeiit closed 3 weeks ago

lufeiit commented 3 weeks ago

故障描述:在 v2board 设备数限制为1的情况下,设备链接无法使用

故障排查:

1、在xrayr配置文件中开启了

DeviceLimit: 0
EnableProxyProtocol: true
GlobalDeviceLimitConfig:
        Enable: true # 启用用户的全局设备限制
        RedisNetwork: tcp # Redis protocol, tcp or unix
        RedisAddr: XXXX:XXX # Redis server address, or unix socket path
        RedisUsername: # Redis username
        RedisPassword: XXXXX # Redis password
        RedisDB: XX # Redis DB
        Timeout: 5 # Timeout for redis request
        Expiry: 60 # Expiry time (second)

2、在 v2boared 面板设置设备数限制为 1

3、使用隧道中转链接,开启 ProxyProtocol ,版本协议为V2

3、在确认只有一个 IP 链接节点后,在redis中观察日志,发现上报了2个IP,分别是真实IP及隧道中转IP

     1| uuid @v2board.user| userid
      {
        "1.X.X.X": userid, #真实IP
        "2.X.X.X": userid  #隧道中转IP
      }

4、xrayr日志报错

[Warning] [3914293334] pp/mydispatcher: Devices reach the limit: Shadowsocks_0.0.0.0_XX| UUID @v2board.user| userid

也测了其他后端,同节点不同后端,如 soga 最新版本 2.10.4,支持下发 DeviceLimit,观察redis日志只会报上一个真实 IP,但不支持上报 IP 到 v2board 面板

wyx2685 commented 3 weeks ago

用法错误

wyx2685 commented 3 weeks ago

shadowsocks的udp是不走ProxyProtocol的,v2board下发了设备数限制之后,不要再开redis全局设备限制

lufeiit commented 3 weeks ago

好的,感谢,我测试下