Последнюю неделю разбираюсь с новыми вариантами блокировок зарубежных нод. Интересно понять, сталкивался ли кто-нибудь с похожим поведением и какие сейчас есть рабочие варианты обхода.
Инфраструктура — Remnawave + Xray. Сейчас Xray 26.7.28. Основной протокол долгое время был VLESS + reality + xtls-rprx-vision, обычный RAW/TCP. Параллельно начал разворачивать Hysteria2 + Gecko на UDP.
Ноды находятся у разных хостеров в разных странах: были случаи с Польшей, Эстонией и США, сейчас похожее начинается на свежей Финляндии. (Азия на удивление живёт как и раньше)
Типичный сценарий следующий.
Сервер после установки какое-то время работает нормально. Потом с некоторых российских подключений перестают нормально устанавливаться новые сессии. При этом сам сервер не мертвый: ping, ssh, SYN → SYN/ACK → ACK, порт снаружи доступен, панель видит ноду конечно же, часть клиентов продолжает работать, до переключения, ну тут в целом ясно почему.
В логах xray рисует:
REALITY: processed invalid connection from <CLIENT_IP>:<PORT>:
failed to read client hello
Самое интересное видно в tcpdump:
CLIENT → SERVER SYN
SERVER → CLIENT SYN/ACK
CLIENT → SERVER ACK
CLIENT → SERVER 1396 bytes
SERVER → CLIENT ACK 1397
После этого продолжения ClientHello на сервере уже нет. Клиент создаёт следующее соединение и повторяет то же самое. На сервере при этом Xray пишет failed to read client hello. И так в цикле и идёт. Просто обрезка после которой хэндшейк падает.
Если тестить просто на TCP порту без чего-либо через ncat, подключаешься, всё ок, пишет что Connected, на обоих сторонах всё ок. Но если внутри подключения попробовать отправить просто текст типа TCP_HELLO - ничего на ноде не появляется.
В общем проводил различные тесты, смотрел вайршарк, читал логи - пакеты просто режутся по пути, TCP или UDP, неважно.
Конечно же пробовал всё, фингерпринт, SNI, всякие добавки типо finalmask (во всех реализациях), sockopt и тп.
Более того, на проблемной ноде пробовал вообще VLESS RAW/TCP без REALITY/TLS (security:none). Симптом с TCP тоже сохранялся. Поэтому проблема явно не сводится исключительно к fingerprint reality ClientHello.
Далее пробовал hy2 + gecko / salamander. Свежая FIN-нода сначала работала нормально, но буквально на следующий день тоже начала работать нестабильно/через раз. То есть HY2 в моём случае пока не оказался универсальным решением проблемы.
В итоге на каждой ноде сейчас планирую держать одновременно:
TCP/443 → VLESS REALITY Vision
UDP/443 → Hysteria2 Gecko
Или вообще свой сайт-заглушку на ноду для vless + оба протокола. В общем вариантов уйма, а выхлопа - ноль.
Очевидно, если IP обнаружен как враг народа, делать особо нечего, кроме как крутить на новый, но нельзя же каждый день этим заниматься.
Есть ли смысл дальше пытаться маскировать прямой клиент → зарубежная нода, если уже обычный plaintext TCP_HELLO после успешно установленного TCP иногда не проходит.
Особенно интересен опыт с RU bridge. Теоретически тогда для провайдера пользователя соединение заканчивается на российском IP, а международный участок уже становится DC → DC. Помогает ли это сейчас на практике? И в чём опасность вообще аренды впс в рф для какого либо впна на нём.
Ну и если есть другой транспорт/архитектура, которая лучше переживает подобное поведение?
Буду благодарен за направление, особенно пальцем, куда копать, а то уже устал над хладными телами нод сидеть.![]()

