Руководство по консоли оператора Nodeboard

AeroNyx10 мин чтения

Как операторы узлов AeroNyx используют Nodeboard для регистрации узлов, просмотра состояния и ёмкости, настройки политики, выполнения команд и управления сеансами VPN, включая то, какие именно данные по сеансам и ключам клиентов видят операторы и какую ответственность они за них несут.

Nodeboard (app.aeronyx.network) — это веб-консоль, в которой операторы узлов AeroNyx регистрируют узлы, следят за их состоянием и ёмкостью, задают политику для каждого узла и управляют сеансами VPN на принадлежащих им узлах. Для этих узлов она показывает записи о трафике по каждому сеансу и каждому ключу клиента (байты, время, уровень и адрес в туннеле) и позволяет операторам отключать сеансы и блокировать ключи клиентов. Она не показывает адреса назначения, DNS-запросы или содержимое пакетов.

На сегодняшний день все производственные узлы эксплуатирует AeroNyx. Любой, кто эксплуатирует узел, обязан соблюдать Политику для операторов узлов.

Вход

В Nodeboard есть два способа входа:

  • Кошелёк. Подключите Phantom (Solana), MetaMask (Ethereum) или OKX (Ethereum или Solana). Nodeboard запрашивает у бэкенда одноразовый nonce и просит ваш кошелёк подписать его. Подписанный nonce доказывает, что вы контролируете кошелёк; пароль не используется.
  • Телефон. Log in with your phone показывает QR-код, который нужно отсканировать в приложении AeroNyx, и короткий код для сверки на обоих экранах.

Ваша учётная запись видит только зарегистрированные на неё узлы. Все списки узлов, списки сеансов, представления оплаты и команды ограничены узлами, которыми вы владеете.

Навигация

СтраницаНазначение
OverviewСводка по парку узлов: общее число узлов и число узлов в сети, активные сеансы, трафик, время безотказной работы, сводка операций, ёмкость размещения клиентов, карточка трафика и оплаты за 24 часа, Needs Attention и недавние события
NodesВаши узлы с состоянием, сеансами, размещением и текущим действием; каждый открывает страницу сведений об узле
ServicesПредставления по всему парку в разрезе служб: сигнал оператора, основа протокола, допуск в пул луковой ретрансляции, ёмкость, транспорт, DNS шлюза, размещение клиентов, риски служб, готовность узлов, а также готовность к перезапуску, очередь и аудит результатов
SessionsСостояние узлов и активные туннели VPN, качество сеансов и действия для отключения сеанса или блокировки ключа клиента
Registration CodesСоздание одноразовых кодов, копирование команд установки, отслеживание хода установки
Alerts / EventsПоток событий и Incident Closure
Traffic & BillingТрафик и время по узлам, ключам клиентов, сеансам и дням, с поиском и экспортом в CSV
SettingsРазмещение и политика для каждого узла, предустановки для парка, синхронизация и аудит политик, язык
ChatОткрывает веб-чат AeroNyx, который связывается с приложением по QR-коду. Он не относится к эксплуатации узлов.

Что Nodeboard показывает о пользователях

Каждый зарегистрированный узел VPN сообщает бэкенду AeroNyx о каждом сеансе VPN во время его работы и при его завершении. Nodeboard показывает эти записи владельцу узла.

ДанныеГде отображаются
Идентификатор сеансаSessions, Traffic & Billing → Sessions, сведения об узле → Recent Sessions
Ключ клиента (client_wallet): открытый ключ, который приложение использует при рукопожатии VPN. Он остаётся одинаковым во всех сеансах, поэтому связывает сеансы одного пользователя во времени. В таблицах сокращён, но доступен для поиска и экспортируется полностью.Sessions (столбец Client), Traffic & Billing → Identities и Sessions
Уровень членства, который бэкенд находит для ключа клиента (unknown, если его нет)Traffic & Billing → Identities и разбивка по уровням
Виртуальный IP-адрес туннеля (адрес внутри VPN, например в 100.64.0.0/22)Sessions, Traffic & Billing → Sessions
Входящие и исходящие байты, количество сеансов, длительностьПо узлам, ключам клиентов, сеансам и дням
Первое и последнее появление для каждого ключа клиента; начало, конец и последняя активность для каждого сеансаTraffic & Billing, Sessions
Качество соединения: время приёма-передачи, потери пакетов, результаты keepalive, последняя ошибкаSessions, Traffic & Billing → Sessions

Traffic & Billing охватывает последние 7, 14, 30, 60 или 90 дней. Export CSV выгружает строки текущей вкладки, включая полные ключи клиентов и виртуальные IP-адреса, если они есть на вкладке.

Что узлы не сообщают и Nodeboard не показывает: публичные IP-адреса клиентов, адреса или домены назначения, DNS-запросы, URL-адреса, содержимое пакетов или сообщений и закрытые ключи. Панели ретрансляции чата, обнаружения и протокола показывают только агрегированные счётчики.

С хостом узла дело обстоит иначе. Узел VPN является точкой выхода для трафика своих пользователей, поэтому человек с доступом root к серверу может наблюдать этот трафик так же, как на любом сервере VPN, независимо от того, что показывает Nodeboard. Что разрешено операторам, определяет Политика для операторов узлов. О том, как сама AeroNyx обращается с этими данными, см. Центр доверия.

Обязанности оператора

  • Используйте данные о сеансах и ключах клиентов только для эксплуатации, защиты и тарификации сервиса, как это разрешает Политика для операторов узлов.
  • Обращайтесь с экспортом CSV как с персональными данными: храните его только столько, сколько необходимо, храните надёжно и никому не передавайте.
  • Не пытайтесь связать ключи клиентов или виртуальные IP-адреса с конкретными людьми и не просматривайте, не записывайте и не сохраняйте пользовательский трафик на хосте.
  • Отключайте сеансы и блокируйте ключи клиентов только по эксплуатационным причинам или из-за злоупотреблений и фиксируйте причину.
  • Обеспечивайте безопасность кошельков и телефонов для входа, а также учётных данных серверов.

Регистрация узла

  1. Откройте Registration Codes и выберите Generate Code. Код действителен 15 минут и действует один раз.
  2. Скопируйте Quickstart command (или команды пошагового просмотра плана и установки) и выполните её на сервере от root. Полная процедура, включая то, как не допустить попадания кода в историю оболочки, описана в разделе Установка и регистрация узла AeroNyx.
  3. Следите за Install Progress: not_started → planning → running → completed | failed. Этап показывает, где находится установщик (план, предварительные проверки, зависимости, репозиторий, конфигурация, сеть, сборка, systemd, регистрация, запуск, завершение). При ошибке отображаются этап, на котором она произошла, и код выхода.

Состояния кода: Available, Used, Expired и Revoked. Когда код истёк, Nodeboard скрывает его команды установки. AI assistant prompt содержит сам код; передавая эту подсказку, вы передаёте и код.

Обзор и первичный разбор

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

Разумный порядок внимания:

  1. Узлы не в сети или устаревшие heartbeat.
  2. Неудавшиеся, просроченные или устаревшие команды.
  3. Узлы в режиме обслуживания, у которых всё ещё есть активные сеансы.
  4. Нагрузка на ёмкость: пул IP-адресов, файловые дескрипторы, отслеживание соединений, отбрасывание пакетов, пропускная способность, диск, память, CPU.
  5. Ещё не синхронизированная политика.
  6. Проблемы с готовностью обнаружения или ретрансляции.

Узлы и сведения об узле

Страница сведений об узле группирует данные по разделам, среди которых Node Details, Hardware Info, AeroNyx Health, Rust Runtime (версия, коммит, время работы), Node Capacity, AeroNyx Privacy Protocol, Node Discovery, Encrypted Chat Relay, Service Configuration, Install Workflow, Rust Upgrade Workflow, Maintenance Drain, Bandwidth Limit, Policy Enforcement, Recent Sessions, Wallet Ban Policies, Recent AeroNyx Commands, Recent AeroNyx Events, Recent Operational Events (очищенные предупреждения службы за последние 24 часа) и Operator Runbook с копируемыми командами.

Capacity Decision

Capacity Decision отвечает на вопрос, должен ли узел принимать новых пользователей. Он объединяет пул IP-адресов, максимальное число сеансов по политике и собственное состояние допуска узла в консервативную оценку оставшихся мест для пользователей и называет главное узкое место.

СостояниеЗначение
readyУзел может принимать новые сеансы по текущей телеметрии
watchУзел может принимать сеансы, но какой-то ресурс требует внимания
blockedУзлу не следует принимать новые сеансы, например потому, что служба неактивна или собственная проверка допуска узла заблокирована
waitingТелеметрия ёмкости отсутствует или недостаточно свежая для принятия решения

Сеансы: отключение и блокировка

Sessions перечисляет активные и недавние туннели VPN с узлом, ключом клиента, статусом, длительностью, трафиком, качеством и последней активностью. Поиск выполняется по идентификатору сеанса, ключу клиента или виртуальному IP-адресу. Качество принимает значения healthy, degraded, stale, error, pending или completed.

  • Kick ставит в очередь команду kick_session, которая отключает один сеанс.
  • Ban Wallet ставит в очередь команду ban_wallet, которая блокирует ключ клиента на этом узле и отключает соответствующие ему туннели.
  • Unban находится на странице сведений об узле в разделе Wallet Ban Policies (unban_wallet).

Каждое действие запрашивает подтверждение и сначала проверяет, что свежий снимок сеансов по-прежнему совпадает. Ничего не меняется, пока узел не выполнит команду при одном из следующих heartbeat, поэтому до тех пор туннель остаётся активным.

Traffic & Billing

Вкладки: Nodes, Identities (по ключам клиентов), Sessions и Daily. Фильтры: дни, статус сеанса, узел и поиск по ключу клиента или идентификатору сеанса. Сводные карточки показывают трафик, активные сеансы, месячную квоту и время по ваучерам вашей учётной записи, а также выпуск ваучеров. Поля перечислены выше в разделе «Что Nodeboard показывает о пользователях».

Настройки и политика

Для каждого узла: код региона, предлагается ли узел в пуле выхода AeroNyx, уровень узла (public или premium), интервал heartbeat, максимальное число сеансов, ограничение пропускной способности в Мбит/с и Maintenance Mode. Maintenance Mode прекращает приём новых сеансов, пока существующие постепенно завершаются.

Политика доходит до узла в его heartbeat. После сохранения в истории команд узла появляется команда apply_policy, а Policy Sync переходит из pending или unknown в synced, как только узел подтвердит её. Fleet Presets применяют одну политику к нескольким узлам и сообщают, каким из них нужно внимание. Recent Settings Audit показывает изменения политики за последние 30 дней.

Команды

С помощью команд Nodeboard просит узел выполнить действие. Они ограничены владельцем, записываются и доставляются в ответе на следующий heartbeat узла.

ДействиеРезультат
system_info, collect_logsСбор сведений о хосте или журналов
refresh_config, apply_policyОбновление конфигурации или подтверждение текущей политики
two_hop_smokeЗапуск локальной проверки двухшаговой ретрансляции на узле и возврат агрегированных счётчиков
kick_session, ban_wallet, unban_walletДействия с сеансами и ключами клиентов
restart_serviceПерезапуск службы aeronyx-server

Жизненный цикл: pending → sent → executing → completed | failed | timeout. Команду, которая всё ещё находится в состоянии pending или sent, можно отменить. Команда, которая остаётся в состоянии sent или executing дольше тайм-аута бэкенда (по умолчанию 300 секунд), помечается как timeout. У узла не может быть двух активных команд одного вида.

Перезапуск узла из Nodeboard

restart_service отключает всех пользователей на узле. Services → Fleet Restart Readiness считает узел готовым к перезапуску, только если ему нужен перезапуск для развёртывания, включён Maintenance Mode и число активных сеансов снизилось до нуля. Restart Action Queue предлагает Enable maintenance, Queue restart и Cancel command. API команд требует явного подтверждения перезапуска, но сам не проверяет сеансы, поэтому сначала освободите узел. После перезапуска убедитесь в наличии свежего heartbeat, новой версии среды выполнения, исправного состояния и синхронизации политики, прежде чем отключать Maintenance Mode. Обновления выполняются на сервере с помощью процедуры обновления; см. Эксплуатация и проверка узла AeroNyx.

Alerts / Events и Incident Closure

Event Stream перечисляет события состояния узлов, ошибки сеансов, команды операторов и изменения политики с фильтрацией по дням, серьёзности, типу и узлу.

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

СостояниеЗначение
openЕсть события, требующие действий и ещё не просмотренные
watchТекущих блокирующих проблем нет, но проблема повторялась
recoveredПоследнее событие указывает на восстановление, или событие носит информационный характер

Завершённая команда сама по себе не означает закрытие инцидента. Закрывайте инцидент, когда heartbeat свежий, состояние и синхронизация политики восстановились, а затронутый сигнал ёмкости или ретрансляции вернулся в норму.

Коды и учётные данные не взаимозаменяемы

Учётные данныеНазначение
Регистрационный кодПривязывает один узел к вашей учётной записи. Одно использование, 15 минут.
Подпись кошелька или вход с телефонаВход в Nodeboard
Анонимный ваучер VPNПозволяет пользователю приложения доказать, что он вправе пользоваться сервисом; это не учётные данные оператора

Никогда не указывайте коды, закрытые ключи или данные для восстановления в событиях, URL-адресах, снимках экрана или обращениях в поддержку.

Связанные страницы

<!-- faq:start -->

Часто задаваемые вопросы

Могут ли операторы узлов видеть, какие пользователи подключены к их узлу?

Для принадлежащих им узлов операторы видят ключ клиента каждого сеанса (client_wallet), виртуальный IP-адрес туннеля, количество байтов, время и уровень. Публичные IP-адреса клиентов, адреса назначения, DNS-запросы или содержимое трафика в Nodeboard им не видны.

Как войти в Nodeboard?

Войдите, подписав одноразовый nonce с помощью Phantom, MetaMask или OKX, либо отсканировав QR-код в приложении AeroNyx. Пароля нет.

Почему отключение или блокировка ещё не применены?

Nodeboard ставит команду в очередь, а узел выполняет её при одном из следующих heartbeat. Проверьте состояние команды в разделе Recent AeroNyx Commands узла; оно меняется с pending на sent, executing, а затем на completed, failed или timeout.

Что означает Capacity Decision waiting?

Узел не прислал достаточно свежую телеметрию ёмкости для принятия решения. Выполните на узле status или проверку состояния и убедитесь, что heartbeat свежий; если телеметрия так и не появляется, обновите или перезапустите узел.

Можно ли перезапустить узел из Nodeboard, не отключая пользователей?

Нет, перезапуск отключает все сеансы на узле. Включите Maintenance Mode, дождитесь, пока число активных сеансов станет нулевым, и затем поставьте перезапуск в очередь.

Является ли экспорт CSV персональными данными?

Да, он содержит полные ключи клиентов, виртуальные IP-адреса и время использования. Обращайтесь с ним в соответствии с Политикой для операторов узлов и храните его только столько, сколько необходимо.

<!-- faq:end -->