Установка и регистрация децентрализованного узла конфиденциальности AeroNyx
Безопасно установите, зарегистрируйте, проверьте и обновите узел 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 и оператор узла, а не пользовательский контент. Код живёт недолго и используется только один раз.
- Войдите в Nodeboard.
- В Registration Codes создайте краткоживущий код для нужного оператора.
- Задайте имя узла и регион ISO 3166-1 alpha-2.
- Не публикуйте код в тикетах, снимках, shell history или открытых AI-чатах.
2. Получите официальный операторский скрипт
aeronyx-node.sh не является глобальной Linux-командой; он входит в официальный Rust-репозиторий AeroNyx. На новом сервере получите main и запускайте из корня репозитория.
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.
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 и просит подтверждение.
cd /opt/aeronyx/AeroNyx
sudo ./deploy/node/aeronyx-node.sh quickstart \
--node-name "Berlin1" \
--region "DE" \
--public-vpn
Автоматизация передаёт секрет одной строкой bounded stdin и использует --yes только после проверки плана. Анонимный pipe не помещает код в argv дочерних процессов.
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 командами.
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.
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.
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.
- Проверить официальный repository, branch, checkout и текущий commit.
- До изменений выполнить и показать
plan. - Передавать код только через скрытый prompt или bounded stdin.
- Сохранить identity/config и не перезаписывать persistent-файлы
/etc/aeronyx. - Перед restart проверить active sessions и остановиться без надёжного значения.
- Проверить local health, backend heartbeat, public reachability, signed discovery и Nodeboard.
- Честно сообщать 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