Установка и настройка Hysteria2 на VPS (Ubuntu Server)
Установка и настройка Hysteria2 на VPS (Ubuntu Server)
Краткая заметка по развёртыванию прокси-сервера Hysteria2 на Ubuntu 24.04 LTS: TLS (Let's Encrypt), обфускация salamander, ALPN h3. Подойдёт для обхода блокировок и быстрого доступа к интернету с клиентов (v2rayN, мобильные приложения).
1. Вводные
Параметры, которые понадобятся дальше (подставьте свои значения):
- ОС: Ubuntu Server 24.04 LTS (VPS).
- Домен: ваш-домен.ru (должен быть указан и в SNI, и в сертификате).
- Порт Hysteria2: 443/UDP.
- Пароль доступа: придумайте надёжный пароль (например, длинная случайная строка).
- Obfs: salamander с отдельным паролем обфускации.
- ALPN: h3 (маскировка под HTTP/3).
Перед началом: A-запись домена на IP VPS, дождаться обновления DNS (проверка: ping ваш-домен.ru). Порядок: сначала п. 3 (сертификат), затем п. 2 (установка Hysteria2) — certbot занимает порт 80.
2. Установка Hysteria2 на сервер
Выполняйте после получения сертификата (п. 3). Подключитесь по SSH к серверу, далее все команды — от root или через sudo.
Обновление системы и установка curl:
sudo apt update
sudo apt full-upgrade -y
sudo apt install curl -y
Официальный установочный скрипт Hysteria2:
sudo bash -c 'curl -fsSL https://get.hy2.sh | bash'
Скрипт скачает бинарник hysteria и создаст базовый systemd-сервис.
3. Сертификат TLS (ACME / Let's Encrypt)
Выполните первым (порт 80 должен быть свободен). Если для вашего домена уже настроены nginx и ACME — используйте существующий сертификат. Если нет:
sudo apt install certbot -y
sudo certbot certonly --standalone -d ваш-домен.ru
Сертификаты будут лежать в:
/etc/letsencrypt/live/ваш-домен.ru/fullchain.pem/etc/letsencrypt/live/ваш-домен.ru/privkey.pem
Hysteria2 умеет использовать эти файлы напрямую. Certbot продлевает сертификат по таймеру сам; чтобы Hysteria2 подхватил новый сертификат, после продления сервис нужно перезапустить. Deploy-hook делает это автоматически:
sudo tee /etc/letsencrypt/renewal-hooks/deploy/restart-hysteria.sh << 'EOF'
#!/bin/sh
systemctl restart hysteria-server
EOF
sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/restart-hysteria.sh
4. Конфиг Hysteria2 сервера
Создаём каталог и файл конфигурации:
sudo mkdir -p /etc/hysteria
sudo nano /etc/hysteria/config.yaml
Пример конфига (замените ваш-домен.ru, пароли и при необходимости пути к сертификатам):
listen: :443
protocol: udp
acl:
inline:
- action: direct # без лишних правил, трафик напрямую в интернет
auth:
type: password
password: "ВАШ_НАДЁЖНЫЙ_ПАРОЛЬ_ДОСТУПА"
obfs:
type: salamander
salamander:
password: "ВАШ_ПАРОЛЬ_ОБФУСКАЦИИ"
tls:
cert: /etc/letsencrypt/live/ваш-домен.ru/fullchain.pem
key: /etc/letsencrypt/live/ваш-домен.ru/privkey.pem
sni: ваш-домен.ru
alpn:
- h3
insecure: false
quic:
congestion_control: bbr
max_udp_payload_size: 1350
Важно: формат obfs — именно salamander с вложенной секцией salamander.password, как в официальной документации.
5. Systemd-сервис Hysteria2
Создаём или перезаписываем юнит:
sudo tee /etc/systemd/system/hysteria-server.service >/dev/null << 'EOF'
[Unit]
Description=Hysteria2 Server
After=network.target
[Service]
User=root
ExecStart=/usr/local/bin/hysteria -c /etc/hysteria/config.yaml server
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
Далее:
sudo systemctl daemon-reload
sudo systemctl enable --now hysteria-server
sudo systemctl status hysteria-server
Если статус active (running) — сервер запущен. Логи:
sudo journalctl -u hysteria-server -n 50 --no-pager
6. Firewall: порт 443/UDP
Если используется ufw (Ubuntu 24.04):
sudo ufw allow 443/udp
sudo ufw reload
Если файрвол не включён — шаг можно пропустить, но нужно убедиться, что хостинг не блокирует UDP на порту 443.
7. Клиентский профиль (v2rayN / ссылка)
Под такой конфиг ссылка для импорта выглядит так (подставьте свой домен и пароли):
hysteria2://ВАШ_ПАРОЛЬ_ДОСТУПА@ваш-домен.ru:443/?obfs=salamander&obfs-password=ВАШ_ПАРОЛЬ_ОБФУСКАЦИИ&alpn=h3&insecure=0&sni=ваш-домен.ru#Метка-профиля
Пароль, домен, obfs и SNI должны совпадать с серверным конфигом.
insecure=0 — так как используется валидный сертификат Let's Encrypt.
В v2rayN:
- Скопируйте всю строку
hysteria2://...#Метка. - Правый клик → Import from clipboard.
- Выберите профиль, включите TUN и режим Global.
8. Быстрая проверка
С клиента (Windows или телефон):
- Поднять профиль Hysteria2.
- Открыть https://ipinfo.io — должен отображаться IP вашего VPS.
- Если соединения нет — смотреть логи на сервере:
journalctl -u hysteria-server.
Установка проверена на Ubuntu Server 24.04 LTS, Hysteria2 v2.x, certbot 2.x.
Комментарии
Отправить комментарий