Перейти к содержанию

Быстрый старт: сервер

Разверните сервер менее чем за 10 минут.


Предварительные требования

  • Машина с публичным IP-адресом (Linux, macOS или FreeBSD)
  • Порт 443 открыт в файрволе/группе безопасности
  • Root-доступ или sudo

1. Установка

Универсальный установщик выполнит всё необходимое:

curl -fsSL https://assets.rvpn.org/install.sh | sudo bash -s -- --setup --server

Скрипт автоматически определит вашу платформу, загрузит нужный бинарный файл, проверит контрольную сумму и проведёт вас через настройку сервера (ключи, TLS, режим TUN и т.д.).

Или вручную:

# Linux x86_64 (большинство VPS)
curl -LO https://assets.rvpn.org/1.0.5/rvpn-server-x86_64-linux-gnu
chmod +x rvpn-server-x86_64-linux-gnu
sudo mv rvpn-server-x86_64-linux-gnu /usr/local/bin/rvpn-server

# Linux ARM64
curl -LO https://assets.rvpn.org/1.0.5/rvpn-server-aarch64-linux-gnu
chmod +x rvpn-server-aarch64-linux-gnu
sudo mv rvpn-server-aarch64-linux-gnu /usr/local/bin/rvpn-server

# FreeBSD
fetch https://assets.rvpn.org/1.0.5/rvpn-server-x86_64-freebsd
chmod +x rvpn-server-x86_64-freebsd
sudo mv rvpn-server-x86_64-freebsd /usr/local/bin/rvpn-server

Смотрите Установка сервера для получения всех доступных бинарных файлов и проверки контрольных сумм.

Проверьте работоспособность:

rvpn-server --help


2. Генерация ключей сервера

sudo rvpn-server keygen
sudo rvpn-server prekey-bundle

Это создаст три файла в /etc/rvpn/:

Файл Назначение
server_identity.key Долгосрочный ключ Ed25519 сервера -- храните в секрете
prekey-bundle.json Публичный набор предключей -- передайте клиентам
prekey-bundle.private.json Приватный материал предключей -- храните в секрете

Важно: Обеспечьте безопасное хранение server_identity.key и prekey-bundle.private.json. Создайте резервные копии. При их утрате клиентам потребуется новый набор предключей.


3. Получение TLS-сертификата

r-vpn требует действительный TLS-сертификат для домена, к которому подключаются клиенты.

С помощью Let's Encrypt (certbot):

sudo apt install certbot
sudo certbot certonly --standalone -d your-domain.com

Файлы сертификатов будут расположены по пути: - /etc/letsencrypt/live/your-domain.com/fullchain.pem - /etc/letsencrypt/live/your-domain.com/privkey.pem


4. Включение пересылки IP-пакетов

r-vpn требуется пересылка IP-пакетов для маршрутизации трафика от имени клиентов:

echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

5. Запуск сервера

sudo rvpn-server -c /etc/rvpn/server.toml

Вы должны увидеть вывод вида:

INFO  Listening on 0.0.0.0:443
INFO  WebSocket endpoint: /api/v1/ws
INFO  WebSocket endpoint (mobile TUN): /api/v1/ws/tun
INFO  WebSocket endpoint (DNS proxy): /api/v1/ws/dns
INFO  WebSocket endpoint (SOCKS5 mux): /api/v1/ws/mux

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


6. Распространение набора предключей

Клиентам необходим prekey-bundle.json для подключения. Передайте его пользователям безопасным способом (шифрованная электронная почта, защищённый мессенджер и т.д.) -- этот файл является публичным и не требует секретного хранения, но он должен быть настоящим файлом с вашего сервера.


Следующие шаги