OffshoreVps
Tutorial19 ott 20267 min di letturaDi il team di OffshoreVps

Come eseguire un nodo Lightning (LND) su un VPS

Installa LND su Ubuntu con Bitcoin Core come backend: configurazione, servizio systemd, backup di wallet e canali, regole del firewall e cosa proteggere.

Un nodo Lightning ti permette di inviare e ricevere pagamenti Bitcoin tramite canali di pagamento, e ha senso solo se resta online. Questo rende un VPS la casa naturale per un nodo del genere. Questa guida configura LND (Lightning Network Daemon) su Ubuntu o Debian, usando come backend un nodo Bitcoin Core sullo stesso server.

Finestra del terminale su un VPS che mostra i comandi usati per eseguire un nodo Lightning con LND, a partire da “sudo adduser --disabled-password --gecos "" lnd”
Il tipo di comandi che eseguirai sul tuo server in questa guida.

Scegli prima il tuo backend Bitcoin

LND non convalida Bitcoin da solo. Ha bisogno di uno di tre backend:

  • Bitcoin Core sullo stesso VPS. La scelta più privata e affidabile. Per LND basta un nodo pruned, che mantiene piccolo il disco. La nostra guida al nodo Bitcoin copre l'installazione.
  • Neutrino. Una modalità light client che richiede quasi nessun disco, ma si affida ad altri peer per i filtri dei blocchi ed è meno robusta.
  • Un nodo remoto di cui ti fidi. Va bene se ne gestisci già uno altrove. Non puntare mai LND a un nodo che non controlli se il tuo nodo custodisce fondi reali.

Per la maggior parte delle persone, un Bitcoin Core pruned sullo stesso server più LND è la configurazione solida più semplice. I due programmi convivono su un piano da 2-4 vCPU con 4-8 GB di RAM. Vedi i dimensionamenti nella nostra pagina hosting di nodi Lightning.

Passo 1: prepara il server

Parti da un VPS Ubuntu o Debian appena creato e segui come proteggere un nuovo VPS. Crea un utente normale per il nodo e non eseguire LND come root.

sudo adduser --disabled-password --gecos "" lnd
sudo usermod -aG bitcoin lnd   # lets LND read the bitcoind cookie file

Passo 2: fai parlare Bitcoin Core con LND

LND legge blocchi e transazioni da Bitcoin Core tramite ZeroMQ. Aggiungi queste righe a bitcoin.conf e riavvia bitcoind:

server=1
prune=20000
zmqpubrawblock=tcp://127.0.0.1:28332
zmqpubrawtx=tcp://127.0.0.1:28333
rpcbind=127.0.0.1
rpcallowip=127.0.0.1

Aspetta che il nodo Bitcoin finisca la prima sincronizzazione prima di continuare. LND non funziona con un nodo che sta ancora recuperando.

Passo 3: scarica LND

Scarica la release per la tua CPU dalla pagina ufficiale delle release lightningnetwork/lnd su GitHub. Verifica la firma e il file dei checksum prima di eseguire qualsiasi cosa, come spiegano le note di rilascio.

cd /tmp
wget https://github.com/lightningnetwork/lnd/releases/download/vVERSION/lnd-linux-amd64-vVERSION.tar.gz
tar xzf lnd-linux-amd64-vVERSION.tar.gz
sudo install -m 0755 lnd-linux-amd64-vVERSION/lnd lnd-linux-amd64-vVERSION/lncli /usr/local/bin/

Sostituisci VERSION con la release che hai verificato.

I passaggi di questa guida in ordine: 1. Scegli prima il backend Bitcoin; 2. prepara il server; 3. scarica LND; 4. configura LND; 5. proteggi il seed e il backup dei canali; 6. Firewall
I passaggi di questa guida, in ordine.

Passo 4: configura LND

Crea /home/lnd/.lnd/lnd.conf:

[Application Options]
alias=my-node
listen=0.0.0.0:9735
rpclisten=127.0.0.1:10009
restlisten=127.0.0.1:8080
maxpendingchannels=5

[Bitcoin]
bitcoin.active=1
bitcoin.mainnet=1
bitcoin.node=bitcoind

[Bitcoind]
bitcoind.rpchost=127.0.0.1:8332
bitcoind.rpccookie=/home/bitcoin/.bitcoin/.cookie
bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332
bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333

Modifica il percorso del cookie in base a dove lo conserva il tuo utente Bitcoin. Le porte gRPC e REST sono associate a localhost di proposito.

Passo 5: eseguilo come servizio

[Unit]
Description=LND
After=bitcoind.service
Requires=bitcoind.service

[Service]
User=lnd
ExecStart=/usr/local/bin/lnd
Restart=on-failure
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

Salvala come /etc/systemd/system/lnd.service, poi esegui sudo systemctl enable --now lnd. Crea il wallet una sola volta con lncli create.

Passo 6: proteggi il seed e il backup dei canali

lncli create stampa una seed phrase di 24 parole. Scrivila su carta e conservala offline. Il seed ripristina solo i tuoi fondi on-chain. Lo stato dei canali è separato, quindi conserva anche una copia di channel.backup (in ~/.lnd/data/chain/bitcoin/mainnet/) fuori dal server e aggiornala dopo ogni modifica ai canali. Non ripristinare mai una vecchia copia dell'intero database, perché può far scattare una penalità.

Firewall

Apri solo la porta 9735 se vuoi che altri nodi si colleghino a te. Tieni chiuse 10009 e 8080 verso internet. Leggi la guida all'hardening per il resto delle basi.