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

ÉtapeOùQuoi
0—Prérequis et fiche à remplir
1NavigateurCréer le compte et le réseau Tailscale
2NavigateurGénérer la clé d’authentification
3pfSenseInstaller le paquet
4pfSenseConnecter pfSense au réseau Tailscale
5NavigateurApprouver les routes
6NavigateurDésactiver l’expiration de la clé
7Ton ordinateurInstaller le client
8pfSenseCréer la règle de pare-feu
9Ton ordinateurVé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À noterExempleTa valeur
ⒶLes réseaux locaux que tu veux joindre à distance, en notation x.x.x.x/24192.168.10.0/24
192.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éseaux192.168.10.50…………………

Comment trouver Ⓐ : dans pfSense, Status → Interfaces. Chaque interface affiche une ligne IPv4 Address. Si elle vaut 192.168.10.1 avec un masque /24, alors le réseau à noter est 192.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.

  1. Aller sur https://login.tailscale.com/start
  2. Choisir un fournisseur d’identité : Google, Microsoft, GitHub, Apple
  3. 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.

  1. Dans la console, aller dans Settings → Keys
  2. Cliquer Generate auth key
  3. Régler exactement comme ceci :
OptionValeur
DescriptionpfSense
Reusabledécoché
Ephemeraldécoché
Expirationla plus courte proposée
Pre-approveddécoché
Tags(laisser vide)
  1. Cliquer Generate key
  2. 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

  1. Dans l’interface web de pfSense : System → Package Manager
  2. Onglet Available Packages
  3. Dans la barre de recherche, taper tailscale
  4. Cliquer + Install sur la ligne Tailscale, puis Confirm
  5. 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 ping vers 8.8.8.8 répond, puis vers pkg.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

ChampValeur à saisir
Login Serverhttps://controlplane.tailscale.com
Pre-authentication KeyColler la clé tskey-auth-… de l’étape 2

Cliquer Save.

4.2 Onglet Settings

Régler exactement comme ceci :

ChampValeur
Enable Tailscalecoché
Accept DNSDÉCOCHÉ ne pas cocher
Accept Subnet Routesdécoché
Advertise Exit Nodedécoché
Advertised Routestes 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.

  1. Ton pfSense apparaît dans la liste
  2. Cliquer sur les trois points … à droite de la ligne → Edit route settings
  3. Une fenêtre s’ouvre avec tes réseaux Ⓐ, chacun avec un interrupteur désactivé
  4. Activer chaque interrupteur
  5. 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 :

  1. Cliquer sur les trois points … de la ligne pfSense
  2. Choisir Disable key expiry
  3. 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

  1. Télécharger le client sur https://tailscale.com/download
  2. L’installer, puis le lancer
  3. Se connecter avec la même identité qu’à l’étape 1
  4. Ouvrir les préférences du client et cocher « Use Tailscale subnets »
SystèmeOù se trouve l’option
WindowsClic droit sur l’icône Tailscale dans la barre des tâches → Preferences → Use Tailscale subnets
macOSIcône dans la barre de menus → Preferences → Use Tailscale subnets
Linuxsudo tailscale up --accept-routes
iOS / AndroidL’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.

  1. Dans pfSense : Firewall → Rules
  2. Un nouvel onglet Tailscale est apparu dans la liste des onglets → cliquer dessus
  3. Il affiche « No rules are configured for this interface » → cliquer + Add
  4. Remplir exactement ceci :
ChampValeur
ActionPass
InterfaceTailscale (déjà rempli)
Address FamilyIPv4+IPv6
ProtocolAny
Sourceany
Destinationany
DescriptionAcces distant par Tailscale
  1. Cliquer Save
  2. 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 laisses IPv4 seul, 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 status affiche active, 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érifierOùCorrection
1Les routes sont-elles approuvées ?Console → Machines → sous pfSenseRefaire l’étape 5
2Use Tailscale subnets est-il coché ?Préférences du clientRefaire l’étape 7
3La règle de pare-feu existe-t-elle ?pfSense → Firewall → Rules → TailscaleRefaire 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ômeCauseCorrection
403 — session expired à l’inscriptionCookies d’une session précédenteFenêtre de navigation privée
Je me retrouve dans un réseau Tailscale qui existe déjàIdentité déjà utiliséeSe déconnecter, recommencer l’étape 1 avec une autre adresse e-mail
Le paquet Tailscale est introuvable dans pfSensepfSense n’a pas Internet ou pas de DNSDiagnostics → Ping vers 8.8.8.8 puis pkg.pfsense.org
pfSense n’apparaît pas dans MachinesClé refuséeRégénérer une clé (étape 2) et la recoller (étape 4.1)
tailscale status affiche tx 0 rx 0Le tunnel n’est pas établiVérifier que les deux côtés sont connectés au même réseau Tailscale
Tout marchait, puis plus rien après des moisExpiration de la cléÉtape 6 — et reconnecter pfSense
Mes machines ont perdu Internet / la résolution de nomsAccept DNS a été coché sur pfSenseDécocher (étape 4.2), puis Save
Je joins les machines par leur IP, mais pas par leur nomNormalVoir §10.3
C’est lent, status affiche relay au lieu de directLe réseau traversé empêche la liaison directeFonctionne 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èmeFichier à modifier (en administrateur / root)
WindowsC:\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

ChampValeur
Network100.64.0.0 / 10
ActionAllow
DescriptionTailscale

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

ChampValeur
Nameserverton adresse Ⓑ
Restrict to search domaincoché — 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églageOù
1Double authentification sur le compte qui possède le réseauChez ton fournisseur d’identité (Google, Microsoft…)
2Device approval — valider manuellement chaque nouvel appareilConsole → Settings → Device management
3Supprimer les clés d’authentification encore validesConsole → 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.