Быстрый старт Server Обновлено 8 Linux

Hysteria2 server config: минимальная конфигурация с пояснениями

Разбор минимального server config для Hysteria2: listen, TLS, auth, bandwidth, masquerade, obfs. Безопасные плейсхолдеры, проверка YAML и диагностика запуска.

hysteriahysteria2server configtlsmasqueradeobfsнастройка сервера
Содержание
КороткоСоздайте config.yaml с обязательными разделами listen, TLS, auth. По желанию добавьте bandwidth, masquerade и obfs. Проверьте синтаксис через hysteria server -c config.yaml, откройте UDP-порт в firewall и запустите сервис.

Hysteria2 — это современный прокси-протокол, который использует QUIC и по умолчанию включает шифрование TLS. Для работы собственного сервера нужно создать конфигурационный файл, в котором описаны все параметры. В этой статье разберем минимальный server config для Hysteria2, объясним каждый раздел и покажем безопасные значения-плейсхолдеры, чтобы вы могли заменить их на свои без риска ошибиться. Следуя этому руководству, вы за несколько минут подготовите рабочий конфиг и запустите сервер.

Если вы ещё не установили Hysteria2, сначала проверьте официальную инструкцию по установке. Здесь мы сосредоточимся именно на настройке серверной части: разберём структуру YAML, назначение полей и типичные ошибки.

Подготовка к настройке сервера Hysteria2

Перед созданием конфигурации убедитесь, что у вас есть:

  • доменное имя, указывающее на IP сервера;
  • пары ключей TLS (сертификат и приватный ключ) — можно использовать Let's Encrypt;
  • открытый UDP-порт, на котором будет работать Hysteria2. Обычно это port 443, но можно выбрать любой.

По умолчанию Hysteria2 слушает порт 443 по UDP. Убедитесь, что ваш файрвол разрешает входящие UDP-соединения. Подробнее про настройку firewall для Hysteria2 читайте в отдельной статье.

Структура server config для Hysteria2

Конфигурационный файл Hysteria2 пишется в YAML. Минимальный набор секций — listen, tls, auth, bandwidth, masquerade и obfs. Рассмотрим каждую.

Пример итогового файла config.yaml:

listen: :443
tls:
  cert: /etc/hysteria/cert.pem
  key: /etc/hysteria/key.pem
auth:
  type: password
  password: YOUR_STRONG_PASSWORD
bandwidth:
  up: 100 mbps
  down: 100 mbps
masquerade:
  type: proxy
  proxy:
    url: https://example.com
    rewriteHost: true
obfs:
  type: salamander
  salamander:
    password: YOUR_OBFS_PASSWORD

Теперь разберем каждый блок.

Параметр listen: адрес и порт сервера

listen задаёт адрес и порт, на которых сервер будет принимать соединения. Формат: host:port. Если указать только порт (например, :443), он будет слушать все интерфейсы. Для локальной разработки можно использовать 127.0.0.1:443, но для внешнего доступа нужен публичный IP или пустой хост.

TLS: шифрование и сертификаты

Hysteria2 работает поверх QUIC и требует TLS. Для сервера укажите путь к сертификату и ключу:

tls:
  cert: /etc/hysteria/cert.pem
  key: /etc/hysteria/key.pem

Это обязательная секция. Вы можете использовать самоподписанные сертификаты для тестов, но для продакшена лучше выпустить доверенный сертификат через ACME. Hysteria2 поддерживает автоматическое получение сертификатов, если задать acme вместо файлов, но для минимальной конфигурации предпочтительнее файлы.

Аутентификация: защита сервера паролем

Чтобы доступ к серверу был только у ваших устройств, включите авторизацию. Простейший способ — пароль:

auth:
  type: password
  password: YOUR_STRONG_PASSWORD

Замените YOUR_STRONG_PASSWORD на длинную случайную строку. Можно также задать несколько пользователей в файле, но для начала достаточно пароля. Пароль будет использоваться клиентами при подключении.

bandwidth: ограничение скорости

Опционально можно ограничить скорость соединений, чтобы сервер не отдавал весь канал. Поля up и down задают максимальную скорость в мегабитах в секунду:

bandwidth:
  up: 100 mbps
  down: 100 mbps

Здесь up — скорость от клиента к серверу, down — к клиенту. Единицы измерения — kbps, mbps, gbps. Если не указать bandwidth, лимитов не будет.

masquerade: маскировка трафика

Маскировка помогает скрыть тот факт, что сервер является прокси. Если на сервере уже работает веб-сайт, Hysteria2 может проксировать его трафик, чтобы запросы к 443 порту выглядели как обычные HTTPS.

masquerade:
  type: proxy
  proxy:
    url: https://example.com
    rewriteHost: true

Вместо example.com укажите адрес сайта, который должен обслуживаться. Это полезно, когда вы используете один и тот же порт для веб-сервера и прокси. Также доступен режим file, если нужно отдавать статический файл.

obfs: обфускация трафика

Обфускация помогает против DPI (deep packet inspection). В Hysteria2 используется механизм обфускации Salamander. Он требует общий пароль между сервером и клиентом:

obfs:
  type: salamander
  salamander:
    password: YOUR_OBFS_PASSWORD

Этот пароль не должен совпадать с auth-паролем. Включать obfs опционально, но если ваш интернет-провайдер блокирует прокси, обфускация может помочь обойти блокировку.

Проверка YAML и запуск сервера

После создания конфига нужно убедиться, что YAML синтаксически корректен. Ошибки в отступах или кавычках приведут к сбою запуска. Простейший способ проверить — попросить сам Hysteria2 загрузить конфигурацию:

hysteria server -c config.yaml

Если в YAML есть ошибки, программа выведет сообщение о проблеме и не запустится. Для более точной проверки используйте yamllint config.yaml. Также можно выполнить проверку без запуска службы:

hysteria server -c config.yaml --check

Уточните доступные флаги в текущем релизе Hysteria2, так как они могут меняться.

Запуск как systemd-сервис и диагностика

Для постоянной работы рекомендуется запускать Hysteria2 как службу systemd. Создайте unit-файл и включите автозапуск. После старта проверьте логи: journalctl -u hysteria -f. Если сервер не принимает соединения, убедитесь, что UDP-порт открыт в firewall. Инструкции по настройке iptables/nftables вы найдете в статье UDP port и firewall.

Частые ошибки при настройке сервера Hysteria2

  • Ошибки отступов в YAML — используйте пробелы, не табы.
  • Забыли указать TLS или путь к сертификату — сервер не запустится.
  • Несовпадение obfs-пароля между сервером и клиентом.
  • Порт не открыт в firewall (UDP).
  • Использование одного и того же пароля для auth и obfs.

После исправлений обязательно перезапустите сервис.

Что дальше? Настройка клиента

Сервер готов, теперь нужно настроить клиент. Инструкцию по созданию client config смотрите в статье о клиентской конфигурации. Для проверки используйте официальный клиент Hysteria2 на вашей ОС.

Мы разобрали минимальный server config для Hysteria2, включая listen, TLS, auth, bandwidth, masquerade и obfs. Замените плейсхолдеры на свои значения, проверьте YAML и запускайте сервер. Удачной настройки!

Мини-чеклист

  • Убедиться, что выбранный UDP-порт свободен и открыт в firewall
  • Сгенерировать или получить TLS-сертификат и ключ
  • Создать config.yaml с обязательными разделами: listen, tls, auth
  • Указать длинный пароль для auth (не менее 16 символов)
  • При необходимости настроить bandwidth и masquerade
  • Проверить синтаксис YAML командой hysteria server -c config.yaml
  • Запустить сервер и проверить логи

Частые ошибки

  • Использование табов вместо пробелов в YAML
  • Неверный тип auth (например, вместо password указали users)
  • Забыли указать obfs-пароль в конфиге клиента
  • Открыт TCP-порт, а не UDP
  • Не настроен masquerade для доступа к другим сайтам

FAQ

Какой порт использует Hysteria2 по умолчанию?

По умолчанию Hysteria2 слушает UDP-порт 443, но его можно изменить в поле listen.

Можно ли использовать самоподписанный TLS-сертификат?

Да, для тестирования можно, но клиенты могут выдавать предупреждение. Для продакшена рекомендуется доверенный сертификат.

Обязательно ли указывать obfs?

Нет, obfs опционален. Он помогает обойти DPI, но если он не используется, клиент тоже должен быть настроен без obfs.

Как проверить, что сервер запущен и работает?

Запустите сервер в фоне, посмотрите логи, затем попробуйте подключиться с клиента. Также можно проверить сетевой порт командой ss или netstat.

Что делать, если YAML-файл не загружается?

Проверьте отступы, кавычки и синтаксис с помощью yamllint, а также убедитесь, что все обязательные поля указаны.

Хотите перейти сразу к рабочему доступу?

Если сценарий уже ясен и не хочется проходить все шаги вручную, оформите доступ и проверьте подключение на своем устройстве.

Получить доступ

Дальше по теме

Связанные статьи