Configuration d'un serveur VPN Tailscale

NOTE

Ceci est optionnel. Vous devez seulement considérer cette section si vous exécutez un nœud à domicile et souhaitez vous y connecter depuis l'extérieur de votre réseau domestique.

Si vous souhaitez vous connecter à votre réseau domestique à distance, par exemple pendant des vacances ou un déplacement professionnel, la voie la plus courante consiste à utiliser un serveur de réseau privé virtuel. Cela vous permettra de vous connecter à votre nœud via SSH et de surveiller votre tableau de bord Grafana depuis n'importe où dans le monde, le tout sans exposer votre port SSH à Internet.

De nombreux opérateurs de nœuds Rocket Pool utilisent Tailscale comme serveur VPN de choix pour cela. Tailscale est un tunnel VPN P2P open source et un service de découverte de points de terminaison hébergé. Il prend en charge l'authentification, la publication et la traversée NAT nécessaires pour établir un chemin chiffré de bout en bout entre votre machine et votre nœud sans envoyer de trafic sensible à un serveur centralisé. C'est un outil très puissant.

Nous allons brièvement couvrir une configuration de base, mais n'hésitez pas à consulter leur documentation pour plus de détails.

Configuration de Tailscale

Tout d'abord, créez un compte Tailscale gratuit. Tailscale nécessite l'utilisation d'un fournisseur d'identité SSO tel que Google, GitHub, Okta, Microsoft, etc. Pour plus de détails, visitez leur page SSO.

Il est recommandé d'activer l'authentification à deux facteurs (2FA) sur le fournisseur d'identité que vous choisissez pour une sécurité accrue.

Ensuite, suivez leur guide d'intégration pour installer Tailscale sur votre client - la machine avec laquelle vous souhaitez vous connecter à votre réseau. Par exemple, il peut s'agir d'un ordinateur portable ou de votre téléphone. Notez qu'il ne s'agit pas de votre nœud Rocket Pool !

Une fois terminé, vous devriez voir votre ordinateur comme « connecté » sur le tableau de bord Tailscale.

Maintenant, installez Tailscale sur votre nœud Rocket Pool. Vous pouvez trouver des instructions pour cela sur leur site web ; par exemple, voici les instructions d'installation pour Ubuntu.

NOTE

Si vous avez configuré UFW, vous voudrez également suivre les instructions de configuration UFW).

Tout d'abord, ajoutez la clé de signature de package et le dépôt de Tailscale sur votre nœud Rocket Pool :

curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list

Maintenant, installez Tailscale sur votre nœud Rocket Pool :

sudo apt-get update
sudo apt-get install tailscale

Enfin, authentifiez et connectez votre machine à votre réseau Tailscale sur votre nœud Rocket Pool :

sudo tailscale up

Vous êtes connecté ! Vous pouvez trouver votre adresse IPv4 Tailscale en exécutant :

tailscale ip -4

Vous devriez maintenant voir votre machine nœud ajoutée sur le tableau de bord Tailscale. Vous pouvez également modifier le nom de la machine nœud via le tableau de bord, par exemple en rocketnode.

Il est suggéré de désactiver l'expiration de la clé pour la machine nœud afin d'éviter la nécessité de se réauthentifier périodiquement.

Note

Si vous souhaitez accéder à votre nœud en utilisant un nom d'hôte mémorable tel que rocketnode, vous pouvez le faire en activant MagicDNS dans les paramètres Tailscale.

Vous devriez maintenant pouvoir quitter (exit) la session SSH vers votre nœud sur votre client, et vous connecter à nouveau en SSH à votre nœud via Tailscale en utilisant ssh your.user@rocketnode.

NOTE

Si vous avez modifié le port SSH de la machine nœud dans /etc/ssh/sshd_config lors de la première configuration, utilisez plutôt ssh your.user@rocketnode -p <votre port>.

Par exemple, si vous avez attribué SSH au port 1234, vous feriez :

ssh your.user@rocketnode -p 1234

Vous pouvez maintenant également visiter http://rocketnode:3100 dans votre navigateur web pour accéder à votre tableau de bord Grafana depuis votre client.

Si vous avez configuré UFW, vous pouvez maintenant ajouter une règle pour accepter toutes les connexions SSH entrantes via Tailscale.

AVERTISSEMENT

Les étapes suivantes modifieront vos règles de pare-feu. **Vous devez avoir au moins 2 sessions SSH ouvertes vers votre machine nœud avant de continuer - une pour modifier la configuration et la tester ensuite, et une qui restera connectée en tant que sauvegarde au cas où vos modifications casseraient SSH afin que vous puissiez les annuler !

Exécutez ces commandes sur la machine nœud.

Autorisez l'accès à toutes les connexions SSH entrantes via Tailscale.

sudo ufw allow in on tailscale0

Vous pouvez également supprimer l'accès au port SSH ajouté à partir des étapes d'activation d'un pare-feu pour verrouiller complètement votre nœud. Notez que vous ne pourrez pas vous connecter depuis le réseau local car Tailscale deviendra le seul moyen de se connecter. N'exécutez la commande suivante que si vous êtes d'accord avec cela.

sudo ufw delete "22/tcp"

Une fois que vous avez configuré les règles de pare-feu pour restreindre toutes les connexions non-Tailscale, rechargez UFW et SSH :

sudo ufw reload
sudo service ssh restart

Maintenant, confirmez que tout fonctionne comme prévu. Quittez (exit) l'une de vos sessions SSH actuelles (mais n'oubliez pas de garder la seconde ouverte en tant que sauvegarde).

Ensuite, connectez-vous à la machine nœud via SSH en utilisant l'adresse IP Tailscale :

ssh your.user@rocketnode

Si cela fonctionne, vous avez tout fait correctement et pouvez maintenant vous connecter en toute sécurité à votre réseau domestique depuis l'étranger !

ASTUCE

Si vous aviez précédemment redirigé le port SSH de votre nœud dans votre routeur, vous pouvez maintenant le supprimer.