Оглавление
Настройка VPN, которая будет работать всегда, даже в Китае

Цензура становится всё хитрее с каждым годом. То, что работало прошлым летом, этой зимой блокируется или блокируется. Суть этого руководства и прилагаемого к нему скрипта проста: перестаньте играть в «Бей крота». Создайте транспорт, который снаружи выглядит как веб-браузер, но внутри использует быстрый, закрытый туннель. Просто TLS, ничего особенного.

Идея на одном дыхании

  • Клиент ↔ Граница (входной переход): ВЛЕСС + РЕАЛЬНОСТЬ над TCPС точки зрения сети это просто TLS 1.3 для обычного веб-сайта (выбранный вами SNI).
  • Edge ↔ Egress (выходной прыжок): WireGuard над УДП для скорости (Ура).
  • Выход ↔ Интернет: NAT в открытую сеть.

РЕАЛЬНОСТЬ делает ваш ClientHello похожим на настоящий браузер, переходящий на настоящий сайт (например, google.com). Крайний блок завершает это, пока привязка всех исходящих к WireGuard, который переносит ваши пакеты в выходной узел. Затем выходной узел взаимодействует с интернетом. Никаких ярких подписей, никаких портов. Правительства не могут заблокировать это без сопутствующего ущерба, то есть (взлома обычных веб-сайтов).

[Device] --(TLS1.3/REALITY over TCP)--> [Edge/Entry]
                                 (WireGuard/UDP)
                          ----------------------------->
                                         [Egress/Exit] --(NAT)--> Internet

Это не магия, и она не будет определенно Обойдите целенаправленное расследование. I2P для этого и нужен (вроде как). Но для повседневной цензуры и шумных DPI-устройств он скучен во всех отношениях.

Для кого это?

  • Вам нужно надежный подключение через жесткую фильтрацию (например, Great Firewall) без траты выходных на изменение конфигураций.
  • Ты хочешь один сценарий который обрабатывает IPv4/IPv6, разумные значения по умолчанию, идемпотентную настройку и чистый удалять переключайтесь, когда дела идут не по плану.
  • Вы предпочитаете TCP на границе (его сложнее заблокировать, не нарушая работу обычного интернета) и Скорость UDP где это безопасно — между вашими собственными серверами.

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

Что вы получаете (функции)

  • Двойной прыжок по замыслу: TCP-камуфляж на краю, производительность WireGuard под ним.
  • РЕАЛЬНОСТЬ: Браузерное рукопожатие TLS 1.3 с реальным хостом (SNI должно быть реальным DNS-именем с действительным SAN).
  • Режимы IPv4/IPv6: только v4, двойной стек или предпочтительно v6.
  • Вариант системного укрепления: Бегать sing-box как преданный своему делу singbox пользователь с ограниченными возможностями.
  • Осведомленность о nftables/iptables: Использует iptables по умолчанию; регистрирует, какой у вас бэкэнд, так что вы не будете удивлены в Ubuntu 24.04+.
  • Зонд здоровья: Небольшая проверка для подтверждения работоспособности SNI, TLS 1.3 и обмена ключами.
  • Режим очистки: --purge уничтожает службу, конфигурации, пользователя и журналы; --flush-iptables при необходимости восстанавливает предустановленные правила.

Модель угроз (короткая и честная)

  • Фильтрация массовых битов (DPI на основе известных отпечатков пальцев VPN, слабая блокировка SNI/JA3, наивные блокировки портов).
  • Не победит целевую компрометацию конечной точки или мощный, индивидуальный анализ ваших конкретных серверов.
  • Вопросы эксплуатационной безопасности: Не используйте повторно ящики для не связанных между собой служб; регулярно обновляйте ОС и ядро; по возможности закрепляйте версии.

Требования

  • Два Linux-сервера (Ubuntu 22.04/24.04 работают отлично).
    • Край (вход): публичный IP-адрес, доступный клиенту (это должен быть VPS в вашей стране). Государственные органы, как правило, не применяют полные ограничения к облачным компаниям.
    • Выход (выход): публичный IP с разрешенным UDP; это ваш интернет-прорыв.
      Выходной узел также может представлять собой конфигурацию WireGuard, предоставленную вашим VPN-провайдером, хотя лишь немногие предоставляют конфигурации wg.
  • Возможность открытия портов на брандмауэре/группах безопасности вашего провайдера:
    • Край: а TCP порт для РЕАЛЬНОСТИ (например, 443 или незаметный высокий порт).
    • Выход: а УДП порт для WireGuard (например, 51820).
  • А настоящий SNI (имя хоста), присутствующее в сертификате SAN целевого сайта (например, google.com).
    Это именно тот сайт, который вы хотите видеть, просматривая его.

Быстрый старт (два шага, минимум подсказок)

1) Выход (2-й прыжок)

Это ваш сервер WireGuard и NAT для выхода в Интернет.

Баш
# Example: listen on UDP 51820
wget https://raw.githubusercontent.com/abdessalllam/SuperSpeedVPN/refs/heads/main/installer.sh
chmod +x installer.sh
# ReadME for Links: https://github.com/abdessalllam/SuperSpeedVPN
sudo ./installer.sh --role 2nd --wg-port 51820 --silent 

Что он делает:

  • Устанавливает WG, настраивает сервер, включает пересылку IPv4/IPv6, основные правила брандмауэра и NAT.
  • Печатает небольшой комплект, который можно скопировать на край.

После того, как вы закончите, Двигайтесь wg-link-bundle.tar.gz файл на ваш первый переход ~ (/root/).

2) Край (1-й прыжок)

Здесь ваш клиент подключается к REALITY по TCP. Edge использует WG в качестве своего исходящий.

Баш
# Example: TCP 443 for REALITY, SNI is a real hostname (must be DNS, not an IP)
wget https://raw.githubusercontent.com/abdessalllam/SuperSpeedVPN/refs/heads/main/installer.sh
chmod +x installer.sh
# ReadME for Links: https://github.com/abdessalllam/SuperSpeedVPN
# Use an SNI that's not blocked in your country
sudo ./installer.sh --role 1st --reality-port 443 --sni google.com
# The script will only allow domains that support TLS 1.3

Примечания:

  • Если вы не укажете цель рукопожатия, это по умолчанию SNI:443.
  • Ребро связывает свой исходящий узел с wg0, поэтому все выходит через выходной узел.

3) Клиент

Используйте любой современный клиент с поддержкой VLESS + REALITY (например, Sing-box). Скрипт выводит готовый к импорту фрагмент.

Как использовать VPN-провайдера в качестве второго узла

  1. Пропустите установку 2-го этапа, так как у вас нет доступа ко второму серверу.
  2. Получите ключи конфигурации WireGuard и используйте свой первый сервер, если провайдер VPN запрашивает IP-адрес устройства.
  3. Создайте файл Tar Gz с именем wg-link-bundle с 3 файлами h2_publickey с простым открытым ключом wg, h1_privatekey с простым закрытым ключом wg, vars со следующими данными:
Текстовый редактор
Get the following from your WG Config and create 3 files.
# h2_publickey file: 
EXAMPLEPUBLICKEYHGHD78HD

#h1_privatekey file: 
EXAMPLEPRIVATEKEYHGHD78HD

# vars file: 
WG_PORT=53133
WG_IF=wg0
WG_H1_V4=10.43.0.1/32
WG_H1_V6=fd00:43::1/128
WG_H2_V4=10.43.0.2/32 # From AllowedIPS list in your WG Config
WG_H2_V6=fd00:43::2/128 # From AllowedIPS list in your WG Config
H1_V4_POOL=10.43.0.0/24
H1_V6_POOL=fd00:43::/64
IPV6_MODE=dual # or ipv4only, dual means ipv4/ipv6
H2_ENDPOINT=IP:53133 # WG Config endpoint

Затем заархивируйте их в Tar, загрузите в /root/ и запустите скрипт 1-го перехода.

Очистить и переустановить (ваша «большая красная кнопка»)

Если что-то странное произошло, или вы просто хотите начать с чистого листа:

Баш
# Remove sing-box service, configs, binary, logs, and singbox user
sudo bash installer.sh --purge

Затем снова запустите быстрый старт. Процедура очистки идемпотентна; используйте её при необходимости сброса.

Режимы IPv6 (и когда стоит обратить внимание)

  • Двойной стек (по умолчанию): Лучшая достижимость и производительность при наличии обеих версий v4 и v6.
  • только v4: Удобно, когда пути v6 нестабильны или активируют специфичную для сайта эвристику «VPN».
  • v6-предпочтительно: Отлично подходит для регионов, где маршруты v6 менее загружены.

Скрипт защищает от пустого интерфейса WAN v6 при настройке accept_ra=2, чтобы у вас не возникли сломанные sysctl.

Проверка бэкэнда брандмауэра в реальных условиях

Ubuntu 24.04 опирается на nftables даже когда вы устанавливаете iptables-persistentСкрипт регистрирует, какой бэкенд активен, перед применением правил блокировки. Если вы пурист, замените средство записи правил на нативное. nftили сохраните iptables для портативности; просто помните о слое трансляции.

Проверки состояния здоровья (доверяй, но проверяй)

После подготовки запустите зонд, чтобы убедиться, что слой камуфляжа работает правильно:

Баш
./installer.sh --probe --sni google.com

Вы хотите увидеть:

  • TLS 1.3 согласован
  • X25519 (или другая здравомыслящая группа ECDH)
  • SNI указан в сертификате SAN

Если проверка не удалась, еще раз проверьте, является ли ваш SNI DNS-имя хоста и достижим, и что ваш порт РЕАЛЬНОСТИ открыт.

Советы по повышению производительности, которые имеют значение

  • Использовать TCP BBR на обоих серверах: echo "net.core.default_qdisc=fq" | sudo tee /etc/sysctl.d/99-bbr.conf echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.d/99-bbr.conf sudo sysctl --system
  • Выберите тихий порт WireGuard UDP (не 51820, если ваш провайдер его определяет).
  • MTU подходящего размера: Настройки WG по умолчанию хороши, но если вы видите фрагментацию, поэкспериментируйте (например, 1280-1380).
  • Версии штифтов и избегать curl | sh Для производства. Скачайте, проверьте контрольные суммы/подписи, затем установите.

Устранение неполадок (быстрый путь)

  • Клиент не может подключиться к Edge: Это РЕАЛЬНОСТЬ? TCP Открыт ли порт на брандмауэре вашего провайдера? SNI — это настоящее имя хоста, а не IP-адрес?
  • Edge не может достичь выхода: Проверьте, что WG УДП Доступен от границы до выхода. Если вы находитесь за строгим восходящим потоком, попробуйте другой порт или включите дырокол UDP-over-UDP, если ваш провайдер поддерживает эту функцию.
  • Он «подключен», но без интернета: Проверьте NAT/переадресацию на выходе. Переадресация IP должна быть включена; должны быть установлены правила MASQUERADE.
  • Странное поведение гео/трансляции: Если некоторые сайты чувствительны к IPv6, временно переключите Edge на только v4 и повторите тест.
  • Порт WG показывает, что снаружи он закрыт: Некоторые облака блокируют трафик по умолчанию. Проверьте группы безопасности, списки NACL, брандмауэр хоста, а затем ss -ulpn. Вы можете не получить трафик из-за политик UDP на стороне провайдера.

Почему это выдерживает давление

  • Маскировка вместо конфронтации: Пройти через фильтр легче, если ты выглядишь как обычный TLS. РЕАЛЬНОСТЬ склоняется к этому.
  • Контроль повреждений: Вы не потеряете все, если исходящий IP-адрес помечен; поменяйте исходящий IP-адрес, сохраните стабильность Edge/SNI.
  • Рабочие переключатели: Режимы IPv6/IPv4, очистка и идемпотентные повторы делают обслуживание утомительным — именно то, что вам нужно.

В этом руководстве основное внимание уделяется конфиденциальность и надежность «не нарушая законы».

Закрытие

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

Разделено на категории:

Кибербезопасность, Гиды,