Vai al contenuto

Configurazione di DoubleZero

This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon.

Terminologia

Nuovo a DoubleZero? Consulta il Glossario per le definizioni di termini come doublezerod, IBRL, DZD e altri.

Connettendosi a DoubleZero, accetti i Termini di Servizio DoubleZero

Prerequisiti

Warning

Per i validatori: DoubleZero deve essere installato direttamente sull'host del validatore, non in un container.

  • Connessione internet con indirizzo IP pubblico (senza NAT)
  • Server x86_64
  • Sistema operativo supportato: Ubuntu 22.04+ o Debian 11+, oppure Rocky Linux / RHEL 8+
  • Privilegi root o sudo sul server che esegue DoubleZero
  • Facoltativo ma utile: jq e curl per il debug

Connessione a DoubleZero

Il Testnet DoubleZero e il Mainnet Beta DoubleZero sono reti fisicamente distinte. Scegli la rete appropriata durante l'installazione.

Unendoti a DoubleZero, stabilisci una identità DoubleZero (una chiave pubblica chiamata DoubleZero ID). Questa chiave è uno dei modi in cui DoubleZero identifica la tua macchina.

1. Installa il pacchetto DoubleZero

Versione Corrente

Pacchetto Mainnet Beta Testnet
doublezero MAINNET_CLIENT_VERSION TESTNET_CLIENT_VERSION

Segui le istruzioni seguenti in base al tuo sistema operativo:

Ubuntu / Debian

Deployment corrente raccomandato per Mainnet Beta:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash
sudo apt-get install doublezero

Deployment corrente raccomandato per Testnet:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.deb.sh | sudo -E bash
sudo apt-get install doublezero

Rocky Linux / RHEL

Deployment corrente raccomandato per Mainnet Beta:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.rpm.sh | sudo -E bash
sudo yum install doublezero

Deployment corrente raccomandato per Testnet:

curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero-testnet/setup.rpm.sh | sudo -E bash
sudo yum install doublezero

Solo utenti esistenti: Passaggio del pacchetto da Testnet a Mainnet Beta, o da Mainnet Beta a Testnet

Installando dai repository di pacchetti sopra, il Testnet DoubleZero o il Mainnet Beta DoubleZero hanno ciascuno il proprio repository dedicato. Se ad un certo punto devi cambiare rete, dovrai rimuovere il repository del pacchetto precedentemente installato e aggiornare al repository target.

Questo esempio mostra la migrazione da Testnet a Mainnet Beta.

Seguendo gli stessi passaggi ma sostituendo il passaggio 3 con il comando di installazione Testnet sopra, è possibile completare la migrazione da Mainnet Beta a Testnet.

  1. Trova i vecchi file del repository

    Prima, identifica i file di configurazione del repository DoubleZero esistenti sul sistema:

    find /etc/apt | grep doublezero

    find /usr/share/keyrings/ | grep doublezero

  2. Rimuovi i vecchi file del repository

    Rimuovi i vecchi file del repository trovati nel passaggio precedente. Ad esempio:

    sudo rm /etc/apt/sources.list.d/malbeclabs-doublezero.list
    sudo rm /usr/share/keyrings/malbeclabs-doublezero-archive-keyring.gpg
    
  3. Installa dal nuovo repository

    Aggiungi il nuovo repository Mainnet Beta e installa l'ultimo pacchetto:

    curl -1sLf https://dl.cloudsmith.io/public/malbeclabs/doublezero/setup.deb.sh | sudo -E bash
    sudo apt-get install doublezero=<versione_corrente_raccomandata_sopra>
    

Controlla lo stato di doublezerod

Dopo l'installazione del pacchetto, verrà installata, abilitata e avviata una nuova unità systemd. Per controllare lo stato, esegui il seguente comando:

sudo systemctl status doublezerod

Configurazione Firewall per GRE e BGP

DoubleZero utilizza tunnel GRE (protocollo IP 47) e routing BGP (tcp/179 per indirizzi link-local). Assicurati che il tuo firewall consenta questi protocolli:

Consenti GRE e BGP con iptables:

sudo iptables -A INPUT -p gre -j ACCEPT
sudo iptables -A OUTPUT -p gre -j ACCEPT
sudo iptables -A INPUT -i doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero0 -s 169.254.0.0/16 -d 169.254.0.0/16 -p tcp --dport 179 -j ACCEPT

O consenti GRE e BGP con UFW:

sudo ufw allow proto gre from any to any
sudo ufw allow in on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp
sudo ufw allow out on doublezero0 from 169.254.0.0/16 to 169.254.0.0/16 port 179 proto tcp

2. Crea una Nuova Identità DoubleZero

Usa il seguente comando per creare un'identità DoubleZero sul server:

doublezero keygen

Info

Se hai un ID esistente che vuoi utilizzare, puoi seguire i passaggi opzionali seguenti.

Crea la directory di configurazione di doublezerod

mkdir -p ~/.config/doublezero

Copia o collega il file id.json che vuoi usare in DoubleZero nella directory di configurazione doublezero.

sudo cp </path/to/id.json> ~/.config/doublezero/

3. Ottieni l'Identità DoubleZero del Server

Conferma la tua identità DoubleZero. Questa identità viene utilizzata per creare la connessione tra la tua macchina e DoubleZero.

doublezero address

Output:

YourDoubleZeroAddress11111111111111111111111111111

4. Conferma che doublezerod ha Rilevato i Dispositivi DZ

Prima di connetterti, conferma che doublezerod ha rilevato e pingato ogni switch DZ testnet disponibile:

doublezero latency

Esempio di output:

$ doublezero latency
 pubkey                                       | name      | ip             | min      | max      | avg      | reachable
 96AfeBT6UqUmREmPeFZxw6PbLrbfET51NxBFCCsVAnek | la2-dz01  | 207.45.216.134 |   0.38ms |   0.45ms |   0.42ms | true
 CCTSmqMkxJh3Zpa9gQ8rCzhY7GiTqK7KnSLBYrRriuan | ny5-dz01  | 64.86.249.22   |  68.81ms |  68.87ms |  68.85ms | true
 BX6DYCzJt3XKRc1Z3N8AMSSqctV6aDdJryFMGThNSxDn | ty2-dz01  | 180.87.154.78  | 112.16ms | 112.25ms | 112.22ms | true
 55tfaZ1kRGxugv7MAuinXP4rHATcGTbNyEKrNsbuVLx2 | ld4-dz01  | 195.219.120.66 | 138.15ms | 138.21ms | 138.17ms | true
 3uGKPEjinn74vd9LHtC4VJvAMAZZgU9qX9rPxtc6pF2k | ams-dz001 | 195.219.138.50 | 141.84ms | 141.97ms | 141.91ms | true
 65DqsEiFucoFWPLHnwbVHY1mp3d7MNM2gNjDTgtYZtFQ | frk-dz01  | 195.219.220.58 | 143.52ms | 143.62ms | 143.58ms | true
 9uhh2D5c14WJjbwgM7BudztdoPZYCjbvqcTPgEKtTMZE | sg1-dz01  | 180.87.102.98  | 176.66ms | 176.76ms | 176.72ms | true

Se i dispositivi non appaiono nell'output, attendi 10-20 secondi e riprova.

5. Disconnettiti da DoubleZero

La sezione successiva configurerà l'ambiente DoubleZero. Per garantire il successo, disconnetti la sessione corrente. Questo evita problemi con più tunnel aperti sulla macchina.

Conferma

doublezero status

Se lo stato è up, esegui:

doublezero disconnect

Passo Successivo: Tenant

La connessione a DoubleZero varia in base al caso d'uso. In DoubleZero, i tenant sono gruppi con profili utente simili. Ad esempio: blockchain, livelli di trasferimento dati, ecc.

Seleziona il Tenant e Continua qui

Opzionale: Abilitare le Metriche Prometheus

Gli operatori che conoscono le metriche Prometheus potrebbero voler abilitarle per il monitoraggio DoubleZero. Questo ti permetterà di ottenere informazioni sulle prestazioni del client DoubleZero, sullo stato della connessione e sulla salute operativa.

Metriche Disponibili

DoubleZero espone diverse metriche chiave: - Informazioni di build: versione, hash commit, data di build - Stato della sessione: se la sessione DoubleZero è attiva - Metriche di connessione: latenza e informazioni di connessione - Dati di prestazione: throughput e tassi di errore

Abilitazione delle Metriche Prometheus

Per abilitare le metriche Prometheus sul client DoubleZero, segui questi passaggi:

1. Modifica il comando di avvio del servizio systemd doublezerod

Crea o modifica la configurazione di override systemd:

sudo mkdir -p /etc/systemd/system/doublezerod.service.d/
sudo nano /etc/systemd/system/doublezerod.service.d/override.conf

Sostituisci con questa configurazione:

Il flag -env deve puntare a testnet o mainnet-beta a seconda della rete da cui vuoi raccogliere dati. Nel blocco di esempio viene utilizzato testnet. Se necessario, può essere cambiato in mainnet-beta.

[Service]
ExecStart=
ExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env testnet -metrics-enable -metrics-addr localhost:2113

2. Ricarica e riavvia il servizio

sudo systemctl daemon-reload
sudo systemctl restart doublezerod
sudo systemctl status doublezerod

3. Conferma che le metriche siano disponibili

Conferma che l'endpoint delle metriche stia rispondendo:

curl -s localhost:2113/metrics | grep doublezero

Output atteso:

# HELP doublezero_build_info Build information of the client
# TYPE doublezero_build_info gauge
doublezero_build_info{commit="0d684e1b",date="2025-09-10T16:30:25Z",version="0.6.4"} 1
# HELP doublezero_session_is_up Status of session to doublezero
# TYPE doublezero_session_is_up gauge
doublezero_session_is_up 0

Risoluzione dei Problemi

Se le metriche non vengono visualizzate:

  1. Controlla lo stato del servizio: sudo systemctl status doublezerod
  2. Verifica la configurazione: sudo systemctl cat doublezerod
  3. Controlla i log: sudo journalctl -u doublezerod -f
  4. Testa l'endpoint: curl -v localhost:2113/metrics
  5. Controlla la porta: netstat -tlnp | grep 2113

Configurazione del Server Prometheus

La configurazione e la sicurezza esulano dall'ambito di questo documento. Grafana è un'ottima opzione per la visualizzazione, e la documentazione Grafana qui descrive come raccogliere metriche Prometheus.

Dashboard Grafana (Opzionale)

Per la visualizzazione, puoi creare una dashboard Grafana con le metriche DoubleZero. I pannelli comuni includono: - Stato della sessione nel tempo - Informazioni di build - Tendenze della latenza di connessione - Monitoraggio del tasso di errore