Установка и регистрация децентрализованного узла конфиденциальности AeroNyx

AeroNyx18 июня 2026 г.4 мин чтения58 просмотров

Безопасно установите, зарегистрируйте, проверьте и обновите узел AeroNyx через официальный единый скрипт и одноразовый код Nodeboard; слепой relay включается отдельно.

Это поддерживаемый производственный путь для нового узла. Он использует единый операторский entrypoint репозитория, связывает identity одноразовым кодом Nodeboard, устанавливает systemd и до объявления успеха проверяет локальный data plane, backend heartbeat, подписанный discovery и public pool. Состояние процесса active само по себе не доказывает, что узел вошёл в сеть конфиденциальности AeroNyx.

Операторская консоль: app.aeronyx.network

Открытый исходный код: github.com/AeroNyxNetwork/AeroNyx

Перед началом

Используйте отдельный Linux-хост со стабильным публичным адресом. Проверьте cloud/host firewall и сеть провайдера. Management API нельзя напрямую открывать всему Интернету.

РесурсПроизводственная рекомендация
СистемаАктуальная поддерживаемая Ubuntu или Debian
CPUНе менее 2 ядер; больше для сборки и высокого pps
ПамятьРекомендуется 4 ГБ; ниже 2 ГБ preflight предупредит или завершится ошибкой
ДискНе менее 20 ГБ свободно плюс запас для Cargo и rollback
Сеть51820/UDP data plane; 8422/TCP подписанный discovery и peer API
Управление8421/TCP только локально/в доверенной сети; ограничьте SSH

1. Создайте одноразовый регистрационный код

Регистрируются identity, capabilities и оператор узла, а не пользовательский контент. Код живёт недолго и используется только один раз.

  1. Войдите в Nodeboard.
  2. В Registration Codes создайте краткоживущий код для нужного оператора.
  3. Задайте имя узла и регион ISO 3166-1 alpha-2.
  4. Не публикуйте код в тикетах, снимках, shell history или открытых AI-чатах.

2. Получите официальный операторский скрипт

aeronyx-node.sh не является глобальной Linux-командой; он входит в официальный Rust-репозиторий AeroNyx. На новом сервере получите main и запускайте из корня репозитория.

bash
sudo install -d -m 0755 /opt/aeronyx
sudo git clone --branch main --single-branch \
  https://github.com/AeroNyxNetwork/AeroNyx.git \
  /opt/aeronyx/AeroNyx
cd /opt/aeronyx/AeroNyx
git rev-parse HEAD

Не клонируйте поверх существующего каталога. Fast-forward допустим только при чистом tracked worktree; для production с локальными изменениями используйте изолированный commit-pinned upgrade.

bash
cd /opt/aeronyx/AeroNyx
git fetch origin main
git checkout main
git pull --ff-only origin main
./deploy/node/aeronyx-node.sh plan --repo-dir "$PWD" --branch main

3. Проверьте план и запустите quickstart

Замените имя и страну примера. --public-vpn — явный opt-in: без него узел регистрируется и управляется, но не входит в публичный pool. Интерактивный режим скрывает код, показывает вычисленный plan и просит подтверждение.

bash
cd /opt/aeronyx/AeroNyx
sudo ./deploy/node/aeronyx-node.sh quickstart \
  --node-name "Berlin1" \
  --region "DE" \
  --public-vpn

Автоматизация передаёт секрет одной строкой bounded stdin и использует --yes только после проверки плана. Анонимный pipe не помещает код в argv дочерних процессов.

bash
read -r -s -p 'Nodeboard registration code: ' AERONYX_NODE_CODE; echo
printf '%s\n' "${AERONYX_NODE_CODE}" | \
  sudo ./deploy/node/aeronyx-node.sh quickstart \
    --registration-code-stdin \
    --node-name "Berlin1" \
    --region "DE" \
    --public-vpn \
    --yes
unset AERONYX_NODE_CODE

Install и upgrade используют общий deployment lock. Не применяйте --allow-dirty и --skip-admission-check как обычный обход; они предназначены только для явно одобренного аварийного обслуживания или изолированного восстановления.

4. Докажите admission в сеть

Стандартный admission gate ждёт до 120 секунд и ставит completed только при наличии всех применимых доказательств. Затем проверку можно повторить read-only командами.

bash
cd /opt/aeronyx/AeroNyx
./deploy/node/aeronyx-node.sh status
./deploy/node/aeronyx-node.sh health --json
systemctl is-active aeronyx-server
  • /api/vpn/health имеет ok: listener, TUN, forwarding, NAT, DNS и egress работают.
  • Свежий backend policy timestamp подтверждает round trip подписанного management heartbeat.
  • Discovery status и snapshot содержат проверенный подписанный descriptor и завершённый gossip round.
  • Публичный узел виден с точным backend UUID, visibility=public, VPN capability и online.
  • Имя, регион, visibility, capacity и heartbeat в Nodeboard совпадают с узлом.

Private-узел намеренно не обязан быть в public pool, но обязан пройти local health, зарегистрированный heartbeat и подписанный discovery. Медленный первый запуск расширяйте через --admission-timeout 240, не удаляя проверки.

Опциональные публичные и blind-relay роли

Публичный privacy exit, ChatRelay и no-exit OnionMiddle — отдельные роли. Рекламируйте blind relay только после доступности public endpoint 8422, успешной config validation и безопасного restart.

bash
cd /opt/aeronyx/AeroNyx
./deploy/node/aeronyx-node.sh chat-relay --enable-chat-relay --dry-run
sudo ./deploy/node/aeronyx-node.sh chat-relay --enable-chat-relay --restart
./deploy/node/aeronyx-node.sh onion-middle --enable-onion-middle --dry-run
sudo ./deploy/node/aeronyx-node.sh onion-middle --enable-onion-middle --restart
./deploy/node/aeronyx-node.sh relay-probe --two-hop --json

Helper сохраняет server.toml, меняет только нужное поле, валидирует и запрещает restart при active sessions. Новому узлу нужны свежие reachability и path-proof evidence; включённая capability ещё не делает его routeable. Two-hop probe требует три разных routeable узла, иначе корректен статус blocked.

Повседневная эксплуатация и безопасное обновление

Сначала соберите и проверьте candidate без restart, затем обновляйте в одобренное maintenance window. Не заменяйте production binary вручную после git pull.

bash
cd /opt/aeronyx/AeroNyx
sudo ./deploy/node/aeronyx-node.sh upgrade \
  --build-priority live \
  --build-jobs auto \
  --no-restart

sudo ./deploy/node/aeronyx-node.sh upgrade \
  --build-priority live \
  --build-jobs auto

Workflow повторно проверяет active sessions после build, перед promotion и перед restart; недоступный счётчик означает fail closed. Он проверяет config/systemd, сохраняет старые binary/units, выполняет atomic promotion и rollback при плохом health. upgrade-status.json содержит только операторские метаданные.

Контракт установки с помощью ИИ

Codex, Claude Code или другой terminal agent может выполнить процесс, но должен быть ограниченным операторским инструментом, а не импровизировать из-за наличия root.

  1. Проверить официальный repository, branch, checkout и текущий commit.
  2. До изменений выполнить и показать plan.
  3. Передавать код только через скрытый prompt или bounded stdin.
  4. Сохранить identity/config и не перезаписывать persistent-файлы /etc/aeronyx.
  5. Перед restart проверить active sessions и остановиться без надёжного значения.
  6. Проверить local health, backend heartbeat, public reachability, signed discovery и Nodeboard.
  7. Честно сообщать warning, blocked и rollback; systemd active не равен успеху.

Граница конфиденциальности

Узел и Nodeboard обрабатывают только необходимую агрегированную операционную информацию. Relay остаётся слепым, а telemetry не превращается в историю пользователя.

Разрешённые агрегированные данные

  • CPU, память, диск, fd, conntrack и packet drops
  • ёмкость IP pool, max connections, pps, bps и число active sessions
  • heartbeat, версия, capabilities, peer quorum и relay proof status

Запрещённые данные

  • активность public IP клиента, destinations, DNS, domains, URL или browsing history
  • plaintext пакетов/сообщений, собеседники, social graph или MemChain plaintext
  • private keys, registration code, voucher secrets, wallet traffic или идентифицируемые credentials

Связанные материалы