Cài đặt và đăng ký nút quyền riêng tư phi tập trung AeroNyx

AeroNyx18 tháng 6, 20265 phút đọc51 lượt xem

Cài đặt, đăng ký, xác minh và nâng cấp nút AeroNyx bằng điểm vào vận hành chính thức cùng mã Nodeboard dùng một lần; blind relay là lựa chọn riêng.

Đây là quy trình production được hỗ trợ cho nút mới. Nó dùng điểm vào vận hành duy nhất trong repository, liên kết danh tính bằng mã Nodeboard ngắn hạn, cài systemd và xác minh local data plane, backend heartbeat, signed discovery cùng public pool trước khi báo thành công. Process active chưa đủ để chứng minh nút đã tham gia mạng quyền riêng tư AeroNyx.

Bảng điều khiển nút: app.aeronyx.network

Mã nguồn mở: github.com/AeroNyxNetwork/AeroNyx

Trước khi bắt đầu

Dùng Linux host riêng có địa chỉ public ổn định. Kiểm tra cloud firewall, host firewall và mạng nhà cung cấp; không mở management API trực tiếp ra Internet.

Tài nguyênKhuyến nghị production
Hệ điều hànhUbuntu hoặc Debian hiện được hỗ trợ
CPUTối thiểu 2 core; cần thêm cho build hoặc pps cao
Bộ nhớKhuyến nghị 4 GB; dưới 2 GB sẽ cảnh báo/lỗi preflight
ĐĩaÍt nhất 20 GB trống cộng khoảng dự phòng Cargo và rollback
Mạng51820/UDP cho privacy data plane; 8422/TCP cho signed discovery và peer API
Quản trị8421/TCP chỉ localhost/mạng tin cậy; giới hạn nguồn SSH

1. Tạo mã đăng ký dùng một lần

Hệ thống đăng ký danh tính, capability và quan hệ vận hành của nút, không phải nội dung người dùng. Mã có thời hạn ngắn và chỉ dùng một lần.

  1. Đăng nhập Nodeboard.
  2. Mở Registration Codes và tạo mã ngắn hạn cho operator phù hợp.
  3. Chọn tên nút và vùng ISO 3166-1 alpha-2.
  4. Không đưa mã vào ticket, ảnh chụp, shell history hoặc hội thoại AI công khai.

2. Lấy script vận hành chính thức

aeronyx-node.sh không phải lệnh Linux toàn cục; nó thuộc repository Rust chính thức AeroNyx. Trên host mới, lấy main rồi chạy từ root repository.

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

Không clone đè thư mục có sẵn. Chỉ fast-forward khi tracked worktree sạch; nút production có chỉnh sửa local nên dùng commit-pinned isolated 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. Xem kế hoạch và chạy quickstart

Thay tên và quốc gia mẫu bằng giá trị thật. --public-vpn là opt-in rõ ràng; bỏ nó thì nút vẫn được đăng ký/quản lý nhưng không vào public pool. Chế độ tương tác ẩn mã, hiện resolved plan và yêu cầu xác nhận.

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

Automation phải truyền secret qua một dòng bounded stdin và chỉ dùng --yes sau khi plan được duyệt. Anonymous pipe giữ mã khỏi argv của child process.

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 và upgrade dùng chung host deployment lock. Không dùng --allow-dirty hay --skip-admission-check như đường tắt thông thường; chúng chỉ dành cho bảo trì khẩn cấp hoặc phục hồi cô lập đã phê duyệt.

4. Chứng minh nút đã được nhận vào mạng

Admission gate mặc định chờ tối đa 120 giây và chỉ ghi completed khi đủ bằng chứng áp dụng. Sau đó dùng các lệnh read-only để kiểm tra lại.

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/healthok: listener, TUN, forwarding, NAT, DNS và egress hoạt động.
  • Backend policy timestamp mới chứng minh signed management heartbeat đã round trip.
  • Discovery status và snapshot có verified signed descriptor và gossip round hoàn tất.
  • Nút public xuất hiện đúng backend UUID, visibility=public, VPN capability và online.
  • Tên, vùng, visibility, capacity và heartbeat trên Nodeboard khớp với nút.

Nút private không bắt buộc xuất hiện ở public pool nhưng vẫn phải qua local health, registered heartbeat và signed discovery. Boot đầu chậm thì dùng --admission-timeout 240, không bỏ kiểm tra.

Vai trò public và blind relay tùy chọn

Public privacy exit, ChatRelay và no-exit OnionMiddle là ba lựa chọn riêng. Chỉ quảng bá blind relay sau khi public endpoint 8422 truy cập được, config validation thành công và restart an toàn.

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 backup server.toml, chỉ đổi trường đích, validate và từ chối restart khi có active sessions. Nút mới phải tích lũy fresh reachability và path-proof; capability đã cấu hình chưa có nghĩa routeable ngay. Two-hop probe cần ba nút routeable khác nhau, thiếu thì blocked là kết quả đúng.

Vận hành hằng ngày và nâng cấp an toàn

Build và validate candidate trước mà không restart, sau đó nâng cấp trong maintenance window được duyệt. Không git pull thủ công rồi thay trực tiếp production binary.

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 kiểm tra lại active sessions sau build, trước promotion và ngay trước restart; không lấy được counter thì fail closed. Nó validate config/systemd, giữ binary/units cũ, atomic promotion và rollback nếu post-restart health lỗi. upgrade-status.json chỉ chứa metadata vận hành.

Hợp đồng cài đặt có AI hỗ trợ

Codex, Claude Code hoặc terminal agent khác có thể chạy nhưng phải là công cụ operator bị giới hạn, không tự suy đoán chỉ vì có root.

  1. Xác nhận repository chính thức, branch, checkout và current commit.
  2. Chạy và hiển thị plan trước mọi thay đổi.
  3. Chỉ truyền mã bằng hidden prompt hoặc bounded stdin.
  4. Giữ identity/config hiện có, không ghi đè file persistent trong /etc/aeronyx.
  5. Kiểm tra active sessions trước restart và dừng nếu dữ liệu không đáng tin.
  6. Xác minh local health, backend heartbeat, public reachability, signed discovery và Nodeboard.
  7. Báo đúng warning, blocked, rollback; không coi systemd active là thành công.

Ranh giới quyền riêng tư

Nút và Nodeboard chỉ xử lý bằng chứng vận hành tổng hợp cần thiết. Relay phải mù nội dung và telemetry không được trở thành lịch sử người dùng.

Dữ liệu vận hành tổng hợp được phép

  • CPU, memory, disk, fd, conntrack và packet drops
  • IP pool capacity, max connections, pps, bps và active session count
  • heartbeat, version, capability, peer quorum và relay proof status

Dữ liệu bị cấm

  • client public IP activity, destination, DNS, domain, URL hoặc browsing history
  • packet/message plaintext, chat peer, social graph hoặc MemChain plaintext
  • private key, registration code, voucher secret, wallet traffic hoặc credential nhận dạng được

Tài liệu liên quan