Ce tutoriel a été fait à la demande de Telmachtar !
Il m'avait également demandé un tutoriel sur la reproduction des cochons en milieu aquatique. Je n'ai jamais compris pourquoi.
Aujourd'hui nous allons parler de NetBird !
NetBird est une plate-forme open source composée d'un ensemble de composants, responsables de la gestion des connexions peer-to-peer, du tunneling, de l'authentification et de la gestion du réseau.
Vous pouvez l'installer sur une VM à la maison mais aussi sur un VPS, dans ce cas, vous allez pouvoir, sans ouvrir de ports sur votre modem à la maison, joindre par VPN votre serveur. Ou vos serveurs. Peu importe, taillez votre instance selon vos besoins. Basé sur WireGuard, c'est rapide comme l'éclair !

⚡ Caractéristiques
- Déploiement rapide et facile.
- Multiplateforme.
- Vitesse maximale avec WireGuard®.
- Pas de passerelles VPN.
- Évolutif.
- Gestion DNS.
- Open source et auto-hébergé.
🗒️ Prérequis
- Une machine virtuelle Linux, dans cet exemple, Debian, avec au moins 1 processeur et 2 Go de mémoire.
- La VM doit être accessible publiquement sur les ports TCP 80, 443, 33073, 10000 et 33080 ; et les ports UDP : 3478, 49152-65535.
- Un nom de domaine pointant vers la VM avec une entrée de type A.
- Docker et docker-compose d'installé.
- Avoir sa VM bien à jour :
apt update && apt upgrade -y
- Installer jq :
apt install jq
- Installer curl :
apt install curl
💾 L'installation
- Lancez le script fourni par NetBird :
export NETBIRD_DOMAIN=belginuxtuto.ovh; curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started-with-zitadel.sh | bash
- Remplacez belginuxtuto.ovh par votre domaine ou sous-domaine.
Laissez le script allez jusqu'au bout, vous devez voir ceci :

Notez bien votre login et password.
Appuyez sur CTRL et cliquez gauche avec votre souris sur le lien du domaine pour ouvrir la page Web de votre instance.
🔧 Terminer l'installation
Lorsque vous lancez NetBird pour la première fois, quelques petites étapes avant de profiter de votre instance.
Entrez le login qui vous a été fourni, cliquez sur Suivant pour continuer :

Entrez le password fourni et cliquez sur Suivant :

Choisissez votre méthode d'authentification à 2 facteurs ou cliquez sur Passer pour la configurer plus tard. Cliquez sur Suivant pour continuer :

Maintenant il faudra changer le mot de passe fourni par défaut :

- Ancien mot de passe : Indiquez le mot de passe fourni initialement.
- Nouveau mot de passe : Indiquez un nouveau mot de passe, fort, de préférence.
- Confirmation du mot de passe : Confirmez votre nouveau mot de passe.
Cliquez sur Suivant pour continuer.
Et on termine en cliquant sur... Oui, Suivant :

Bravo ! Vous voilà sur votre instance NetBird :

🍒 Ajouter des pairs
Dans le menu latéral gauche, cliquez sur :

Ensuite sur :

Vous arriverez sur cette fenêtre :

Dans cette exemple, je vais relier une VM en local (sous Debian server) où je fais des tests et où je prépare les tutoriels, sur mon ordinateur qui tourne sous Debian 12 et sur mon smartphone tournant sous Android. En avant !
Sur Debian Desktop
Il faut veiller à avoir curl d'installé :
apt install curl
Ensuite il faut installer NetBird avec la commande indiquée au point 1 :

Exécutez NetBird et connectez-vous à l'instance par le navigateur, qui devrait se lancer automatiquement :

Quand c'est terminé, vous aurez ce message :

Sur Debian Server
Il faut exactement faire la même chose qu'à l'étape précédente sauf qu'ici le navigateur ne se lancera pas. Cliquez sur CTRL + clic gauche sur le lien :

Cliquez sur Autoriser :

Confirmation que tout s'est bien déroulé, vous pouvez fermer la page :

Sur smartphone
Il faudra tout d'abord télécharger l'application :
Android
Que ce soit sur iOS ou Android, dans les deux cas, une fois l'application lancée, cliquez sur Changer de serveur et saisissez le nom de domaine de votre instance. Inscrivez-vous en utilisant votre adresse e-mail et votre mot de passe.
Retournez à présent sur votre instance NetBird et vous pourrez constater que tous le monde est bien présent :

D'autres choix s'offrent à vous comme Windows, macOS, ou encore avec Docker.
🛎️ Joindre un service
On arrive maintenant au moment le plus excitant ! Joindre un service sur une machine. Dans cet exemple, je me rendre sur Portainer à partir de Debian Desktop.

Je vais noter la NetBird IP-Address où se trouve Portainer, qui est 100.65.191.224 et ajouter le port 9443. Port sur lequel tourne Portainer. Vu que c'est en HTTPS voici l'URL finale :
https://100.65.191.224:9443
Et tadaaaam :
