Tuto — Accéder à son réseau à distance avec Tailscale et pfSense
Pas à pas, sans théorie. À suivre dans l’ordre, du début à la fin. À la fin, tu joins tous tes réseaux locaux depuis n’importe où, sans ouvrir aucun port sur ta box ou ton routeur.
Durée : environ 30 minutes.
Sommaire
| Étape | Où | Quoi |
|---|---|---|
| 0 | — | Prérequis et fiche à remplir |
| 1 | Navigateur | Créer le compte et le réseau Tailscale |
| 2 | Navigateur | Générer la clé d’authentification |
| 3 | pfSense | Installer le paquet |
| 4 | pfSense | Connecter pfSense au réseau Tailscale |
| 5 | Navigateur | Approuver les routes |
| 6 | Navigateur | Désactiver l’expiration de la clé |
| 7 | Ton ordinateur | Installer le client |
| 8 | pfSense | Créer la règle de pare-feu |
| 9 | Ton ordinateur | Vérifier que tout fonctionne |
| 10 | — | Si ça ne marche pas |
Étape 0 · Avant de commencer
0.1 Il te faut
- Un pfSense installé, avec accès à son interface web
- pfSense doit avoir accès à Internet (il va télécharger le paquet)
- Une adresse e-mail qui n’a jamais servi à créer un réseau Tailscale
- L’ordinateur depuis lequel tu veux te connecter à distance
0.2 Remplis cette fiche AVANT de commencer
Note ici tes propres valeurs. Tout le tuto s’y réfère par les repères Ⓐ Ⓑ Ⓒ.
| Repère | À noter | Exemple | Ta valeur |
|---|---|---|---|
| Ⓐ | Les réseaux locaux que tu veux joindre à distance, en notation x.x.x.x/24 | 192.168.10.0/24192.168.20.0/24 | ………………… ………………… |
| Ⓑ | L’adresse 100.x.x.x de pfSense | (tu la relèveras à l’étape 4) | ………………… |
| Ⓒ | Une adresse IP d’une machine de test dans un de tes réseaux | 192.168.10.50 | ………………… |
Comment trouver Ⓐ : dans pfSense, Status → Interfaces. Chaque interface affiche une ligne
IPv4 Address. Si elle vaut192.168.10.1avec un masque/24, alors le réseau à noter est192.168.10.0/24— le dernier chiffre passe à 0.Note tous les réseaux que tu veux pouvoir joindre : un par ligne.
Étape 1 · Créer le compte et le réseau
Ouvre d’abord une fenêtre de navigation privée. Si ton navigateur a déjà servi à te connecter à Tailscale, tu obtiendras une erreur
403 — session expired.
- Aller sur
https://login.tailscale.com/start - Choisir un fournisseur d’identité : Google, Microsoft, GitHub, Apple
- Utiliser une identité qui n’a jamais servi pour Tailscale
Pourquoi c’est important : si tu réutilises un compte avec lequel tu avais déjà créé un réseau Tailscale, tu rejoins l’ancien réseau au lieu d’en créer un nouveau. Il n’y a pas de message d’erreur — ça passe, et tes deux réseaux se retrouvent mélangés.
Une fois connecté, tu arrives sur la console d’administration. Garde cet onglet ouvert, tu y reviendras trois fois.
Étape validée quand : tu vois la page Machines, vide.
Étape 2 · Générer la clé d’authentification
Cette clé servira une seule fois, pour connecter pfSense.
- Dans la console, aller dans Settings → Keys
- Cliquer Generate auth key
- Régler exactement comme ceci :
| Option | Valeur |
|---|---|
| Description | pfSense |
| Reusable | décoché |
| Ephemeral | décoché |
| Expiration | la plus courte proposée |
| Pre-approved | décoché |
| Tags | (laisser vide) |
- Cliquer Generate key
- Copier la clé
tskey-auth-…qui s’affiche
Cette clé ne s’affichera plus jamais. Colle-la tout de suite dans pfSense à l’étape 4. Ne l’enregistre pas dans un fichier, ne l’envoie à personne : c’est l’équivalent d’un mot de passe d’administration.
Si tu la perds : reviens ici et génère-en une nouvelle, ce n’est pas grave.
Étape validée quand : tu as la clé dans ton presse-papiers.
Étape 3 · Installer le paquet sur pfSense
- Dans l’interface web de pfSense : System → Package Manager
- Onglet Available Packages
- Dans la barre de recherche, taper
tailscale - Cliquer
+ Installsur la ligne Tailscale, puis Confirm - Attendre la fin — l’installation prend 1 à 3 minutes et affiche
Successà la fin
Étape validée quand : un nouveau menu VPN → Tailscale est apparu dans la barre du haut.
Si le paquet n’apparaît pas dans la recherche : pfSense n’a pas accès à Internet. Vérifier dans Diagnostics → Ping qu’un
pingvers8.8.8.8répond, puis verspkg.pfsense.org. Si le premier répond et pas le second, c’est le DNS de pfSense qu’il faut corriger (System → General Setup → DNS Servers).
Étape 4 · Connecter pfSense au réseau Tailscale
Aller dans VPN → Tailscale.
4.1 Onglet Authentication
| Champ | Valeur à saisir |
|---|---|
| Login Server | https://controlplane.tailscale.com |
| Pre-authentication Key | Coller la clé tskey-auth-… de l’étape 2 |
Cliquer Save.
4.2 Onglet Settings
Régler exactement comme ceci :
| Champ | Valeur | |
|---|---|---|
| Enable Tailscale | coché | |
| Accept DNS | DÉCOCHÉ | ne pas cocher |
| Accept Subnet Routes | décoché | |
| Advertise Exit Node | décoché | |
| Advertised Routes | tes réseaux Ⓐ | un par ligne |
Pour les Advertised Routes : cliquer + Add une fois par réseau, et saisir tes valeurs
Ⓐ de la fiche de l’étape 0. Exemple avec deux réseaux :
192.168.10.0/24 Reseau bureaux
192.168.20.0/24 Reseau serveurs
Cliquer Save.
Ne coche jamais Accept DNS. Si pfSense sert de serveur DNS à ton réseau — c’est le cas par défaut — cette case écrase sa configuration et toutes tes machines perdent la résolution de noms.
4.3 Relever l’adresse Ⓑ
Aller dans Diagnostics → Command Prompt, et taper dans le champ Execute Shell Command :
tailscale ip -4
Cliquer Execute. Le résultat est une adresse du type 100.x.x.x.
Note-la dans ta fiche, case Ⓑ.
Étape validée quand : la commande renvoie une adresse 100.x.x.x.
Étape 5 · Approuver les routes
Retour dans la console Tailscale, onglet Machines.
- Ton pfSense apparaît dans la liste
- Cliquer sur les trois points
…à droite de la ligne → Edit route settings - Une fenêtre s’ouvre avec tes réseaux Ⓐ, chacun avec un interrupteur désactivé
- Activer chaque interrupteur
- Cliquer Save
Étape validée quand : sous le nom de pfSense, dans la liste des machines, tes réseaux Ⓐ s’affichent en texte normal — et non plus en grisé avec la mention awaiting approval.
Ne pas sauter cette étape. Sans elle, tout semble correctement configuré mais aucun de tes réseaux ne sera joignable.
Étape 6 · Désactiver l’expiration de la clé
Toujours dans Machines :
- Cliquer sur les trois points
…de la ligne pfSense - Choisir Disable key expiry
- Confirmer
Étape validée quand : la colonne Expires de la ligne pfSense affiche Disabled.
Sans ce réglage, ton accès distant cessera de fonctionner dans environ 180 jours, sans prévenir, sans message d’erreur, et sans que rien d’autre ne change. C’est 10 secondes maintenant, ou une panne incompréhensible dans six mois.
Étape 7 · Installer le client sur ton ordinateur
- Télécharger le client sur
https://tailscale.com/download - L’installer, puis le lancer
- Se connecter avec la même identité qu’à l’étape 1
- Ouvrir les préférences du client et cocher « Use Tailscale subnets »
| Système | Où se trouve l’option |
|---|---|
| Windows | Clic droit sur l’icône Tailscale dans la barre des tâches → Preferences → Use Tailscale subnets |
| macOS | Icône dans la barre de menus → Preferences → Use Tailscale subnets |
| Linux | sudo tailscale up --accept-routes |
| iOS / Android | L’option est active par défaut |
C’est l’étape la plus souvent oubliée. Sans elle, tu verras pfSense dans la liste, tu pourras même le « pinguer » sur son adresse
100.x, mais aucune machine de ton réseau local ne répondra.
Étape validée quand : l’icône Tailscale est active, et la case est cochée.
Étape 8 · Créer la règle de pare-feu
C’est la dernière pièce. Sans elle, pfSense bloque tout ce qui arrive par le tunnel.
- Dans pfSense : Firewall → Rules
- Un nouvel onglet
Tailscaleest apparu dans la liste des onglets → cliquer dessus - Il affiche « No rules are configured for this interface » → cliquer
+ Add - Remplir exactement ceci :
| Champ | Valeur |
|---|---|
| Action | Pass |
| Interface | Tailscale (déjà rempli) |
| Address Family | IPv4+IPv6 |
| Protocol | Any |
| Source | any |
| Destination | any |
| Description | Acces distant par Tailscale |
- Cliquer Save
- Cliquer Apply Changes — le bandeau vert en haut de la page
Address Family doit être
IPv4+IPv6. Tailscale attribue aussi une adresse IPv6 à chaque machine. Si tu laissesIPv4seul, une partie du trafic sera bloquée sans raison apparente.
Tu ne trouveras pas l’onglet Tailscale ? Vérifie que l’étape 4 est bien terminée et que pfSense est bien listé dans la console. L’onglet n’apparaît qu’une fois la connexion établie.
Ne cherche pas à « assigner » l’interface dans Interfaces → Assignments : elle n’y figure pas, et ce n’est pas nécessaire.
Étape validée quand : la règle apparaît dans l’onglet Tailscale, et le bandeau Apply Changes a disparu.
Étape 9 · Vérifier
Sur ton ordinateur, ouvrir un terminal — PowerShell sous Windows, Terminal sous macOS/Linux.
Test 1 — le tunnel est monté
tailscale status
Tu dois voir une ligne contenant ton pfSense, le mot active, et deux compteurs
tx et rx :
100.x.x.x mon-pfsense freebsd active; direct 203.0.113.5:41641, tx 572 rx 156
▲▲▲▲▲▲ ▲▲▲▲▲▲▲▲▲▲▲▲▲
Test 2 — pfSense répond
Remplacer par ton adresse Ⓑ :
ping 100.x.x.x
Test 3 — ton réseau local est joignable
Remplacer par ton adresse Ⓒ :
ping 192.168.10.50
Si ce troisième test répond, c’est terminé. Tu peux maintenant joindre toutes les machines de tes réseaux Ⓐ, exactement comme si tu étais sur place : SSH, bureau à distance, interfaces web, et l’interface de pfSense elle-même.
Le vrai test final : coupe le Wi-Fi de ton ordinateur et passe en partage de connexion depuis ton téléphone. Si le test 3 répond toujours, ton accès distant fonctionne depuis l’extérieur, pas seulement depuis chez toi.
Étape 10 · Si ça ne marche pas
10.1 Le cas le plus fréquent
Symptôme :
tailscale statusafficheactive, le test 2 répond, mais le test 3 échoue.
Trois causes possibles, qui donnent exactement le même symptôme. Les vérifier dans cet ordre :
| # | Vérifier | Où | Correction |
|---|---|---|---|
| 1 | Les routes sont-elles approuvées ? | Console → Machines → sous pfSense | Refaire l’étape 5 |
| 2 | Use Tailscale subnets est-il coché ? | Préférences du client | Refaire l’étape 7 |
| 3 | La règle de pare-feu existe-t-elle ? | pfSense → Firewall → Rules → Tailscale | Refaire l’étape 8 |
Ne cherche pas au hasard : ces trois réglages sont indépendants, il suffit qu’un seul manque. Vérifie les trois, dans l’ordre, même si tu es sûr de l’avoir fait.
10.2 Les autres symptômes
| Symptôme | Cause | Correction |
|---|---|---|
403 — session expired à l’inscription | Cookies d’une session précédente | Fenêtre de navigation privée |
| Je me retrouve dans un réseau Tailscale qui existe déjà | Identité déjà utilisée | Se déconnecter, recommencer l’étape 1 avec une autre adresse e-mail |
| Le paquet Tailscale est introuvable dans pfSense | pfSense n’a pas Internet ou pas de DNS | Diagnostics → Ping vers 8.8.8.8 puis pkg.pfsense.org |
| pfSense n’apparaît pas dans Machines | Clé refusée | Régénérer une clé (étape 2) et la recoller (étape 4.1) |
tailscale status affiche tx 0 rx 0 | Le tunnel n’est pas établi | Vérifier que les deux côtés sont connectés au même réseau Tailscale |
| Tout marchait, puis plus rien après des mois | Expiration de la clé | Étape 6 — et reconnecter pfSense |
| Mes machines ont perdu Internet / la résolution de noms | Accept DNS a été coché sur pfSense | Décocher (étape 4.2), puis Save |
| Je joins les machines par leur IP, mais pas par leur nom | Normal | Voir §10.3 |
C’est lent, status affiche relay au lieu de direct | Le réseau traversé empêche la liaison directe | Fonctionne quand même. tailscale netcheck donne le détail |
10.3 « Je joins les machines par leur adresse IP, mais pas par leur nom »
C’est le comportement normal, pas une panne. Tailscale te donne l’accès réseau, pas le DNS de ton réseau local.
La solution rapide — pour une machine, sur ton ordinateur :
| Système | Fichier à modifier (en administrateur / root) |
|---|---|
| Windows | C:\Windows\System32\drivers\etc\hosts |
| macOS, Linux | /etc/hosts |
Y ajouter une ligne, avec ton adresse et ton nom :
192.168.10.50 monserveur.mondomaine.local
La solution propre — pour toutes tes machines Tailscale d’un coup, à condition que pfSense fasse déjà la résolution de tes noms internes :
① Dans pfSense — Services → DNS Resolver → onglet Access Lists → + Add
| Champ | Valeur |
|---|---|
| Network | 100.64.0.0 / 10 |
| Action | Allow |
| Description | Tailscale |
Puis dans l’onglet General Settings, vérifier que Network Interfaces vaut All.
Save, puis Apply Changes.
② Dans la console Tailscale — DNS → Nameservers → Add nameserver → Custom
| Champ | Valeur |
|---|---|
| Nameserver | ton adresse Ⓑ |
| Restrict to search domain | coché — y saisir ton domaine interne |
Coche bien « Restrict to search domain ». Sans cette case, toutes tes requêtes DNS partiront vers pfSense — et tu perdras Internet dès que pfSense sera éteint ou injoignable.
Récapitulatif
Les six réglages sans lesquels rien ne fonctionne :
- Une identité neuve pour créer le réseau (étape 1)
- Advertised Routes renseignées dans pfSense (étape 4.2)
- Accept DNS décoché (étape 4.2)
- Routes approuvées dans la console (étape 5)
- Use Tailscale subnets coché sur l’ordinateur (étape 7)
- Règle de pare-feu créée en
IPv4+IPv6(étape 8)
Et le réglage qui évite une panne dans six mois :
- Disable key expiry sur pfSense (étape 6)
À faire une fois que ça marche
Ton réseau Tailscale donne maintenant un accès complet à tes réseaux locaux. Trois réglages gratuits, à faire tout de suite :
| # | Réglage | Où |
|---|---|---|
| 1 | Double authentification sur le compte qui possède le réseau | Chez ton fournisseur d’identité (Google, Microsoft…) |
| 2 | Device approval — valider manuellement chaque nouvel appareil | Console → Settings → Device management |
| 3 | Supprimer les clés d’authentification encore valides | Console → Settings → Keys |
Sans le réglage n°2, quiconque obtient ton mot de passe peut inscrire sa propre machine dans ton réseau Tailscale, et accède immédiatement à tout ton réseau local — sans passer par aucun pare-feu.
