Все системы работают Амстердам · Париж · Рейкьявик +5 Оплата через Криптовалюта
Сети и self-hostingСредний уровень20 мин чтенияОбновлено 2026-08-31

Проведите VPN мимо глубокой инспекции пакетов

Цензор блокирует не «VPN». Он блокирует протокол, который способен опознать, — а WireGuard узнаваем уже по самому первому пакету. Вот на что на самом деле реагирует глубокая инспекция пакетов, какие обфусцированные протоколы её переживают и как развернуть один из них самостоятельно.

Проведите VPN мимо глубокой инспекции пакетов
На этой странице
  1. На что на самом деле реагирует глубокая инспекция пакетов
  2. Почему перенос WireGuard на порт 443 не работает
  3. Семейства протоколов, которые проходят, и во что каждое из них обходится
  4. Что нужно, прежде чем начать
  5. Пошаговая инструкция
  6. Активное зондирование и серверы, которые умеют молчать
  7. Адрес — дефицитный ресурс
  8. Чего обфускация не делает
  9. Юрисдикция, оплата и почему аккаунт имеет значение
  10. Часто задаваемые вопросы

В то утро, когда туннель перестаёт подключаться, первый порыв — обвинить сервер. Это почти никогда не сервер. Дело в том, что нечто между вами и сервером начало присматриваться к форме ваших пакетов, а не только к их адресу назначения, решило, что эта форма — VPN, и сбросило соединение. Переход на порт 443 не поможет — вас выдавал не порт.

Поэтому это руководство начинается с того, что обычно пропускают учебники: на что на самом деле реагирует глубокая инспекция пакетов, почему WireGuard — самый простой в мире туннель для снятия отпечатка, и во что обходится каждое семейство обфускации в обмен на то, чтобы пройти, — рандомизированный трафик, заимствованный TLS и QUIC, выдающий себя за HTTP/3. Дальше — сама работа: один бинарник, три рабочих серверных конфига и способ протестировать результат так, как это сделал бы цензор, а не так, как это делает обнадёженный пользователь. Машина под всем этим способна находиться в юрисдикции, недоступной для фильтра, — арендованная без ID и оплаченная в Monero, что значит больше, чем кажется на первый взгляд; почему — объясняет последний раздел.

На что на самом деле реагирует глубокая инспекция пакетов

«DPI» звучит как задача для спецслужб. В большинстве случаев это просто сопоставление строки. Фильтр, сидящий на национальном канале, не может позволить себе тщательно думать над каждым потоком, поэтому опирается на самые дешёвые сигналы, которые работают, примерно в таком порядке:

  • Отпечаток протокола на фиксированном смещении. Первый пакет сессии WireGuard — это инициация рукопожатия: ровно 148 байт, первый байт 0x01, следующие три байта нулевые. OpenVPN выдаёт себя опкодом в первом байте и идентификатором сессии, чья позиция никогда не меняется. Сопоставление любого из них — это пара инструкций на пакет без необходимости хранить состояние, поэтому это всегда разворачивают в первую очередь.
  • Энтропия, когда отпечатка найти не удаётся. Если первые байты потока равномерно случайны — ни печатаемого ASCII, ни узнаваемого заголовка, — это само по себе сигнал, потому что почти ничто легитимное не выглядит так с нулевого байта. Фильтры блокировали целые категории «полностью зашифрованного» трафика исключительно на этом основании — именно в эту ловушку и попадают рандомизирующие протоколы.
  • Активное зондирование. Фильтр отмечает адрес вашего сервера, затем сам подключается к нему, с другого узла, и смотрит, как он отвечает. Прокси, который отвечает, характерным образом выдаёт ошибку или просто держит соединение открытым, подтверждает подозрение. Именно так адрес переходит из категории «возможно» в чёрный список.
  • Поведение во времени. Один долгоживущий поток к одному зарубежному адресу, несущий несколько сотен мегабайт с похожей на жилую кривой день/ночь, — это само по себе особая примета. Никакая обфускация полезной нагрузки её не меняет.
  • Сам адрес. Известные диапазоны VPS, адреса, замеченные в публичных списках подписок, всё, что рекламирует коммерческий провайдер. Это ничего не стоит цензору и является причиной, по которой общий адрес прокси умирает быстрее, чем протокол.

Полезный вывод в том, что с первыми тремя пунктами можно что-то сделать, и именно им посвящено это руководство. Последние два — причина, по которой раздел о защите адреса появился здесь не для галочки.

Почему перенос WireGuard на порт 443 не работает

Это самый повторяемый совет на эту тему, и от него почти никакого толку — по причине, которую стоит сформулировать прямо: сигнатура находится в полезной нагрузке, а не в номере порта. Фильтр, который ищет 0x01 на нулевом смещении в UDP-дейтаграмме размером 148 байт, найдёт его на порте 443 точно так же легко, как и на 51820.

Хуже того, этот перенос может выделить вас ещё сильнее. Порт 443 несёт HTTPS, который работает по TCP, и QUIC с HTTP/3, которые работают по UDP, но начинаются с узнаваемого длинного заголовка QUIC, а внутри — с TLS ClientHello. Поток UDP на 443, который не является ни тем, ни другим, — небольшая аномалия на канале, где всё остальное на этом порту относится к одной из этих двух категорий.

То же самое касается остального фольклора. Изменение MTU меняет фрагментацию, а не байты рукопожатия. Добавление pre-shared key в WireGuard усиливает криптографию, но не трогает формат на проводе. Перенос туннеля на нестандартный высокий порт не даёт ничего против сопоставления по полезной нагрузке, хотя и снижает фоновый шум от оппортунистических сканеров.

Ответ меняет только одно — изменение того, что находится на проводе: либо сделать байты похожими вообще ни на что узнаваемое, либо сделать так, чтобы они выглядели как то, что цензор решил не блокировать. Всё, что ниже, — один из этих двух приёмов.

Семейства протоколов, которые проходят, и во что каждое из них обходится

Есть четыре практических подхода. Они не ранжированы просто по силе, потому что правильный выбор зависит от того, что происходит с вашим трафиком.

  • Рандомизированный трафик без заголовков — Shadowsocks-2022. Шифры AEAD образца 2022 года (2022-blake3-aes-128-gcm и им подобные) вообще не кладут на провод открытый заголовок: с первого байта сессия неотличима от случайных данных, а неверный ключ не даёт никакого ответа на зондирование. Дёшево, быстро, десять минут на развёртывание, отлично работает почти везде. Единственная слабость — упомянутый выше сигнал энтропии: против фильтра, который принципиально блокирует неклассифицируемые случайные потоки, выглядеть как ничто — не то же самое, что выглядеть невинно.
  • Заимствованный TLS — VLESS с Reality. Самый сильный вариант из тех, что широко используются сегодня. Ваш сервер выполняет настоящее рукопожатие TLS 1.3, а любой клиент, который не проходит аутентификацию, прозрачно передаётся настоящему стороннему сайту, от которого честно получает его настоящий сертификат. Зондирующий видит обычного посетителя, подключающегося к обычному сайту, — потому что именно это и произошло. Вам не нужен ни домен, ни сертификат, ни след в логах certificate transparency — нигде не зарегистрировано ничего, что указывало бы на вас.
  • TLS, которым владеете вы, — Trojan или VLESS поверх WebSocket за веб-сервером. Туннель прячется внутри вашего собственного сайта на HTTPS, на вашем собственном домене и сертификате. Концептуально проще, и уживается с настоящим сайтом на том же адресе. Цена в том, что домен теперь — идентификатор, который можно сжечь, сертификат — публичная запись в логах CT, а заблокировать одно имя хоста для цензора — дешёвый ход.
  • По форме похожие на QUIC — Hysteria2 и TUIC. Они выдают себя за HTTP/3 и способны отдавать настоящий сайт всему, что не проходит аутентификацию. Причина выбрать их обычно вовсе не цензура, а потери пакетов: на канале, который теряет пять-десять процентов пакетов, они удерживают пропускную способность там, где всё, построенное на TCP, проседает. Компромиссы реальны — некоторые сети душат или вовсе отбрасывают UDP целиком, а агрессивный контроль перегрузки Hysteria — неприятный сосед по каналу, если вы указали цифры пропускной способности нечестно.

Если нужен вариант по умолчанию: разверните Reality как основной, держите Shadowsocks-2022 на втором порту как запасной вариант, и добавляйте Hysteria2, только если ваша проблема — потери на канале, а не фильтрация. Все три работают из одного демона, а шаги ниже настраивают каждый по очереди.

Что нужно, прежде чем начать

Меньше, чем вы могли бы подумать. Это лёгкая нагрузка; ограничение — пропускная способность и задержка, а не сервер.

  • Небольшой тариф. Шифрование и терминация TLS дёшевы на любом современном vCPU с AES-NI. Pup (1 vCPU / 1 GB / 25 GB NVMe, $3.50/mo) спокойно тянет личный туннель; Cub (1 vCPU / 2 GB / 40 GB, $5.00/mo) — разумный размер, если его делят несколько человек; Scout (2 vCPU / 4 GB / 70 GB, $9.00/mo) — если это домохозяйство или небольшая команда и вам нужен запас. Трафик не ограничен на скорости 1 Gbps на любом тарифе, а это и есть та характеристика, которая реально важна для туннеля.
  • Правильная локация, выбранная под маршрут. Именно здесь люди чаще всего ошибаются. Выбирайте ближайшую юрисдикцию, маршрут до которой от вас не фильтруется, а не самую экзотичную: для большинства читателей это Amsterdam, Paris, Bucharest или Sofia, а для тех, кто в Азии, — Kuala Lumpur. Reykjavik и Zurich покупают юридическую дистанцию, а не скорость — это полезно для того, что вы хостите, и менее полезно для того, что вы туннелируете.
  • Debian 13 или Ubuntu LTS из библиотеки шаблонов. Полноценная виртуализация KVM означает настоящее ядро и собственный сетевой стек, а это как раз то, что позволяет привязываться к низким портам и формировать UDP-трафик, ни у кого не спрашивая разрешения.
  • Выделенный IPv4 без истории. Каждый тариф включает такой адрес, плюс IPv6 /64. Адрес, который никогда не был в общем пуле прокси, — самая ценная вещь здесь, и именно поэтому переработанные адреса бюджетных облаков умирают за считаные дни.
  • Десять минут защиты для начала. Только SSH-ключи, никаких входов по паролю, firewall с default-deny. Чек-лист защиты Debian закрывает эту тему; обфусцированный туннель на сервере с угадываемым паролем root — это замысловатый замок на открытой двери.
  • Домен — только если вы выбираете путь с собственным TLS. Reality и Shadowsocks не нуждаются ни в каком, и это значительная часть их привлекательности.

Пошаговая инструкция

  1. Разверните сервер там, куда не дотягивается фильтр, и сначала защитите его

    Разверните Debian 13 из библиотеки шаблонов в ближайшей локации, маршрут до которой от вас чист, и первым делом уделите серверу десять минут на базовую защиту: SSH только по ключу, вход по паролю root отключён, nftables default-deny, автоматические обновления безопасности. Затем обновите систему и проверьте часы, от которых зависит Reality:

    apt update && apt full-upgrade -y
    apt install -y curl ca-certificates systemd-timesyncd
    timedatectl set-ntp true
    timedatectl status

    Держите этот сервер одноназначенным. Туннель, который делит адрес с публичным веб-сервисом, наследует все репутационные проблемы, которые когда-либо были у этого сервиса.

  2. Установите sing-box из официального репозитория

    Один демон покрывает все три протокола, так что нет смысла запускать три штуки. Используйте собственный репозиторий проекта, а не пакет дистрибутива, потому что это тот случай, когда отставание на один релиз обходится по-настоящему дорого:

    mkdir -p /etc/apt/keyrings
    curl -fsSL https://sing-box.app/gpg.key -o /etc/apt/keyrings/sagernet.asc
    chmod a+r /etc/apt/keyrings/sagernet.asc
    printf 'Types: deb\nURIs: https://deb.sagernet.org/\nSuites: *\nComponents: *\nEnabled: yes\nSigned-By: /etc/apt/keyrings/sagernet.asc\n' > /etc/apt/sources.list.d/sagernet.sources
    apt update && apt install -y sing-box
    sing-box version

    Пакет поставляет unit systemd, который читает /etc/sing-box/config.json. Всё, что ниже, записывает именно этот файл; добавляйте нужные вам inbound-ы и опускайте те, что не нужны.

  3. Вариант A — Shadowsocks-2022, десятиминутный запасной вариант

    Начните отсюда, даже если основным у вас будет Reality, — это займёт две минуты и даст вам вторую дверь, которая отказывает иначе. Сгенерируйте ключ нужной длины для шифра — 16 байт для aes-128, 32 для aes-256:

    sing-box generate rand --base64 16

    Затем inbound, на высоком порту, а не на запоминающемся:

    {
      "log": { "level": "warn" },
      "inbounds": [
        {
          "type": "shadowsocks",
          "tag": "ss-in",
          "listen": "::",
          "listen_port": 23456,
          "method": "2022-blake3-aes-128-gcm",
          "password": "PASTE_THE_GENERATED_KEY"
        }
      ],
      "outbounds": [ { "type": "direct" } ]
    }

    Запишите это в /etc/sing-box/config.json, затем выполните systemctl enable --now sing-box. Обратите внимание: здесь нет ни TLS, ни сертификата, который нужно получать — защита в том, что у трафика вообще нет узнаваемого заголовка, а неверный ключ не получает ответа.

  4. Вариант B — VLESS с Reality, заимствуя чужой TLS

    Именно это стоит запускать как основной вариант. Сначала сгенерируйте пару ключей и идентификаторы, и храните PrivateKey на сервере, а PublicKey — для клиента:

    sing-box generate reality-keypair
    sing-box generate uuid
    openssl rand -hex 8

    Затем inbound. handshake.server — это настоящий сайт, который имитирует ваш сервер, — выбирайте тот, что популярен, быстро отвечает из локации вашего сервера, поддерживает TLS 1.3 и сам вряд ли будет заблокирован там, где вы находитесь:

    {
      "type": "vless",
      "tag": "vless-in",
      "listen": "::",
      "listen_port": 443,
      "users": [
        { "uuid": "GENERATED_UUID", "flow": "xtls-rprx-vision" }
      ],
      "tls": {
        "enabled": true,
        "server_name": "www.cloudflare.com",
        "reality": {
          "enabled": true,
          "handshake": { "server": "www.cloudflare.com", "server_port": 443 },
          "private_key": "GENERATED_PRIVATE_KEY",
          "short_id": [ "GENERATED_HEX" ]
        }
      }
    }

    Добавьте этот объект в массив inbounds рядом с Shadowsocks и перезапустите командой systemctl restart sing-box. Клиенту нужны пять значений: ваш адрес, порт 443, UUID, публичный ключ и short id — плюс тот же самый server_name, который и делает рукопожатие связным.

  5. Вариант C — Hysteria2, когда канал скорее теряет пакеты, чем фильтруется

    Добавляйте этот вариант, только если вы измерили потери на канале и туннели на основе TCP начинают буксовать. Он говорит на QUIC, поэтому ему нужен сертификат — либо настоящий для домена, которым вы владеете, либо самоподписанная пара, которую клиенту велено ожидать:

    {
      "type": "hysteria2",
      "tag": "hy2-in",
      "listen": "::",
      "listen_port": 8443,
      "up_mbps": 100,
      "down_mbps": 100,
      "users": [ { "password": "A_LONG_RANDOM_PASSWORD" } ],
      "masquerade": "https://news.ycombinator.com/",
      "tls": {
        "enabled": true,
        "alpn": [ "h3" ],
        "certificate_path": "/etc/sing-box/cert.pem",
        "key_path": "/etc/sing-box/key.pem"
      }
    }

    masquerade — это то, что получает неаутентифицированный посетитель: обычный реверс-прокси HTTP/3 на настоящий сайт вместо ошибки, которая выдаёт демон. Задавайте up_mbps и down_mbps цифрами, которые вы реально способны выдержать, — контроль перегрузки им верит, а завышенные цифры делают вас не более быстрым, а неприятным соседом по каналу.

  6. Откройте именно те порты, которые используете, — и ничего больше

    Default-deny, а затем — те немногие вещи, которые должны быть доступны. Предполагая, что nftables уже настроен по руководству по защите, добавьте порты туннеля в цепочку input:

    nft add rule inet filter input tcp dport 443 accept
    nft add rule inet filter input udp dport 443 accept
    nft add rule inet filter input udp dport 23456 accept
    nft list ruleset > /etc/nftables.conf

    Две детали, которые важнее, чем кажутся. Держите SSH на отдельном порту и закройте его файрволом для всех адресов, кроме тех, что вы реально используете, — потому что открытый порт SSH куда лучший отпечаток «сервера, которым кто-то администрирует удалённо», чем сам туннель. И не оставляйте тестовые порты прослушивающими после того, как закончите тестирование — каждый лишний открытый порт даёт зондирующему ещё одну вещь для характеристики.

  7. Подключите клиента и держите открытой вторую дверь

    Клиенты, которые понимают все эти протоколы, — это приложения sing-box для Android, iOS, Windows и macOS, а также тот же бинарник sing-box на Linux с клиентским конфигом. Соберите клиентский профиль из сгенерированных вами значений: адрес, порт, UUID, публичный ключ, short id и server_name для Reality; адрес, порт, шифр и ключ для Shadowsocks.

    Настройте оба варианта заранее, до того как они понадобятся, и поместите их в один и тот же профиль, чтобы переключение занимало одно касание. Это исключает конкретный и распространённый сценарий отказа: происходит блокировка, ваш единственный протокол перестаёт работать, а единственный способ починить сервер — это соединение, которое уже невозможно. Второй протокол на другом порту, с другой сигнатурой отказа, — самая дешёвая страховка во всём этом руководстве.

    Если вы администрируете сервер по SSH из отфильтрованной сети, убедитесь, что этот путь тоже не зависит от туннеля.

  8. Протестируйте так, как это сделал бы цензор, а не как это делает пользователь

    «Оно подключается» — это самая слабая проверка из возможных. Проверьте три вещи, которые проверяет фильтр, с машины, которая не является сервером:

    curl -sv --max-time 8 https://YOUR_IP 2>&1 | grep -E 'subject:|issuer:'
    nc -vz -w 5 YOUR_IP 23456
    nmap -Pn -sV -p 443,8443,23456 YOUR_IP

    Как выглядит хороший результат: curl показывает сертификат вашей цели рукопожатия и никакого намёка на прокси; nc к порту Shadowsocks подключается, а затем молча ждёт, пока не истечёт таймаут; nmap опознаёт веб-сервер и ничего интереснее. Если какое-то из зондирований выдаёт характерный баннер, немедленный сброс соединения или строку версии, называющую демон, — исправьте это, прежде чем полагаться на настройку.

    Затем проверьте и скучные сценарии отказа тоже — что сервис переживает перезагрузку, командой systemctl is-enabled sing-box, и что journalctl -u sing-box -f тих при обычном использовании, а не логирует на диск каждое соединение.

Активное зондирование и серверы, которые умеют молчать

Снятие отпечатка находит кандидатов; зондирование их подтверждает. Как только фильтр заподозрил адрес, он откроет собственное соединение с несвязанной сети и посмотрит, что вернётся в ответ. Всё решает именно ответ.

Сервер, который возвращает характерную ошибку, закрывается в характерный момент или принимает соединение, которое заведомо не способен аутентифицировать, подтверждает догадку. Это не теория: это задокументированный механизм, с помощью которого крупные фильтры массово вывели из строя более ранние протоколы обфускации, и именно поэтому плагины в стиле obfs, которые просто перемешивали заголовок, не пережили встречи с ним.

Современные конструкции отвечают на зондирование одним из двух правильных способов:

  • Молчать. Shadowsocks-2022 не может выдать корректный ответ без ключа, поэтому не выдаёт никакого. Для зондирующего порт выглядит как чёрная дыра — точно так же, как выглядит порт, закрытый файрволом. Он также несёт защиту от повторного воспроизведения с ограниченным временным окном, так что перехваченную сессию нельзя переслать позже, чтобы спровоцировать реакцию.
  • Говорить правду, но о ком-то другом. Reality пересылает неаутентифицированное рукопожатие настоящему стороннему хосту и передаёт обратно настоящий сертификат этого хоста. Зондирующий получает действительную цепочку сертификатов для сайта, который совершенно точно не является вами. Выбирайте цель для рукопожатия, которая популярна, правдоподобно доступна из страны вашего сервера и сама вряд ли будет заблокирована, — и держите часы сервера синхронизированными, потому что Reality отклоняет рукопожатия за пределами узкого временного окна.

Проверьте это сами, прежде чем доверять. С несвязанной машины выполните curl -v https://YOUR_IP против порта Reality: вы должны увидеть сертификат, принадлежащий цели рукопожатия, и ничего, что намекало бы на прокси. Против порта Shadowsocks nc должен зависнуть, а затем завершиться по таймауту, не вернув ни байта. Всё остальное — повод для беспокойства.

Адрес — дефицитный ресурс

Протоколы заменяются за десять минут. Адреса — нет. Как только IPv4 заблокирован внутри страны, он обычно остаётся заблокированным ещё долго после того, как то, что вызвало блокировку, исчезло, — потому что на другой стороне никому не платят за пересмотр списка. Относитесь к адресу как к активу, а к протоколу — как к расходному материалу.

Отсюда следуют три привычки. Не публикуйте его. Адрес, выложенный в публичном списке подписок, в канале или в общей конфигурации, поддаётся перечислению, а перечисление — самая дешёвая атака из существующих: именно поэтому приватные туннели живут намного дольше бесплатных публичных. Не вешайте на него сжигаемое имя. Если вы идёте по пути с собственным TLS, домен, который заодно обслуживает что-то привлекающее внимание, тянет адрес вниз вместе с собой. Не смешивайте роли. Сервер с единственным назначением, где есть только ваш туннель и ничего больше, не наследует репутацию, заработанную чем-то ещё, что вы на нём запускали.

Вторая половина истории — в том, откуда взялся адрес. Бюджетные облака с высокой текучкой прогоняют IPv4 через тысячи недолговечных клиентов, так что «новый» адрес может уже нести чужую репутацию ещё до вашего первого пакета. Каждый тариф здесь поставляется с выделенным, проверенным IPv4, а не с куском общего пула — что на самом деле означает чистый IP и как проверить это самостоятельно, смотрите в статье что такое чистый IP. Если ваш адрес когда-либо помечен или заблокирован там, где это важно, запросите замену через панель; получать рабочий адрес не должно означать оформление нового заказа. А когда вы хотите понять, в чём дело — в цензоре или в репутационном списке, — наше руководство о проверке IP в чёрных списках покажет разницу.

Чего обфускация не делает

Честный расчёт, потому что читать остальную часть этого руководства имеет смысл только в том случае, если эта часть в нём есть.

  • Она не скрывает того, что вы куда-то отправляете зашифрованный трафик. Оператор сети по-прежнему видит поток к зарубежному адресу, его объём, тайминг и то, как долго он длится. Reality заставляет этот поток выглядеть как обычный визит на обычный сайт; она не заставляет его исчезнуть.
  • Она не побеждает анализ трафика. Устойчивые высокообъёмные потоки с характерным паттерном день/ночь остаются характерными. Против противника, готового тратить реальные ресурсы на корреляцию, а не на сопоставление по шаблону, обфускация полезной нагрузки — не тот инструмент, и Tor с подключаемым транспортом — куда более изученный ответ.
  • Она не защищает конечные точки. Скомпрометированное устройство, аккаунт с активной сессией, отпечаток браузера и всё, что вы печатаете на другом конце, — всё это ничем из перечисленного не затрагивается.
  • Она не делает сервер анонимным. Хостинг знает, какой адрес принадлежит вам, а регистрация без KYC ограничивает то, что можно узнать, а не устраняет это полностью. Мы подробно разбираем, что видно, а что нет, в статье действительно ли анонимен VPS с оплатой в криптовалюте, и потратить на неё десять минут стоит, прежде чем полагаться на предположения.
  • Это не навсегда. Это гонка вооружений со своим циклом релизов. Конфигурация, которая работает сегодня, через год может потребовать замены, и именно поэтому по-настоящему стоит иметь установку, которую вы контролируете и можете изменить за десять минут, а не подписку, которую можно только отменить.

Что она делает надёжно — так это поднимает цену вашей блокировки с «совпадения байтов на скорости канала» до «решения сломать много обычного трафика». На практике это обычно и есть вся игра.

Юрисдикция, оплата и почему аккаунт имеет значение

Протокол решает, проходят ли пакеты. Всё остальное — выживет ли туннель — решается не на проводе.

Юрисдикция определяет, кто и что может потребовать. Наше присутствие — восемь локаций в Нидерландах, Франции, Румынии, Болгарии, Швеции, Исландии, Швейцарии и Малайзии; запрос, который имеет вес в одной из них, ничего не значит в другой, и ни одно уведомление о блокировке в американском стиле не имеет силы ни в одной из них. Это честно сформулированная операционная политика, а не юридический иммунитет — местные судебные предписания по-прежнему действуют, и есть жёсткий предел злоупотреблений, который мы не сдвигаем. Оффшорный хостинг подробно объясняет это различие.

Аккаунт — это часть, которую недооценивают. Туннель приватен ровно настолько, насколько приватна запись о том, кто его арендовал. Регистрация здесь требует email-адрес для доставки учётных данных — и ничего больше: ни ID, ни карты, ни адреса, ни телефона. Нет никакого верификационного файла, который нужно было бы передавать, потому что мы никогда его не собирали.

Оплата — вторая половина этого. Карта связывает сервер с банковской записью и юридическим именем в базе данных, которую не контролирует ни один из нас. Оплата здесь проходит в блокчейне, и Monero — это не второстепенная опция, а полноценный вариант с самого начала: наше руководство по оплате VPS в XMR проводит через весь процесс, а покупка без кредитной карты рассказывает, как добраться туда с нуля, вообще без крипты. Развёртывание занимает около шестидесяти секунд после подтверждения, так что запасной адрес — это вопрос нескольких минут, если он вам когда-нибудь понадобится.

Вместе это и есть форма туннеля, который выживает: протокол, который фильтр не может дёшево сопоставить, адрес, который никто ещё не сжёг, юрисдикция за пределами досягаемости фильтра, и аккаунт, который никогда не хранил ничего, что стоило бы требовать. Если вы хотите сначала обычную версию того же туннеля, руководство по настройке WireGuard — это десять минут и хорошая отправная точка — возвращайтесь сюда, когда что-то перестанет подключаться.

Часто задаваемые вопросы

Почему мой туннель WireGuard перестал работать за одну ночь?

Почти всегда потому, что фильтр на маршруте начал сопоставлять протокол по сигнатуре, а не потому, что на вашем сервере что-то изменилось. Рукопожатие WireGuard — это фиксированный пакет размером 148 байт, начинающийся с 0x01, который тривиально сопоставить на скорости канала, а развёртывания таких блокировок обычно происходят разом. Две быстрые проверки: сервер по-прежнему отвечает по SSH откуда-то ещё, и тот же туннель работает из другой сети. Если оба условия верны, дело в маршруте, а не в сервере — и смена порта это не исправит.

Законно ли использовать обфусцированный VPN?

В большей части мира — да: зашифрованные туннели являются обычной инфраструктурой, а это ПО — мейнстримный опенсорс. Меньшинство стран регулирует или ограничивает использование VPN, и правила варьируются от лицензионных требований до полного запрета, так что ответ зависит от того, где находитесь вы, а не от того, где находится сервер. Мы не в том положении, чтобы давать юридические консультации по вашей юрисдикции. Что мы можем сказать точно — это что применимо с нашей стороны: запуск приватного туннеля для собственного трафика на арендованном у нас VPS — обычное использование, и жёсткий предел нашей политики допустимого использования — никакого CSAM, никакого терроризма — остаётся неизменным в любом случае.

Что выбрать: Reality, Shadowsocks-2022 или Hysteria2?

Reality как основной вариант: он сильнее всего и против снятия отпечатка, и против активного зондирования, и ему не нужен ни домен, ни собственный сертификат. Shadowsocks-2022 как вторая дверь на другом порту, потому что это две минуты работы и другой характер отказа. Hysteria2 — только если вы измерили реальные потери пакетов на маршруте: он выигрывает на канале с потерями и не даёт ничего дополнительного на чистом канале. Все три работают из единого демона sing-box, так что это выбор inbound-ов, а не выбор ПО.

Нужно ли мне для этого доменное имя?

Нет — ни для Reality, ни для Shadowsocks-2022, и в этом значительная часть их привлекательности: никакой регистрации, никакого сертификата и никакой записи в certificate transparency с вашим адресом внутри. Домен нужен только для подхода с собственным TLS (Trojan или VLESS поверх WebSocket за веб-сервером), либо если вам нужен нормально подписанный сертификат для Hysteria2. Отказ от домена заодно убирает идентификатор, который можно заблокировать независимо от вашего адреса.

IP моего сервера заблокировали. Могу я просто его сменить?

Да, и для этого не нужно оформлять новый заказ — запросите замену через панель. Прежде чем это сделать, разберитесь, что именно попало в список: адрес, заблокированный внутри одной страны, — это цензурное событие, а адрес в Spamhaus или в DNSBL — это репутационное событие с другой причиной и другим решением, что подробно разбирает наше руководство по чёрным спискам. Если адрес когда-либо публиковался в общей конфигурации или в публичном списке подписок, считайте причиной перечисление и не публикуйте новый адрес.

Замедляет ли обфускация работу?

Едва заметно, и редко так, как люди ожидают. У любого серверного x86-64 CPU последнего десятилетия есть AES-NI, так что само шифрование — не узкое место: на порту в 1 Gbps узкое место — это сеть. Reality добавляет настоящее рукопожатие TLS при установке соединения и практически ничего после. Shadowsocks-2022 — самый лёгкий из трёх. Hysteria2 может быть заметно быстрее альтернатив на канале с потерями и чуть медленнее на чистом канале. То, что реально стоит вам задержки, — это география, поэтому выбор ближайшей подходящей локации выигрывает у выбора самой экзотичной.

Самостоятельно развёрнутый обфусцированный туннель лучше коммерческого VPN?

Чтобы пройти через фильтр — обычно да, по одной структурной причине: диапазоны адресов коммерческого провайдера опубликованы, используются тысячами пользователей и поддаются перечислению, поэтому их блокируют оптом и надолго. Ваш собственный адрес используете только вы. Компромисс здесь честный — туннель на одного пользователя не даёт вам толпы, в которой можно раствориться, поэтому он защищает от блокировки гораздо лучше, чем от атрибуции. Какая из этих двух проблем на самом деле ваша — вопрос, на который стоит ответить в первую очередь, и что на самом деле скрывает VPS с оплатой в криптовалюте — честный разбор именно этого.

Разверните офшорный VPS примерно за минуту

Без KYC, оплата криптовалютой, только NVMe. Выберите тариф, оплатите в Monero или любой крупной монете — root-доступ примерно через 60 секунд.

Fenrir на страже