XTLS / Xray-core

Xray, Penetrates Everything. Also the best v2ray-core, with XTLS support. Fully compatible configuration.
https://t.me/projectXray
Mozilla Public License 2.0
25.56k stars 3.95k forks source link

REALITY间歇性中断几分钟,可自行恢复 #2357

Closed C-Harlin closed 1 year ago

C-Harlin commented 1 year ago

AWS LightSail 日本机房,系统debian 10,内核4.19. VLESS-XTLS-uTLS-REALITY

现象:间歇性不可用,连接超时,日志如下。隔几分钟后可自行恢复 已参考: #2247 ,小白不能确定是否属于同类问题 已尝试更换IP、更换dest均不能解决 请问大佬该解决?如果能稍微讲解下原因万分感谢!

日志:

2023/07/21 23:22:36 [Info] [3938326016] proxy/vless/inbound: firstLen = 1136
2023/07/21 23:22:36 [Info] [3938326016] proxy/vless/inbound: received request for tcp:www.google.com:443
2023/07/21 23:22:36 [Info] [3938326016] proxy/vless/encoding: Xtls Unpadding new block0 16 content 517 padding 543 0
2023/07/21 23:22:36 [Info] [3938326016] proxy/vless/encoding: XtlsFilterTls found tls client hello! 517
2023/07/21 23:22:36 [Info] [3938326016] app/dispatcher: sniffed domain: www.google.com
2023/07/21 23:22:36 [Debug] app/dns: domain www.google.com will use DNS in order: [DOHL//1.1.1.1 localhost]
2023/07/21 23:22:36 [Debug] app/dns: DOHL//1.1.1.1 cache HIT www.google.com -> [142.250.199.100 2404:6800:4004:810::2004]
2023/07/21 23:22:36 [Info] [3938326016] app/dispatcher: default route for tcp:www.google.com:443
2023/07/21 23:22:36 [Info] [3938326016] proxy/freedom: opening connection to tcp:www.google.com:443
2023/07/21 23:22:36 [Info] [3938326016] transport/internet/tcp: dialing TCP to tcp:www.google.com:443
2023/07/21 23:22:36 [Debug] transport/internet: dialing to tcp:www.google.com:443
2023/07/21 23:22:37 [Info] [3938326016] proxy/vless/encoding: XtlsFilterTls found tls 1.3! 4450 TLS_AES_128_GCM_SHA256
2023/07/21 23:22:37 [Info] [3938326016] proxy/vless/encoding: XtlsPadding 4450 34 0
2023/07/21 23:22:37 [Info] [3938326016] proxy/vless/encoding: Xtls Unpadding new block0 0 content 74 padding 1259 0
2023/07/21 23:22:38 [Info] transport/internet/tcp: REALITY: processed invalid connection
2023/07/21 23:22:48 [Info] [3938326016] app/proxyman/inbound: connection ends > proxy/vless/inbound: connection ends > context canceled
2023/07/21 23:22:51 [Debug] app/dns: DOHL//1.1.1.1 cleanup play.google.com.
2023/07/21 23:22:51 [Debug] app/dns: DOHL//1.1.1.1 cleanup clients4.google.com.
2023/07/21 23:22:55 [Info] transport/internet/tcp: REALITY: processed invalid connection
2023/07/21 23:22:59 [Info] transport/internet/tcp: REALITY: processed invalid connection
2023/07/21 23:22:59 [Info] transport/internet/tcp: REALITY: processed invalid connection
2023/07/21 23:22:59 [Info] transport/internet/tcp: REALITY: processed invalid connection
2023/07/21 23:23:03 [Info] transport/internet/tcp: REALITY: processed invalid connection
2023/07/21 23:23:31 [Info] transport/internet/tcp: REALITY: processed invalid connection
2023/07/21 23:23:32 [Info] transport/internet/tcp: REALITY: processed invalid connection
2023/07/21 23:23:33 [Info] transport/internet/tcp: REALITY: processed invalid connection
2023/07/21 23:23:33 [Info] transport/internet/tcp: REALITY: processed invalid connection

服务端(Xray 1.8.0)配置(参考chika example):

{
    "log": {
     "loglevel": "debug",
     "access": "/home/admin/xray_log/access.log",
     "error": "/home/admin/xray_log/error.log"
  },
  // 2_DNS 设置
  "dns": {
    "servers": [
      "https+local://1.1.1.1/dns-query", // 首选 1.1.1.1 的 DoH 查询,牺牲速度但可防止 ISP 偷窥
      "localhost"
    ]
  },
  // 3*分流设置
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      // 3.1 防止服务器本地流转问题:如内网被攻击或滥用、错误的本地回环等
      {
        "type": "field",
        "ip": [
          "geoip:private" // 分流条件:geoip 文件内,名为"private"的规则(本地)
        ],
        "outboundTag": "block" // 分流策略:交给出站"block"处理(黑洞屏蔽)
      },
      {
        // 3.2 防止服务器直连国内
        "type": "field",
        "ip": ["geoip:cn"],
        "outboundTag": "block"
      },
      // 3.3 屏蔽广告
      {
        "type": "field",
        "domain": [
          "geosite:category-ads-all" // 分流条件:geosite 文件内,名为"category-ads-all"的规则(各种广告域名)
        ],
        "outboundTag": "block" // 分流策略:交给出站"block"处理(黑洞屏蔽)
      },
      {
         "type": "field",
         "outboundTag": "socks_out",
         "domain": ["geosite:netflix","domain:openai.com","domain:ai.com"]  // CF Warp
      }
    ]
  },
    "inbounds": [
        {
            "listen": "0.0.0.0",
        "port": 443,
            "protocol": "vless",
            "settings": {
                "clients": [
                    {
                        "id": "my id",
            "flow": "xtls-rprx-vision"
                    }
                ],
                "decryption": "none"
            },
            "streamSettings": {
                "network": "tcp",
                "security": "reality",
        "realitySettings": {
                    "show": true,
                    "dest": "www.lovelive-anime.jp:443",
                    "xver": 0,
                    "serverNames": [
                        "www.lovelive-anime.jp"
                    ],
                    "privateKey": "",
                    "shortIds": [
                        "79e30d42"
                    ]
                }
            },
        "sniffing": {
                "enabled": true,
                "destOverride": [
                    "http",
                    "tls",
                    "quic"
                ]
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom",
        "tag": "direct"
        },
        {
            "protocol": "blackhole",
            "tag": "block"
        },
    {
            "tag":"socks_out",
            "protocol": "socks",
            "settings": {
                "servers": [
                     {
                        "address": "127.0.0.1",
                        "port": 40000
                    }
                ]
            }
        }
    ],
    "policy": {
        "levels": {
            "0": {
                "handshake": 2,
                "connIdle": 120
            }
        }
    }

}

客户端(Xray 1.8.1)配置:

{
   "log": {
       "loglevel": "debug"
       // "access": "/home/xray_log/access.log",
       // "error": "/home/xray_log/error.log"
   },
 "routing": {
   "domainStrategy": "IPIfNonMatch",
   "rules": [
     // 3.1 广告域名屏蔽
     {
       "type": "field",
       "domain": ["geosite:category-ads-all"],
       "outboundTag": "block"
     },
     // 3.2 国内域名直连
     {
       "type": "field",
       "domain": ["geosite:cn"],
       "outboundTag": "direct"
     },
     // 3.3 国内IP直连
     {
       "type": "field",
       "ip": ["geoip:cn", "geoip:private"],
       "outboundTag": "direct"
     },
     // 3.4 国外域名代理
     {
       "type": "field",
       "domain": ["geosite:geolocation-!cn"],
       "outboundTag": "proxy"
     },
     // 3.5 走国内"223.5.5.5"的DNS查询流量分流走direct出站
     {
       "type": "field",
       "ip": ["223.5.5.5"],
       "outboundTag": "direct"
     }
   ]
 },
   "inbounds": [
       {
           "listen": "127.0.0.1",
           "port": 10808,
           "protocol": "socks",
           "settings": {
               "udp": true
           },
           "sniffing": {
               "enabled": true,
               "destOverride": [
                   "http",
                   "tls"
               ]
           }
       },
       {
           "listen": "127.0.0.1", // Fill in "0.0.0.0" to allow connections from LAN
           "port": 10809, // Local http listening port
           "protocol": "http",
           "sniffing": {
               "enabled": true,
               "destOverride": [
                   "http",
                   "tls"
               ]
           }
       }
   ],
   "outbounds": [
       {
           "protocol": "vless",
           "settings": {
               "vnext": [
                   {
                       "address": "my ip", // Address, domain name or IP of the server
                       "port": 443, // Port, consistent with the server
                       "users": [
                           {
                               "id": "my id", // User ID, consistent with the server
                               "encryption": "none",
                               "flow": "xtls-rprx-vision"
                           }
                       ]
                   }
               ]
           },
           "streamSettings": {
               "network": "tcp",
               "security": "reality",
               "realitySettings": {
                   "show": false,
                   "fingerprint": "chrome", // 使用 uTLS 库模拟客户端 TLS 指纹
                   "serverName": "[www.lovelive-anime.jp](http://www.lovelive-anime.jp/)", // 与服务端一致
                   "publicKey": "TvYkYkoaav0DwVRLdEKAf53Jd_6l3smgTD7U2Iw_gCQ", // 服务端执行 xray x25519 生成,私钥对应的公钥,填 "Public key" 的值
                   "shortId": "79e30d42", // 与服务端一致
                   "spiderX": "/" // 爬虫初始路径与参数,建议每个客户端不同
               }
           },
           "tag": "proxy"
       },
       {
           "protocol": "freedom",
           "tag": "direct"
       },
       {
           "protocol": "blackhole",
           "tag": "block"
       }
   ]
}

shadowrocket配置:参考chika

chika0801 commented 1 year ago

排查2个方向

1是dest域名方面,比例用偷自己形式,我看你配置是用的 www.lovelive-anime.jp 。如果用了偷自己形式,没出现时快时慢了,时通时不通了。如果用了后,现象还是有,再参考一下。(当然你也可以优先采用再找一个VPS,保持VPS配置文件不变,测试不同VPS时,现象是否复现

2是你 参考 https://github.com/XTLS/Xray-core/discussions/1772 ,排查这现象,按保持变量原则,假如你用1的方式测试了,现象还是有,要排查是不是2的情况。保持配置不变,其它商家VPS上如果没遇到,问题就是AWS机上。然后AWS机上你开非REALITY的其它协议组合,如也复现了,证明和用什么协议无关。

C-Harlin commented 1 year ago

排查2个方向

1是dest域名方面,比例用偷自己形式,我看你配置是用的 www.lovelive-anime.jp 。如果用了偷自己形式,没出现时快时慢了,时通时不通了。如果用了后,现象还是有,再参考一下。(当然你也可以优先采用再找一个VPS,保持VPS配置文件不变,测试不同VPS时,现象是否复现

2是你 参考 #1772 ,排查这现象,按保持变量原则,假如你用1的方式测试了,现象还是有,要排查是不是2的情况。保持配置不变,其它商家VPS上如果没遇到,问题就是AWS机上。然后AWS机上你开非REALITY的其它协议组合,如也复现了,证明和用什么协议无关。

感谢大佬回复!我去排查下

toyo2333 commented 1 year ago

,假如你用1的方式测试了,现象还是有,要排查是不是2的情况。保持配置不变,其它商家VPS上如果没遇到,问题就是AWS机上。然后AWS机上你开非REALIT

如果你用的是3.5刀的机器,那个是512内存的,我建议你把swap打开(默认是不开的),开个1G差不多了。否则你测一次速,大概可能内存就爆了。

我这aws上部署reality,很稳,没任何问题。所以不是运营商的问题。

C-Harlin commented 1 year ago

,假如你用1的方式测试了,现象还是有,要排查是不是2的情况。保持配置不变,其它商家VPS上如果没遇到,问题就是AWS机上。然后AWS机上你开非REALIT

如果你用的是3.5刀的机器,那个是512内存的,我建议你把swap打开(默认是不开的),开个1G差不多了。否则你测一次速,大概可能内存就爆了。

我这aws上部署reality,很稳,没任何问题。所以不是运营商的问题。

大佬你是日本的机房吗?你的dest是怎么配的,可以参考下吗?感谢

toyo2333 commented 1 year ago

大佬你是日本的机房吗?你的dest是怎么配的,可以参考下吗?感谢

考虑当地的网站即可。

C-Harlin commented 1 year ago

大佬你是日本的机房吗?你的dest是怎么配的,可以参考下吗?感谢

考虑当地的网站即可。

我确实配置了当地旅游局的网站也不行。而且远程登陆aws机器也是间歇性中断,我怀疑是ip的问题

chika0801 commented 1 year ago

大佬你是日本的机房吗?你的dest是怎么配的,可以参考下吗?感谢

考虑当地的网站即可。

我确实配置了当地旅游局的网站也不行。而且远程登陆aws机器也是间歇性中断,我怀疑是ip的问题

如果你的现象是随机中断约3分钟,换了dest网址也不行。建议你花钱买其它商家的VPS进行对比测试。不要纠结AWS的VPS了。因为AWS的IP在你的地区,就是有这现象,解释不了。

C-Harlin commented 1 year ago

大佬你是日本的机房吗?你的dest是怎么配的,可以参考下吗?感谢

考虑当地的网站即可。

我确实配置了当地旅游局的网站也不行。而且远程登陆aws机器也是间歇性中断,我怀疑是ip的问题

如果你的现象是随机中断约3分钟,换了dest网址也不行。建议你花钱买其它商家的VPS进行对比测试。不要纠结AWS的VPS了。因为AWS的IP在你的地区,就是有这现象,解释不了。

感谢解答!

MelodyUSA commented 1 year ago

我也遇到相同的現象,我用的是 AWS 的 lightsail,3.5刀/月的機器,新加坡區。 正常的情況下,ping 值是 70-80ms,間接性中斷的時候就開始丟包,ping 值來到 130+ms 用 htop 看内存占用,測速跑滿的時候,全機占用也才來到130+M,512M 内存根本沒跑滿,xray 占用 40~60+M,似乎沒有 @toyo2333 所說的内存爆的問題,開的 1GB swap 也完全沒用到。不知道到底什麽問題導致網絡時不時就丟包

toyo2333 commented 3 months ago

同样的现象,同样的问题。换了几个dest还是如此

断流时候看日志存在几条:processed invalid connection

过一会可自行恢复。