Перейти к содержимому
Обновлено

Справка пока не актуальна. Приложение развивается быстрее, чем мы успеваем его описывать. Страницы описывают Watchpost 0.1.0 alpha (сборка 444) и могут быть неполными или устаревшими. Подробнее

Установка хаба

Установщик настраивает весь хаб на одном сервере: релей, интерфейс WireGuard, таблицу файрвола и службы, которые поднимают всё это при загрузке. Запускайте его от root.

  • Сервер с Linux, systemd и доступом root. Мы проверяли скрипт на Debian 13. С dnf он тоже умеет работать, но этот путь мы не пробовали.
  • Публичный адрес IPv4 или имя, которое на него указывает.
  • Два открытых порта: TCP для релея (по умолчанию 8443) и UDP для WireGuard (по умолчанию 20820).

Хватит небольшого VPS. В наших тестах релей занимал около 10 МБ памяти и 3 % одного ядра, пока пропускал поток 2560×1440 со звуком.

  1. Положите install.sh и бинарник watchpost-relay в одну папку на сервере.

  2. Запустите скрипт с вашим публичным адресом, чтобы приложение нашло хаб:

    Окно терминала
    sudo ./install.sh --host hub.example.com

    Порты меняются параметрами --relay-port и --tunnel-port.

  3. В конце скрипт печатает код хаба: в нём адрес, отпечаток сертификата и токен администратора. Сохраните его, приложение спросит код, когда вы добавите хаб.

Потеряли код? watchpost-relay admin new напечатает код хаба с токеном администратора.

Он ставит wireguard-tools, nftables и openssl, если их нет, и создаёт системного пользователя wphub. В /etc/watchpost попадают настройки релея и самоподписанный сертификат на десять лет, а приложение сверяет его отпечаток. /etc/wireguard/wg-wp.conf получает адрес 10.77.0.1/24 и собственный ключ. Правила файрвола лежат в таблице inet watchpost.

Ваши маршруты, настройки sysctl и чужие правила файрвола остаются как были. Через сервер между туннелями и его собственной сетью ничего не пересылается.

При загрузке стартуют четыре службы:

Служба Что делает
watchpost-hub-firewall Загружает таблицу файрвола
wg-quick@wg-wp Поднимает интерфейс WireGuard
watchpost-hub-agent Работает от root и меняет пиры WireGuard по просьбе релея
watchpost-relay Сам релей, без привилегий

Разделение сделано намеренно. Если взломают релей, прав на сеть сервера это не даст.

Окно терминала
systemctl is-active watchpost-hub-firewall wg-quick@wg-wp watchpost-hub-agent watchpost-relay
sudo wg show wg-wp

Должны быть четыре строки active и интерфейс wg-wp. Пиры появятся, когда вы подключите первый объект.

Чтобы обновить хаб, запустите install.sh ещё раз. Бинарник и службы заменятся, а ключи, настройки, объекты и токен администратора останутся.

sudo ./install.sh uninstall убирает службы, таблицу файрвола и бинарник, но оставляет ключи и объекты, так что следующая установка их подхватит. Чтобы удалить и их, добавьте --purge.