Bir AeroNyx düğümünü kurma ve kaydetme

AeroNyx11 dk okuma

Açık kaynaklı AeroNyx düğümünü depodaki quickstart komutuyla bir Linux sunucusuna kurun, tek kullanımlık bir Nodeboard koduyla kaydedin ve ağ kabulünü doğrulayın. Aktarım rollerini, izinsiz katılımı, TEE dağıtımını ve yapay zekâ destekli kurulumları da kapsar.

Bu kılavuz, açık kaynaklı AeroNyx düğüm yazılımını bir Linux sunucusuna kurar, tek kullanımlık bir kodla Nodeboard operatör hesabınıza kaydeder ve ağın düğümü kabul ettiğini denetler. Desteklenen yol, depodaki deploy/node/aeronyx-node.sh quickstart betiğidir; bu, Nodeboard'un sizin için ürettiği komutun aynısıdır.

Bir düğüm işletmeden önce Düğüm Operatörü Politikası'nı okuyun.

Başlamadan önce

ÖğeGereksinim
İşletim sistemisystemd kullanan Linux. Kurulum aracı paketleri apt-get (Debian, Ubuntu), dnf veya yum ile kurar.
ErişimBir root kabuğu. Bu kılavuzdaki her komut, önce sudo -i çalıştırıldığını varsayar.
TUN aygıtıVPN veri düzlemi için /dev/net/tun mevcut olmalıdır.
BellekKurulum aracı 2 GB'ın altında uyarı verir ve devam eder. Düğüm sunucuda kaynak koddan derlendiği için 4 GB veya üzeri daha güvenli bir seçimdir.
DiskKurulum aracı 4 GB'ın altında boş alanda uyarı verir ve devam eder. Derleme önbelleği ve yükseltme iş akışının sakladığı sürüm yedekleri için 20 GB veya üzeri ayırın.
Gelen bağlantı noktaları51820/UDP (VPN dinleyicisi) ve 8422/TCP (imzalı keşif ve eş API'si). Bunları bulut güvenlik duvarınızda açın; kurulum aracı gelen trafik güvenlik duvarı kurallarını değiştirmez.
Yalnızca yerel127.0.0.1:8421 yerel sağlık ve yönetim API'sidir. Bunu dışarıya açmayın.

Neden root: Depo /root/open/AeroNyx konumunda bulunur; kurulum aracı /etc/aeronyx ve /var/lib/aeronyx dizinlerini 700 kipiyle, server.toml dosyasını ise 600 kipiyle yazar. Bu yolları okuyan komutlar diğer kullanıcılar için başarısız olur ve Git, root'a ait bir çalışma kopyasını başka bir hesaptan okumayı reddeder ("dubious ownership").

quickstart ne yapar

quickstart dört adım çalıştırır ve siz onaylayana kadar ana makinede herhangi bir değişiklik yapmadan önce durur:

  1. Çözümlenmiş kurulum planını yazdırır (salt okunur).
  2. INSTALL yazmanızı bekler. Enter'a basmak işlemi güvenli biçimde durdurur.
  3. Ön kontrolleri çalıştırır, paketleri ve depoda sabitlenmiş Rust araç zincirini kurar, mevcut değilse /etc/aeronyx/server.toml dosyasını yazar (mevcut bir dosya korunur), IP yönlendirmeyi ve NAT'ı ayarlar, düğümü derler, aeronyx-server systemd birimini kurar, düğüm kimliğini kodunuzla kaydeder, hizmeti başlatır ve ağ kabulü için 120 saniyeye kadar bekler.
  4. status ve bir health --json özeti yazdırır.

Kabul beklemesi şunları denetler: yerel sağlığın ok bildirmesi, arka ucun güncel bir politika döndürmesi (kalp atışı gidiş-dönüşünün çalışması), keşfin en az bir doğrulanmış imzalı eşe sahip olması ve bir dedikodu (gossip) turunu tamamlamış olması ve genel düğümler için düğümün genel havuzda listelenmesi.

Adım 1: bir kayıt kodu oluşturun

  1. Nodeboard'da oturum açın ve Registration Codes sayfasını açın.
  2. Generate Code seçeneğini seçin.
  3. Kodu gizli tutun. Kodun süresi 15 dakika sonra dolar, yalnızca bir kez çalışır ve yeni düğümü kodu oluşturan hesaba bağlar.

Nodeboard ardından bir quickstart komutu, adım adım önizleme ve kurulum komutları, bir durum komutu ve bir yapay zekâ asistanı istemi gösterir. Install Progress sütunu, kurulum aracını not_started → planning → running → completed | failed aşamaları boyunca izler.

Arka uç kodu, kurulum aracı derlemeden sonra gelen kayıt adımına ulaştığında denetler. Küçük bir sunucuda ilk derleme 15 dakikadan uzun sürebilir. Bu durumda kayıt, kodun süresi dolduğu için başarısız olursa yeni bir kod oluşturun ve quickstart'ı yeniden çalıştırın; ikinci çalıştırma derleme önbelleğini yeniden kullanır.

Adım 2: depoyu edinin veya güncelleyin

aeronyx-node.sh bir sistem komutu değildir. Depoyla birlikte gelir. Nodeboard'un kullandığı klonlama veya güncelleme satırı şudur:

bash
mkdir -p /root/open && cd /root/open
if [ -d AeroNyx/.git ]; then cd AeroNyx && git fetch origin main && git checkout main && git pull --ff-only origin main; else git clone https://github.com/AeroNyxNetwork/AeroNyx.git AeroNyx && cd AeroNyx; fi
git rev-parse HEAD

Betiğe her zaman --repo-dir "$PWD" (veya --repo-dir /root/open/AeroNyx) iletin. Bu olmadan install, upgrade, health ve status varsayılan olarak /opt/aeronyx/AeroNyx konumunu kullanır.

Adım 3: quickstart'ı çalıştırın

quickstart'ı komut satırında kod vermeden çalıştırın. Bir terminalde çalıştığında kodu gizli bir istemle sorar; böylece kod ekrana yansıtılmaz, kabuk geçmişinde saklanmaz ve bir süreç argümanı olarak iletilmez:

bash
cd /root/open/AeroNyx
./deploy/node/aeronyx-node.sh quickstart --repo-dir "$PWD" --branch main --quick \
  --node-name "Example1" --region DE --public-vpn
  • --node-name, Nodeboard'da ve VPN düğüm listesinde gösterilen addır.
  • --region, ISO 3166-1 alpha-2 ülke kodudur.
  • --public-vpn, düğümü genel VPN havuzunda yayımlar. Düğümü özel tutmak için bunu atlayın.

Nodeboard registration code: isteminde kodu yapıştırın ve Enter'a basın. Planı inceleyin, ardından INSTALL yazın.

Nodeboard'un ürettiği komut hakkında

Nodeboard'un quickstart komutu kodu satır içine yerleştirir; örneğin AERONYX_REGISTRATION_CODE='<code>' ./deploy/node/aeronyx-node.sh quickstart --repo-dir "$PWD" --branch main --quick. Bu çalışır, ancak kod kabuk geçmişinize kaydedilir. Bunu kullanırsanız:

  • echo "$HISTCONTROL" değerini kontrol edin. ignorespace veya ignoreboth içeriyorsa komutu bir boşlukla başlatın; Bash bu durumda komutu kaydetmez.
  • Aksi takdirde girdiyi sonradan history -d <number> ile kaldırın.

Kod tek kullanımlıktır ve 15 dakika sonra süresi dolar; bu da açığa çıkma riskini sınırlar, ancak kodu destek taleplerine, ekran görüntülerine veya sohbetlere yapıştırmayın.

Etkileşimsiz kurulum

Otomasyon için önce önizleme yapın, ardından kodu standart girdi üzerinden iletin. read -rs kodu ekrandan ve geçmişten uzak tutar:

bash
cd /root/open/AeroNyx
./deploy/node/aeronyx-node.sh plan --repo-dir "$PWD" --branch main
read -rs AERONYX_CODE
printf '%s\n' "$AERONYX_CODE" | ./deploy/node/aeronyx-node.sh install \
  --repo-dir "$PWD" --branch main --quick --registration-code-stdin \
  --node-name "Example1" --region DE --public-vpn
unset AERONYX_CODE

install --quick, INSTALL yazmanızı istemez. Bunu yalnızca planı inceledikten sonra kullanın.

Adım 4: düğümü doğrulayın

bash
cd /root/open/AeroNyx
systemctl is-active aeronyx-server
./deploy/node/aeronyx-node.sh status --repo-dir "$PWD"
./deploy/node/aeronyx-node.sh health --repo-dir "$PWD" --json

Sağlıklı yeni bir düğüm şunları gösterir:

  • aeronyx-server durumu active olur ve health, fail=0 bildirir
  • kurulum aracı health=ok, management=fresh ve discovery=ready (genel bir düğüm için ayrıca public_pool=online) ile birlikte [OK] Node admission accepted yazdırmıştır
  • status, operator_status=ok ve bir sonraki adımı yazdırır
  • health --json çıktısının son JSON satırında "success":true bulunur; uyarılar checks altında görünür

Nodeboard'da kod completed olarak görünür ve düğüm; adı, bölgesi, görünürlüğü ve güncel bir kalp atışıyla birlikte Nodes altında yer alır. Düğüm ayrıntı sayfası ready, watch, blocked veya waiting değerinde bir Capacity Decision gösterir.

Günlük kontroller, günlükler, yükseltmeler ve geri alma için Bir AeroNyx düğümünü çalıştırma ve denetleme sayfasına bakın.

İsteğe bağlı: şifreli aktarıma katılma

Bir VPN düğümü ile bir şifreli aktarım düğümü ayrı seçimlerdir. Aktarıma katılımın üç bölümü vardır: erişilebilir bir genel eş API'si, kör ChatRelay depola-ve-ilet rolü ve çıkış yapmayan OnionMiddle rolü. Her iki rol de varsayılan yapılandırmada kapalıdır.

  1. 8422/TCP bağlantı noktasının internetten erişilebilir olduğundan emin olun.

  2. /etc/aeronyx/server.toml dosyasını düzenleyin (örneğin nano /etc/aeronyx/server.toml) ve genel adresinizi kullanarak [discovery] bölümünde şu anahtarları ayarlayın:

    toml
    public_endpoint = "http://203.0.113.10:8422"
    public_discovery = true
    region = "DE"
    
  3. Dosyayı doğrulayın:

    bash
    cd /root/open/AeroNyx
    ./target/release/aeronyx-server validate -c /etc/aeronyx/server.toml
    
  4. ChatRelay'i yeniden başlatmadan etkinleştirin. Yardımcı araç yapılandırmayı yedekler, ENABLE CHATRELAY yazmanızı ister, doğrular ve doğrulama başarısız olursa yedeği geri yükler:

    bash
    ./deploy/node/aeronyx-node.sh chat-relay --repo-dir "$PWD" --enable-chat-relay
    
  5. OnionMiddle'ı etkinleştirin ve tek bir korumalı adımda yeniden başlatın. Bu adım ENABLE ONIONMIDDLE yazmanızı ister ve düğümde etkin oturumlar varsa veya düğüm bir oturum sayısı bildiremiyorsa yeniden başlatmayı reddeder:

    bash
    ./deploy/node/aeronyx-node.sh onion-middle --repo-dir "$PWD" --enable-onion-middle --restart
    

    Reddederse Nodeboard Settings bölümünde düğüm için Maintenance Mode'u açın, etkin oturumlar sıfıra inene kadar bekleyin ve yeniden çalıştırın. --yes eklemeyin: bu, onayı ve etkin oturum korumasını atlar.

  6. Aktarım hazırlığını denetleyin:

    bash
    ./deploy/node/aeronyx-node.sh relay-probe --repo-dir "$PWD" --two-hop --json
    

Bir rolü etkinleştirmek, rotalar için kullanılmakla aynı şey değildir. Bir düğüm ancak eşler onu erişilebilir olarak gördükten ve güncel yol kanıtı (path-proof) verisi oluştuktan sonra rota adayı olur. Düğüm keşfi ve şifreli aktarım sayfasına bakın.

Nodeboard olmadan katılma

join, düğümü kurar ve imzalı tanımlayıcısını, kayıt kodu veya Nodeboard hesabı olmadan Stage-A kabulü için bir tohum (seed) düğüme gönderir:

bash
cd /root/open/AeroNyx
./deploy/node/aeronyx-node.sh join --repo-dir "$PWD" \
  --seed http://SEED_PUBLIC_IP:8422 \
  --public-endpoint http://YOUR_PUBLIC_IP:8422 --json
  • --seed 1 ile 8 arasında genel tohum düğüm alır; istek ilkine gider. --public-endpoint, düğümünüzün erişilebilir eş API'sidir. Her ikisi de ana bilgisayar adı değil, genel bir IP adresi içeren http veya https URL'leri olmalıdır.
  • systemd kullanan Linux'ta root olarak çalışır ve Python 3.11 veya üzerini ya da tomli paketiyle birlikte python3 gerektirir.
  • Altı [discovery] değeri (enabled, advertise_self, public_discovery, gossip_enabled, public_endpoint, seed_endpoints) ayarlar ve dosyanın geri kalanına dokunmaz.
  • Hizmet farklı ayarlarla zaten çalışıyorsa hiçbir şeyi değiştirmeden durur.
  • --commit <40-hex SHA> tam kaynak commit'ini sabitler. --dry-run planlanan sonucu değişiklik yapmadan yazdırır. --check-only zaten katılmış bir düğümü hiçbir şey göndermeden doğrular.

Başarılı bir sonuç, "route_authority":false ve "route_ready":false ile birlikte "admission_stage":"stage_a_candidate" olur. Stage-A kabulü, tohumun tanımlayıcınızı kabul ettiği anlamına gelir. Düğümü yönlendirilebilir yapmaz, Nodeboard'da veya VPN havuzunda listelemez ve ödeme için uygun hâle getirmez. Tohum HTTPS kullanmadığı sürece tohumun yanıtı düz HTTP üzerinden iletilir; bu nedenle kriptografik bir makbuz değildir.

Docker ile TEE dağıtımı

Depo ayrıca dstack çalıştıran gizli sanal makineler (Phala Cloud veya kendi barındırdığınız Intel TDX) için bir konteyner dağıtımı içerir: deploy/node/Dockerfile, deploy/node/compose.tee.yaml, deploy/node/server.tee.toml ve deploy/node/tee-entrypoint.sh.

Bu rol bir VPN düğümü değildir:

  • vpn.enabled = false: TUN aygıtı, DNS proxy'si ve MemChain yoktur. Konteyner tüm Linux yetenekleri (capabilities) bırakılmış hâlde ve no-new-privileges ile çalışır.
  • Onion aktarıcısını (advertise_onion_middle = true), ChatRelay'i ve anonim posta kutusunu çalıştırır ve yalnızca 8422 bağlantı noktasını açar.
  • Düğüm kimliği dstack anahtar yönetim hizmetinden gelir ([server_key] source = "dstack"). Anahtar dosyası yoktur.
  • Sabitlenmiş tohum düğümleri. server.tee.toml, discovery.pinned_seeds ile dört tohum düğümünü sabitler. Operatör anlık görüntüsü olmayan bir düğümün başka güven çıpası yoktur ve her sabitlenmiş düğüme yalnızca kimliğe bağlı TLS üzerinden ulaşılır. Sabitlemeleri koruyun veya değiştirin; bkz. Düğüm Keşfi ve Şifreli Çok Atlamalı Aktarım.

Dağıtmak için:

  1. ghcr.io/aeronyxnetwork/aeronyx-node üzerinden bir sürüm imajı seçin. CI, node-v* etiketlerinden linux/amd64 imajları derler ve bir derleme kaynağı (build-provenance) onayı ekler. Özeti (digest) bulun; örneğin docker buildx imagetools inspect ghcr.io/aeronyxnetwork/aeronyx-node:<tag> ile.
  2. compose.tee.yaml içinde IMAGE_DIGEST değerini bu özetle değiştirin. Her zaman etiketle değil, özetle sabitleyin; bir dstack sanal makinesinde compose dosyası ölçülen dağıtımın bir parçasıdır.
  3. AERONYX_PUBLIC_ENDPOINT değerini, dstack ağ geçidinin 8422 bağlantı noktasına atadığı https:// kökenine ayarlayın. Giriş noktası (entrypoint) başka herhangi bir şemayı reddeder.
  4. İsteğe bağlı olarak AERONYX_REGION değerini ayarlayın (varsayılan tee).
  5. Yalnızca ilk başlatma için AERONYX_REGISTRATION_CODE değerini şifreli bir gizli bilgi (secret) olarak sağlayın. Giriş noktası bunu aeronyx-server register --code-stdin komutuna aktarır. /var/lib/aeronyx biriminde node_info.json oluştuktan sonra koda artık gerek kalmaz.

Konteyner aeronyx-node.sh içermez. Bir TEE düğümünü Nodeboard'da ve genel keşif API'si üzerinden izleyin.

Bir yapay zekâ kodlama asistanıyla kurulum

Claude Code, Codex, OpenClaw veya Hermes gibi terminal asistanları bu prosedürü çalıştırabilir. Nodeboard, her kodun yanında hazır bir AI assistant prompt sunar. Hangi asistanı kullanırsanız kullanın şu kurallar geçerlidir.

İnsan operatör:

  • sunucuyu sağlar ve ana makinedeki her değişikliği onaylar
  • planı okuduktan sonra INSTALL komutunu bizzat yazar
  • kayıt kodunu gizli tutar. Nodeboard'un yapay zekâ istemi kodu içerir; bu nedenle istemi yapıştırmak kodu asistanın sağlayıcısıyla paylaşmak demektir. Bunu önlemek için asistanın depoyu güncellemesine ve kod içermeyen plan komutunu çalıştırmasına izin verin, ardından quickstart komutunu kendiniz çalıştırıp kodu gizli isteme yazın. Doğrulama için işi asistana geri devredin.

Asistan şunları yapmalıdır:

  • yalnızca github.com/AeroNyxNetwork/AeroNyx içindeki deploy/node/aeronyx-node.sh betiğini kullanmalı ve --repo-dir iletmelidir
  • yalnızca betiğin belgelediği seçenekleri kullanmalıdır (./deploy/node/aeronyx-node.sh help). Bilinmeyen seçenekler başarısız olur; örneğin --api-base, kurulum aracını Unknown option hatasıyla durdurur.
  • ana makinede herhangi bir değişiklikten önce planı göstermeli veya özetlemeli ve onay beklemelidir
  • kurulum veya yükseltmeden sonra status çalıştırmalı ve operator_status, operator_title, operator_detail ile operator_next_step değerlerini bildirmeli, daha fazla ayrıntı gerektiğinde ise health --json çalıştırmalıdır
  • uyarıları uyarı olarak bildirmeli ve yalnızca çalışan bir sürece bakarak başarı ilan etmemelidir
  • siz bir bakım penceresinde yeniden başlatmayı onaylamadıkça upgrade --no-restart seçeneğini tercih etmelidir
  • açık onayınız olmadan asla --force veya --yes kullanmamalı ve etkin oturumları olan bir düğümü asla yeniden başlatmamalıdır
  • kayıt kodlarını, özel anahtarları, API gizli bilgilerini, istemcilerin genel IP adreslerini, hedefleri, DNS içeriklerini, paket yüklerini veya sohbet düz metnini asla yazdırmamalıdır

Tamamlandı demek şu anlama gelir:

  • depo main üzerindedir ve commit bildirilmiştir
  • quickstart veya install Node admission accepted ile tamamlanmıştır
  • status, operator_status=ok bildirir veya her uyarı açıklanmıştır
  • health --json, "success":true bildirir
  • Nodeboard düğümü güncel bir kalp atışı ve bir Capacity Decision ile gösterir
  • Alerts / Events → Incident Closure bölümünde düğüm için incelenmemiş open öğe yoktur
  • Nodeboard'daki düğüm ayrıntı sayfasını bilirsiniz

Kayıtlı bir düğüm neleri bildirir

Yerel tanılama komutları (status, health, relay-probe) yalnızca toplu değerleri yazdırır: hizmet durumu, kapasite, paket sayaçları, keşif hazırlığı ve kanıt sonuçları.

Kayıtlı bir VPN düğümü ayrıca her VPN oturumunu AeroNyx arka ucuna bildirir: oturum kimliği, istemcinin anahtarı (client_wallet), tünelin sanal IP'si, bayt sayıları, zamanlama ve bağlantı kalitesi. İstemcilerin genel IP adreslerini, hedefleri, DNS içeriklerini veya paket yüklerini bildirmez. Operatörler kendi düğümlerine ait bu oturum kayıtlarını Nodeboard'da görebilir; Nodeboard operatör konsolu kılavuzu sayfasına bakın. Her VPN sunucusunda olduğu gibi düğümün kendisi istemci trafiğini çıkışta açık metin olarak işler; bu nedenle operatörler Düğüm Operatörü Politikası'na uymak zorundadır.

İlgili sayfalar

<!-- faq:start -->

Sıkça sorulan sorular

aeronyx-node.sh nereden gelir?

AeroNyx düğüm deposunda deploy/node/aeronyx-node.sh konumunda bulunan bir dosyadır, bir sistem komutu değildir. https://github.com/AeroNyxNetwork/AeroNyx deposunu /root/open/AeroNyx konumuna klonlayın veya güncelleyin ve betiği oradan --repo-dir "$PWD" ile çalıştırın.

Kayıt kodunu kabuk geçmişimin dışında nasıl tutarım?

quickstart komutunu kod olmadan çalıştırın ve kodu gizli Nodeboard registration code: istemine yazın. Betikler için kodu read -rs ile okuyun ve install --quick --registration-code-stdin komutuna aktarın.

Betik neden /opt/aeronyx/AeroNyx konumuna bakıyor?

Bu, betiğin --repo-dir için yerleşik varsayılanıdır; Nodeboard ise /root/open/AeroNyx konumuna klonlar. install, health, status ve upgrade komutlarının hepsinin hizmetin çalıştığı çalışma kopyasını kullanması için her komutta --repo-dir iletin.

Kodumun süresi kurulum sırasında dolarsa ne olur?

Kayıt adımı başarısız olur ve kurulum aracı hizmeti başlatmadan önce durur. Kod derlemeden sonra denetlendiği için yeni bir kod oluşturun ve quickstart'ı yeniden çalıştırın; ikinci çalıştırma derleme önbelleğini yeniden kullanır.

Bir düğüm çalıştırmak için Nodeboard gerekli mi?

Hayır, join bir düğümü kurar ve onu kayıt kodu olmadan Stage-A kabulü için gönderir. Katılmış bir düğüm yönlendirilebilir değildir, Nodeboard'da veya VPN havuzunda listelenmez ve ödeme için uygun değildir.

Bir düğümü gizli bir sanal makinede çalıştırabilir miyim?

Evet, depo dstack gizli sanal makineleri için onion aktarıcısını, ChatRelay'i ve anonim posta kutusunu çalıştıran bir Docker dağıtımı içerir. VPN hizmeti sağlamaz ve kimliğini dstack anahtar yönetim hizmetinden alır.

<!-- faq:end -->