OffshoreVps
Tutoriels19 oct. 20267 min de lecturePar l’équipe OffshoreVps

Comment faire tourner un nœud Lightning (LND) sur un VPS

Installer LND sur Ubuntu avec Bitcoin Core comme backend : configuration, service systemd, sauvegarde du portefeuille et des canaux, règles de pare-feu et ce qu’il faut protéger.

Un nœud Lightning vous permet d'envoyer et de recevoir des paiements Bitcoin via des canaux de paiement, et il n'est utile que s'il reste en ligne. Cela fait d'un VPS un hébergement naturel. Ce guide installe LND (Lightning Network Daemon) sur Ubuntu ou Debian, en utilisant comme backend un nœud Bitcoin Core sur le même serveur.

Fenêtre de terminal sur un VPS montrant les commandes utilisées pour faire tourner un nœud Lightning avec LND, à commencer par « sudo adduser --disabled-password --gecos "" lnd »
Le type de commandes que vous exécuterez sur votre serveur dans ce guide.

Choisissez d'abord votre backend Bitcoin

LND ne valide pas Bitcoin par lui-même. Il a besoin de l'un de ces trois backends :

  • Bitcoin Core sur le même VPS. Le choix le plus privé et le plus fiable. Un nœud élagué suffit pour LND, ce qui garde le disque petit. Notre guide du nœud Bitcoin couvre l'installation.
  • Neutrino. Un mode client léger qui ne demande presque pas de disque, mais s'appuie sur d'autres pairs pour les filtres de blocs et est moins robuste.
  • Un nœud distant de confiance. Convient si vous en exécutez déjà un ailleurs. Ne pointez jamais LND vers un nœud que vous ne contrôlez pas lorsque le nœud détient de vrais fonds.

Pour la plupart des gens, un Bitcoin Core élagué sur le même serveur plus LND est la configuration solide la plus simple. Les deux programmes cohabitent sur une offre de 2 à 4 vCPU avec 4 à 8 Go de RAM. Consultez le dimensionnement sur notre page hébergement de nœud Lightning.

Étape 1 : préparer le serveur

Partez d'un VPS Ubuntu ou Debian vierge et suivez comment sécuriser un nouveau VPS. Créez un utilisateur normal pour le nœud et n'exécutez pas LND en tant que root.

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

Étape 2 : permettre à Bitcoin Core de communiquer avec LND

LND lit les blocs et les transactions depuis Bitcoin Core via ZeroMQ. Ajoutez ces lignes à bitcoin.conf et redémarrez 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

Attendez que le nœud Bitcoin ait terminé sa première synchronisation avant de continuer. LND ne fonctionnera pas avec un nœud qui est encore en train de rattraper son retard.

Étape 3 : télécharger LND

Récupérez la version correspondant à votre CPU sur la page officielle des versions lightningnetwork/lnd sur GitHub. Vérifiez la signature et le fichier de sommes de contrôle avant d'exécuter quoi que ce soit, comme l'expliquent les notes de version.

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/

Remplacez VERSION par la version que vous avez vérifiée.

Les étapes de ce guide dans l’ordre : 1. Choisir d’abord votre backend Bitcoin ; 2. préparer le serveur ; 3. télécharger LND ; 4. configurer LND ; 5. protéger la phrase de récupération et la sauvegarde des canaux ; 6. Pare-feu
Les étapes de ce guide, dans l’ordre.

Étape 4 : configurer LND

Créez /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

Adaptez le chemin du cookie à l'endroit où votre utilisateur Bitcoin le conserve. Les ports gRPC et REST sont volontairement liés à localhost.

Étape 5 : l’exécuter comme un service

[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

Enregistrez-le sous /etc/systemd/system/lnd.service, puis exécutez sudo systemctl enable --now lnd. Créez le portefeuille une seule fois avec lncli create.

Étape 6 : protéger la seed et la sauvegarde des canaux

lncli create affiche une phrase de récupération de 24 mots. Écrivez-la sur papier et conservez-la hors ligne. La seed ne restaure que vos fonds on-chain. L'état des canaux est distinct : conservez donc aussi une copie de channel.backup (dans ~/.lnd/data/chain/bitcoin/mainnet/) hors du serveur et actualisez-la après chaque modification de canal. Ne restaurez jamais une ancienne copie de la base de données complète, car cela peut déclencher une pénalité.

Pare-feu

N'ouvrez que le port 9735 si vous voulez que d'autres nœuds se connectent à vous. Gardez 10009 et 8080 fermés à Internet. Lisez le guide de durcissement pour le reste des bases.