WARP прерывает соединение (Vless Reality + WARP)

Настроил на vps в Румынии, Vless Reality и SS на всякий случай. Дополнительно сделал роутинг на WARP для доменов из ру региона. Работал по всем известной статье на хабре. Проблема в том, что почему-то, именно WARP отрубается в рандомные моменты. А если эндпоинт не отрезолвить, то вообще, даже не заводится. Как только отрубается, спасает смена эндпоинта на какой-нибудь другой в той же сети. Опять таки, проблема именно с заворачиванием в него ру сегмента. Если я просто прокидываю его на Vless, все чудесно, но это уже какой-то моветон.

Может кто-то подсказать, что служит причиной и возможные пути решения? Я не сетевик, но базовое представление имею. Ну и скорость оставляет желать лучшего, но это дело десятое…

Выглядит оно примерно так (опять таки серверный конфиг), собственно, все достаточно дефолтно.

"outbounds": [
    {
      "protocol": "freedom",
      "tag": "direct"
    },
    {
      "protocol": "blackhole",
      "tag": "block"
    },
    {
      "protocol": "wireguard",
      "tag": "warp",
      "settings": {
        "secretKey": "Секретик",
         "address": [
            "172.16.0.2/32",
            "2606:4700:110:8c26:da1f:130b:28d6:e68e/128"
          ],
          "peers": [
            {
              "endpoint": "162.159.192.1:2408",
              "publicKey": "bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo="
            }
          ],
        "workers": 2,
        "mtu": 1280,
        "reserved": "",
        "domainStrategy": "ForceIP"
        }
    }
  ],

Роутинг

"routing": {
    "rules": [
        {
                "type": "field",
                "domain": ["geosite:openai", "geosite:category-gov-ru", "domain:ru"],
                "outboundTag": "warp"
        },
        {
                "type": "field",
                "ip": ["geoip:ru"],
                "outboundTag": "warp"

        }
     ],
        "domainStrategy": "IPIfNonMatch"
  }

WARP блокируют в РФ, на ТСПУ отдельное обновляемое правило для него. Это не считая блокировки WARP как WireGuard, но с этим может повезти. Удивительно, что вообще стартует. Можете, конечно, заняться сизифовым трудом по поиску рабочего эндоинта и докручивания конфига. Но вообще, какая цель использования WARP для российских ресурсов? Скорости не добавляет, и сдаст вас по первому требованию. Это серверный конфиг, коммент ошибочен

CF это зло, и добрых решений у них нет.

Если есть какие-либо альтернативы для таких махинаций не от CF, было бы чудесно… Формально, я просто маскирую IP.
И да, все это на сервере :slight_smile:
Вообще, взял идею как раз из статьи, цитирую:

Считается, что если у вас есть прокси за границей, то лучше не ходить на него на сайты расположенные в РФ или имеющие отношение к ее компаниям. Логика простая: если цензоры могут анализировать ваш трафик, плюс трафик подконтрольных им ресурсов, то сопоставив факт «подключение от вас на иностранный IP‑адрес, и подключение с этого IP‑адреса на сайт внутри страны, ровно в один момент и с одинаковыми объемами принятых‑переданных данных во времени» почти однозначно скажет, что на этом IP‑адресе есть прокси.

Зато мы можем сделать следущее. Есть Cloudflare Warp — бесплатный VPN‑сервис для всех желающих от известной телеком‑компании. Он основан на Wireguard, Wireguard блокируется в россии, но в иностранной юрисдикции, где у вас стоит сервер, проблем быть не должно. XRay может работать как wireguard‑клиент, и может переадресовывать на другие сервера запросы, попадающие под определенные критерии, следовательно, если мы сложим этот паззл, то мы сможем выпускать определенные запросы в Интернет с другого IP‑адреса, принадлежащего Cloudflare. Заодно мы можем заворачивать на WARP запросы к сервисам, которые не пускают к себе пользователей с адресов хостеров, например, ChatGPT.

Все, на что у меня хватает фантазии – это аренда второго vps и роутинг через него, но это сильно повышает финансовые затраты, да и как будто бы перебор. Готовое решение в виде WARP отлично вписывалось… Еще бы блин работало.
P.S: (Напрямую ходить в ру сегмент, совсем не хочется)

Писали, что WARP иногда глючит, если использовать его в оригинальном WG виде. Даже когда он был похож на WG, он не был WG, часть байт из заголовка CF использовал для своей внутренней маршрутизации. Без эти байт работоспособность дело случая. Возможна даже намеренная блокировка на эндпоинтах. Заполните содержимое "reserved" полученное при регистрации.

Про WG вид не знал, но по поводу “reserved” тоже подумал и поискал в доках и примерах.
При регистрации не через скрипт, “reserved” соответственно не выдается, видимо придется лезть в исходники и смотреть алгоритм генерации…

Да и нужен он раньше был только для обхода DPI. Но похоже, с тех времен CF что-то точно намутили… Вроде на их гитхабе дальше кто-то жаловалася на похожие траблы.

В оффициальном конфиге Xproject он вообще не используется под WARP, если копать еще глубже, в описании настройки WG

Wireguard Reserved Bytes.
Xray-core v1.8.0 New parameter.
When connecting to warp via wireguard, due to cloudflare limitations, some IPs in Hong Kong and Los Angeles need to have a reserved value in order to connect successfully.

GitHub Issue

They are only used on vps with Hong Kong, some LA ip’s as I said above.

Если регистрировать чисто через готовые китайские тулзы – живет ровно день :slight_smile:

Nekobox отдает эти байты

warp wireguard отлично работает, только заводится “с пинка”. geo блок не обходит, т.е. ip российский.

добавьте

"keepAlive": 14

после endpoint.
у меня варп с keepalive живет месяцами, но поднимаю через wg-quick, и вы тоже можете свой конфиг переделать на outbound с interface: wg0

О, спасибо огромное! Добавил.
Посмотрим, как проживет. А есть теория почему вырубается?
По поводу wg-quick, идею понял, но разве есть различия со встроенной в XRay реализацией WG?
Хотя думаю, если с “keepAlive”, сейчас не заживет, точно переделаю на роутинг через интерфейс.

del

У меня тоже была проблема, что WARP нестабильно работает. Нашёл причину в логах.

Оказывается, почему-то не получается подключиться по IPv6-адресу. Просто убрал его из конфига, и всё заработало. Сколько Xray не перезагружаю, теперь WARP запускается всегда. Посмотрим, как дальше будет.

Вот что в логах было:

Теперь конфиг такой, без IPv6-адреса: