OverView OutPost

VM préconfigurée à déployer dans votre DMZ pour un accès API sécurisé et sans agent — aucun port entrant, aucune configuration VPN

Qu'est-ce que c'est ?

Une VM préconfigurée qui permet à OverView d'accéder de manière sécurisée à vos APIs internes sans configuration VPN complexe. Déployez dans votre DMZ, configurez les règles firewall, et c'est terminé en moins d'1 heure.

La solution utilise Tailscale, un VPN mesh moderne basé sur le protocole WireGuard®.

Le nom dit le rôle : un avant-poste est une petite position avancée, installée à la limite du territoire, qui observe et rend compte à la base. Il ne commande rien, ne conserve rien, et peut être retiré sans rien changer à la position principale. L'OutPost fonctionne exactement ainsi : déployé en bordure de votre réseau, il relaie vers OverView ce que vous l'autorisez à lire, et rien d'autre.

Avantages clés :

  • ✅ Pas de tunnels IPSec ou certificats à gérer
  • ✅ Aucun port entrant à ouvrir sur votre firewall
  • ✅ La VM s'auto-configure au premier démarrage
  • ✅ Seul OverView peut accéder à l'OutPost (isolation réseau privée)
  • ✅ Vous contrôlez exactement quelles APIs exposer

Fourni avec : VM Ubuntu 24.04 LTS durcie, agent Tailscale préconfiguré pour l'auto-enrôlement, mises à jour de sécurité automatiques (OS + VPN), documentation et support OverSOC.


Comment ça fonctionne

La VM se place dans votre DMZ et agit comme un pont sécurisé entre OverView et vos APIs internes. Toutes les connexions sont initiées en sortie depuis la VM — aucun trou dans votre firewall.

Diagramme architecture OverView OutPost

Modèle de sécurité :

PrincipeConcrètement
Isolation réseau privéeL'OutPost rejoint le réseau privé Tailscale d'OverView. Seule la plateforme OverView peut y accéder — pas Internet public, pas d'autres utilisateurs Tailscale. L'OutPost ne peut pas accéder à l'infrastructure OverView : il ne fait que relayer vos APIs
Zero Trust par défautLa VM démarre sans aucun accès à votre réseau interne. Chaque API nécessite une règle firewall explicite — aucun mouvement latéral possible
ChiffrementWireGuard (ChaCha20-Poly1305), bout-en-bout entre OverView et votre OutPost, rotation automatique des clés
Circulation des donnéesDirect peer-to-peer quand possible, relais chiffré en fallback. Le service de coordination (*.tailscale.com) gère uniquement l'authentification — il ne route pas vos données

Guide de déploiement

Prérequis

  • Hyperviseur : VMware vSphere/ESXi, Microsoft Hyper-V, Nutanix AHV, Proxmox VE ou KVM
  • Ressources : 2 vCPU, 2 GB RAM, 10 GB stockage
  • Réseau : Accès internet sortant, résolution DNS
  • Positionnement : DMZ ou VLAN isolé

Phase 1 : Déployer la VM (15 minutes)

L'image existe au format de chaque hyperviseur pris en charge — indiquez à OverSOC le vôtre avant le build. Une seule procédure s'applique : dépliez celle qui correspond à votre plateforme.

VMware ESXi / vSpherefichier .ova
  1. Ouvrir le vSphere Client (interface web)
  2. Clic droit sur l'hôte ou le cluster > Deploy OVF Template...
  3. Sélectionner Local file et choisir le fichier .ova fourni
  4. Suivre l'assistant : nommer la VM, choisir le datastore, sélectionner le réseau (VLAN/portgroup)
  5. Cliquer sur Finish et attendre la fin de l'import
  6. Démarrer la VM
Microsoft Hyper-Vfichier .vhdx
  1. Copier le fichier .vhdx fourni sur l'hôte Hyper-V
  2. Dans Hyper-V Manager, créer une nouvelle VM Génération 2 et, à l'étape du disque, choisir Use an existing virtual hard disk en pointant le .vhdx (l'action Import Virtual Machine ne fonctionnera pas — elle attend un dossier de VM exportée, pas un disque seul)
  3. Régler le modèle Secure Boot sur Microsoft UEFI Certificate Authority (Settings → Security) — le modèle par défaut Microsoft Windows refuse de démarrer Linux :
    Set-VMFirmware "<nom-vm>" -SecureBootTemplate MicrosoftUEFICertificateAuthority
    
  4. Configurer les ressources (2 vCPU, 2 GB RAM), connecter un virtual switch, démarrer la VM

Génération 1 ? Indiquez-le avant le build : un .vhd est fourni à la place (même procédure, sans réglage Secure Boot).

Nutanix AHVfichier .qcow2
  1. Ouvrir Prism Central > Compute & Storage > Images > Add Image
  2. Uploader le fichier .qcow2 fourni, type Disk, placer sur le cluster cible
  3. Aller à Compute & Storage > VMs > Create VM
  4. Configurer : 2 vCPU, 2 GB RAM, et régler le Boot Configuration sur UEFI (l'image est prévue pour un démarrage UEFI)
  5. Attacher un disque : Clone from Image > sélectionner l'image uploadée
  6. Ajouter un NIC sur le subnet/VLAN souhaité
  7. Sauvegarder et démarrer la VM
Proxmox VE / KVMfichier .qcow2

Proxmox VE

  1. Copier le fichier .qcow2 fourni sur l'hôte Proxmox
  2. Créer une VM sans disque : 2 vCPU, 2 GB RAM, BIOS : OVMF (UEFI) avec un disque EFI (l'image est prévue pour un démarrage UEFI)
  3. Importer l'image :
    qm importdisk <vmid> ovsgw-*.qcow2 <storage>
    
  4. Attacher le disque importé, le définir comme périphérique de boot
  5. Connecter un bridge, démarrer la VM

KVM / libvirt (sans Proxmox)

Créer et démarrer la VM directement depuis l'image :

virt-install --name overview-outpost --memory 2048 --vcpus 2 \
  --disk /var/lib/libvirt/images/ovsgw.qcow2 --import \
  --osinfo ubuntu24.04 --boot uefi \
  --network bridge=br0 --noautoconsole

Phase 2 : Configurer le réseau de la VM (5 minutes)

La VM demande une adresse en DHCP au premier démarrage. Deux cas :

Avec DHCP (par défaut)

Rien à faire : la VM obtient son adresse toute seule. Relevez-la sur la bannière console de l'hyperviseur, puis passez à la vérification.

Sans DHCP — IP statique

  1. Ouvrir la console de l'hyperviseur et se connecter avec le login ubuntu et le mot de passe fourni par OverSOC
  2. Éditer la configuration réseau :
    sudo nano /etc/netplan/01-netcfg.yaml
    

    Remplacer le contenu par (adapter les adresses à votre réseau) :
    network:
      version: 2
      ethernets:
        all-en:
          match:
            name: "en*"
          addresses: [192.0.2.10/24]
          routes:
            - to: default
              via: 192.0.2.1
          nameservers:
            addresses: [8.8.8.8, 1.1.1.1]
    
  3. Appliquer et relancer la connexion VPN :
    sudo netplan apply
    sudo systemctl restart tailscale-gateway-init
    
Astuce
Noms DNS internes

Pour désigner vos APIs par leurs noms DNS internes (plutôt que par IP) : avec DHCP, ce sont les résolveurs distribués par votre serveur DHCP qui s'appliquent ; en IP statique, renseignez vos résolveurs internes dans nameservers au lieu des résolveurs publics. Tout nom que la VM sait résoudre est utilisable dans les sources de données.

Vérification

  • La bannière console affiche l'adresse IP LAN et l'adresse IP Tailscale après le démarrage
  • En vous connectant en SSH, le message d'accueil affiche le statut de la connexion VPN
Note

Tant que les firewalls de la Phase 3 ne sont pas configurés, le statut VPN reste déconnecté : c'est attendu. La connexion s'établit d'elle-même dès que les flux sont ouverts.


Phase 3 : Configurer les firewalls (15-30 minutes)

Attention

Toutes les règles sont SORTANTES — aucun port entrant requis. Seule la VM initie les connexions : votre réseau interne ne peut pas se connecter à elle.

Dans toute cette page, 192.0.2.10 désigne l'IP de votre OutPost (relevée à la Phase 2) : c'est un exemple à remplacer. Renseignez-la ici pour que tables et commandes s'adaptent automatiquement :

Renseignez-la pour remplacer l'exemple 192.0.2.10 dans toutes les commandes de cette page — elles deviennent copiables telles quelles.

Firewall edge (DMZ -> Internet)

Une seule source à déclarer : l'IP de la VM (ex. 192.0.2.10).

Version stricte — chaque hôte nommé, avec son port et son protocole. Elle ne suppose aucun support du wildcard et passe donc telle quelle sur tous les firewalls, Palo Alto et Cisco ASA compris.

#DestinationPortProtoÀ quoi ça sertNiveau
1controlplane.tailscale.com443TCPEnregistrement, configuration, clésObligatoire
2login.tailscale.com443TCPAuthentificationObligatoire
3log.tailscale.com, console.tailscale.com443TCPTélémétrie de connexion et coordinationObligatoire
4derpN-all.tailscale.com — une entrée par région443TCPRelais chiffré : chemin de données de repliObligatoire
5derpN-all.tailscale.com — une entrée par région3478UDPSTUN — détection du NATRecommandé
651.15.222.15632768-60999UDPTunnel WireGuard direct vers OverViewRecommandé

Tout autre trafic sortant : REFUSER.

Attention
derpN-all n'est pas un hôte unique

Il en existe un par région DERP — derp1-all.tailscale.com, derp2-all.tailscale.com, … une trentaine aujourd'hui. Chaque entrée regroupe tous les serveurs de sa région : elles existent précisément pour les allowlists firewall et évitent d'avoir à suivre chaque serveur.

Le nombre de régions évolue dans le temps : construisez la liste à partir de la source vivante publiée sur login.tailscale.com/derpmap/default plutôt que d'un compte figé.

Liste des relais DERP28 régions — août 2026

Les 28 entrées à déclarer, chacune en TCP 443 et UDP 3478 :

28 lignes
derp1-all.tailscale.com
derp2-all.tailscale.com
derp3-all.tailscale.com
derp4-all.tailscale.com
derp5-all.tailscale.com
derp6-all.tailscale.com
derp7-all.tailscale.com
derp8-all.tailscale.com
derp9-all.tailscale.com
derp10-all.tailscale.com
derp11-all.tailscale.com
derp12-all.tailscale.com
derp13-all.tailscale.com
derp14-all.tailscale.com
derp15-all.tailscale.com
derp16-all.tailscale.com
derp17-all.tailscale.com
derp18-all.tailscale.com
derp19-all.tailscale.com
derp20-all.tailscale.com
derp21-all.tailscale.com
derp22-all.tailscale.com
derp23-all.tailscale.com
derp24-all.tailscale.com
derp25-all.tailscale.com
derp26-all.tailscale.com
derp27-all.tailscale.com
derp28-all.tailscale.com

À déclarer en TCP 443 et UDP 3478.

Cette liste est un instantané. Tailscale ajoute et retire des régions ; la source fait foi. Pour la régénérer :

curl -s https://login.tailscale.com/derpmap/default |
  python3 -c "import json,sys; [print('derp%s-all.tailscale.com' % k) for k in sorted(json.load(sys.stdin)['Regions'], key=int)]"

Les régions couvrent plusieurs continents : c'est normal, la VM mesure la latence vers l'ensemble des relais pour choisir le plus proche. Voir la FAQ sur ce point.

Attention
Déclarez toutes les régions, pas seulement la vôtre

Il est tentant de ne garder que le relais le plus proche — derp18-all pour Paris, par exemple. Ne le faites pas : la VM sonde toutes les régions pour élire la plus rapide, et bascule sur une autre en cas d'incident ou de changement de chemin réseau. Une allowlist réduite à une région fonctionne le jour de l'installation puis casse silencieusement le jour où cette région devient injoignable.

Si les trente entrées sont trop lourdes à maintenir, la bonne réponse n'est pas d'en retirer : c'est la version simplifiée (*.tailscale.com, une entrée) ou un objet applicatif d'éditeur.

Note

Les flux 1 à 4 sont le minimum vital : les trois premiers enregistrent la VM auprès du control plane, le quatrième lui donne un chemin de données. Sans les flux 5 et 6, tout transite par les relais DERP en TCP 443 — fonctionnel, mais plus lent. Les flux 5 et 6 permettent une connexion directe entre l'OutPost et OverView.

Version simplifiéesi votre firewall gère les wildcards

Trois règles au lieu de six, et une seule entrée à maintenir au lieu d'une trentaine — à condition que votre firewall accepte un objet FQDN wildcard. FortiGate, Check Point et la plupart des UTM le font ; Palo Alto et Cisco ASA le refusent.

#DestinationPortProtoÀ quoi ça sertNiveau
1*.tailscale.com443TCPControl plane et relais chiffrés (DERP)Obligatoire
2*.tailscale.com3478UDPSTUN — détection du NATRecommandé
351.15.222.15632768-60999UDPTunnel WireGuard direct vers OverViewRecommandé

Tout autre trafic sortant : REFUSER.

Le périmètre reste le même — tout est restreint au domaine tailscale.com — mais le firewall suit lui-même les serveurs DERP au lieu de vous faire tenir la liste à jour.

Astuce

Certains firewalls font encore mieux : un objet applicatif maintenu par l'éditeur (Internet Service Tailscale-Tailscale chez Fortinet, App-ID tailscale chez Palo Alto) reste aussi strict que l'énumération complète, sans aucun entretien. Voir la procédure selon votre firewall.

Flux de service

Le « tout autre trafic sortant : REFUSER » des deux versions ci-dessus bloque aussi les flux de service de la VM elle-même. Quelle que soit la version retenue :

  • DNS — la VM doit pouvoir joindre ses résolveurs (Phase 2) en UDP/TCP 53. La plupart des réseaux ont déjà une règle globale pour cela ; vérifiez simplement que la VM en bénéficie.
  • Mises à jour et heure — la VM applique ses mises à jour de sécurité directement depuis Internet et synchronise son horloge en NTP :
DestinationPortProtoÀ quoi ça sert
archive.ubuntu.com, security.ubuntu.com80, 443TCPMises à jour de sécurité de l'OS
pkgs.tailscale.com443TCPMises à jour du client VPN
ntp.ubuntu.com123UDPSynchronisation de l'heure — une horloge fausse fait échouer les handshakes TLS
Note

Sans ces flux, le tunnel continue de fonctionner, mais les mises à jour de sécurité automatiques ne s'appliquent plus — silencieusement.

La section Flux réseau reprend ces mêmes flux sous forme de référence, à transmettre à votre équipe réseau.

Firewall interne (DMZ -> Réseau interne)

SourceDestinationPortAction
IP de la VMIP de l'API cible (ex. 10.0.1.50)8443/tcpAUTORISER
IP de la VM10.0.0.0/8 — tout le restetoutREFUSER

Ajoutez une ligne « AUTORISER » par API à exposer. Si vous utilisez des noms DNS internes, autorisez aussi la VM à joindre vos résolveurs (UDP/TCP 53).

Attention
Firewall stateful requis

Votre firewall edge doit être stateful afin que le trafic retour sur les connexions établies (TCP et UDP) soit automatiquement autorisé. Si le firewall est stateless ou effectue du DPI (deep packet inspection) agressif, les réponses des relais DERP ou des peers WireGuard peuvent être bloquées même si la connexion sortante est autorisée.

Procédure selon votre firewall

Ces procédures reprennent la documentation Tailscale par éditeur et la documentation officielle de chaque constructeur.

Note
Adaptez les valeurs d'exemple

Dans toutes les procédures ci-dessous, 192.0.2.10 est un exemple : remplacez-le partout par l'adresse IP réelle de votre OutPost, y compris dans les commandes de diagnostic — ou laissez le champ IP de votre OutPost en tête de la Phase 3 faire ce remplacement pour vous. En revanche, l'IP 51.15.222.156 (sortie OverView) et les noms *.tailscale.com sont à reprendre tels quels.

Fortinet FortiGate (FortiOS)

FortiOS expose un objet Internet Service (ISDB) Tailscale-Tailscale, maintenu par FortiGuard : il contient déjà les plages IP et les ports de l'infrastructure Tailscale. C'est la méthode la plus simple et la plus robuste — aucun FQDN ni serveur DERP à suivre.

Interface graphique

  1. Policy & Objects > Firewall Policy > Create New
  2. Source : l'objet adresse de la VM · Destination : basculer sur l'onglet Internet Service et rechercher Tailscale
  3. Sélectionner Tailscale-Tailscale, action ACCEPT, et désactiver l'inspection SSL profonde

CLI (FortiOS 7.x)

config firewall address
    edit "OverView-OutPost"
        set subnet 192.0.2.10 255.255.255.255
    next
    edit "OverView-Egress"
        set subnet 51.15.222.156 255.255.255.255
    next
end

config firewall service custom
    edit "WireGuard-OverView"
        set udp-portrange 32768-60999
    next
end

config firewall policy
    edit 0
        set name "OutPost-Tailscale"
        set srcintf "dmz"
        set dstintf "wan1"
        set srcaddr "OverView-OutPost"
        set internet-service enable
        set internet-service-name "Tailscale-Tailscale"
        set action accept
        set schedule "always"
        set ssl-ssh-profile "no-inspection"
        set nat enable
    next
    edit 0
        set name "OutPost-WireGuard"
        set srcintf "dmz"
        set dstintf "wan1"
        set srcaddr "OverView-OutPost"
        set dstaddr "OverView-Egress"
        set service "WireGuard-OverView"
        set action accept
        set schedule "always"
        set nat enable
    next
end
Note

set internet-service remplace dstaddr et service dans la même règle : c'est pourquoi le flux WireGuard direct vers 51.15.222.156 fait l'objet d'une seconde règle.

Variante sans ISDB — FortiOS accepte les objets FQDN wildcard dans le champ dstaddr d'une policy :

config firewall address
    edit "Tailscale-Wildcard"
        set type wildcard-fqdn
        set wildcard-fqdn "*.tailscale.com"
    next
end

Réglages par défaut qui cassent Tailscale

C'est la cause la plus fréquente sur FortiGate : la règle est correcte, mais un profil actif par défaut coupe le flux.

ÉlémentEffetCorrectif
Profil SSL deep-inspection sur la policyErreur de vérification de certificat, l'enrôlement Tailscale échoueSecurity Profiles > SSL/SSH Inspection → basculer la policy sur no-inspection
Profil Application Control bloquant la catégorie Proxy, ou la signature Tailscale (ID 51457)Le VPN est coupé alors que la policy est bien en acceptSecurity Profiles > Application Control → retirer le blocage, ou exclure la VM du profil
Base ISDB en mode mini (défaut sur les modèles d'entrée de gamme)L'objet Tailscale-Tailscale est vide ou incomplet : la policy ne matche jamaisconfig system global puis set internet-service-database standard (ou full)
ISDB à 0 entrée après une montée de version FortiOSIdem — la base est purgée et doit être retéléchargéeForcer la mise à jour dans System > FortiGuard
Un autre objet ISDB recouvre les mêmes IP/portFortiOS ne retient qu'un objet par tuple : le trafic tombe sur une autre policyVérifier avec diagnose internet-service match (ci-dessous)

Diagnostic express

# La base ISDB est-elle chargée ? (taille, version, nombre d'entrées)
diagnose internet-service id-summary

# À quel objet ISDB appartient réellement une IP Tailscale ?
diagnose internet-service match root <IP_TAILSCALE> 255.255.255.255

# Quel service correspond à un tuple protocole / port / IP ?
diagnose internet-service info root 6 443 <IP_TAILSCALE>

# Tracer le cheminement du flux dans les policies
diagnose debug flow filter saddr 192.0.2.10
diagnose debug flow show function-name enable
diagnose debug flow trace start 20
diagnose debug enable
# … puis pour arrêter :
diagnose debug disable
diagnose debug reset

# Que voit réellement passer le FortiGate ?
diagnose sniffer packet any 'host 51.15.222.156' 4

Si diagnose internet-service match ne renvoie pas Tailscale-Tailscale pour une IP de derp1-all.tailscale.com, la base ISDB est trop réduite ou périmée : corrigez internet-service-database avant de toucher aux règles.

Port WireGuard — Fortinet recommande de randomiser le port client WireGuard. Ce réglage se fait côté tailnet : contactez le support OverSOC si les connexions directes n'aboutissent jamais.

Palo Alto Networks (PAN-OS)

Deux façons de désigner la destination. L'App-ID est préférable : PAN-OS n'accepte pas de wildcard dans un objet FQDN (*.tailscale.com est refusé), et un objet FQDN ne mémorise que 32 adresses alors que controlplane.tailscale.com en publie déjà 16 en IPv4 et 16 en IPv6.

Option A — règle App-ID (recommandée)

Interface graphique

  1. Objects > Addresses > Add — créer deux objets d'adresse, chacun avec une Description pour que l'administrateur suivant sache de quoi il s'agit :
    • OVS-OUTPOST, l'IP de votre OutPost en /32, ex. 192.0.2.10/32 — VM OverView OutPost en DMZ, source de tout le trafic OverView
    • OVS-OVERVIEW, 51.15.222.156/32, à reprendre tel quel — IP de sortie de la plateforme OverView, pair du tunnel WireGuard direct
  2. Objects > Services > Add — créer le service qu'utilisera la seconde règle :
    • Name : SVC-WIREGUARD
    • Description : plage de ports UDP du tunnel WireGuard direct entre l'OutPost et OverView
    • Protocol : UDP
    • Destination Port : 32768-60999
    • Source Port : laisser vide. L'OutPost choisit lui-même son port source, le restreindre ici couperait le tunnel
    • Session Timeout : Inherit from application
  3. Policies > Security > Add — onglet par onglet :
    • General : Name ALLOW-TAILSCALE, et une Description du type OverView OutPost : control plane Tailscale et relais chiffrés. À retirer en même temps que la VM OutPost.
    • Source : Source Zone est la zone où se trouve l'OutPost, choisie parmi vos propres zones, donc rarement nommée dmz : elle porte le nom que ce segment a sur votre firewall. Source Address est l'objet OVS-OUTPOST créé plus haut. Laissez Source User et Source Device sur any, et Negate décoché
    • Destination : zone untrust (votre zone WAN), adresse Any
    • Application : ajouter tailscale, tailscale-base, stun et ssl. PAN-OS indique ce dont une application a besoin dans le panneau Depends On, à côté de la liste, et avertit au commit lorsqu'une règle en oublie une : ajoutez ce qui y figure. Les content releases actuelles associent tailscale à tailscale-base
    • Service/URL Category : application-default
    • Actions : Allow
  4. Ajouter une seconde règle pour le tunnel direct, avec les mêmes onglets :
    • General : Name ALLOW-WIREGUARD, Description OverView OutPost : tunnel WireGuard direct vers la plateforme OverView. Sans elle, le trafic bascule sur les relais.
    • Source : la même zone que la règle précédente, adresse OVS-OUTPOST
    • Destination : zone untrust, adresse OVS-OVERVIEW
    • Application : any
    • Service/URL Category : SVC-WIREGUARD
    • Actions : Allow
  5. Déplacer les deux règles au-dessus de la règle qui bloque les catégories VPN / proxy (Move > Move Up, ou glisser dans la liste)
  6. Commit
Attention
Pourquoi ces quatre applications

Les premiers paquets d'une session sont classés ssl avant que l'App-ID tailscale ne soit résolu. Une règle qui n'autorise que tailscale coupe donc la session avant son identification, et le symptôme est identique à un blocage pur et simple.

stun couvre la détection du NAT (UDP 3478 vers les relais DERP) : sans lui, la connexion directe ne s'établit jamais et tout le trafic transite par les relais. tailscale-base est une dépendance, pas un flux en propre ; Palo Alto explique comment les lire et les résoudre dans Resolve Application Dependencies.

L'App-ID wireguard n'est pas dans cette règle. Le tunnel direct est pris par la seconde règle, sur le service SVC-WIREGUARD. Ne l'ajoutez ici que si vous préférez regrouper les deux flux dans une seule règle, en lui donnant aussi le service : avec application-default, wireguard porte le port 51820, qui ne couvre pas la plage utilisée par OverView.

CLI équivalente

set address OVS-OUTPOST  ip-netmask 192.0.2.10/32 description "VM OverView OutPost en DMZ"
set address OVS-OVERVIEW ip-netmask 51.15.222.156/32 description "IP de sortie de la plateforme OverView"
set service SVC-WIREGUARD protocol udp port 32768-60999 description "Tunnel WireGuard direct, OutPost vers OverView"

set rulebase security rules ALLOW-TAILSCALE from dmz to untrust \
    source OVS-OUTPOST destination any \
    application [ tailscale tailscale-base stun ssl ] \
    service application-default action allow \
    description "OverView OutPost : control plane Tailscale et relais chiffres"

set rulebase security rules ALLOW-WIREGUARD from dmz to untrust \
    source OVS-OUTPOST destination OVS-OVERVIEW \
    application any service SVC-WIREGUARD action allow \
    description "OverView OutPost : tunnel WireGuard direct vers OverView"

move rulebase security rules ALLOW-TAILSCALE top

Option B — si l'App-ID tailscale est absent de votre content release

L'objet FQDN ne pouvant pas porter de wildcard, il faut combiner deux objets :

  1. Objects > Addresses — un objet FQDN par nom : controlplane.tailscale.com, login.tailscale.com, log.tailscale.com, puis un objet derpN-all.tailscale.com par région DERP (liste vivante). Les regrouper dans Objects > Address Groups.
  2. Objects > Custom Objects > URL Category > Add — catégorie TAILSCALE contenant *.tailscale.com/
  3. Dans la règle : le groupe d'adresses en Destination, la catégorie personnalisée dans l'onglet Service/URL Category
Attention
Limite de résolution FQDN

Un objet FQDN ne retient que 32 adresses, rafraîchies toutes les 30 minutes. controlplane.tailscale.com en publie 16 en IPv4 et 16 en IPv6 : la limite est atteinte d'emblée et la moindre rotation fait sortir le trafic du périmètre de la règle. À défaut d'App-ID, préférez une destination Any limitée au TCP/443 — la source est déjà restreinte à cette seule VM.

Points d'attention

  • NAT — Policies > NAT, sur la règle qui s'applique à la VM, onglet Translated Packet : type de traduction Persistent Dynamic IP and Port (PAN-OS 11.1.1 et supérieur). Sur un PAN-OS plus ancien, créez une règle NAT Static IP dédiée à la VM — avec la traduction dynamique classique, le port source est imprévisible et tout passe par les relais DERP.
  • Déchiffrement — Policies > Decryption : ajouter une règle No Decrypt pour OVS-OUTPOST. tailscaled refuse un certificat ré-signé, l'enrôlement échoue.
  • Security Profiles — piège suivant une fois la règle en place : le trafic apparaît en allow dans Monitor > Traffic mais la session est quand même coupée. Regarder Monitor > Threat : un profil Vulnerability Protection ou Anti-Spyware attaché à la règle peut la reset. Le retirer pour cette règle.
  • Signature du blocage — un RST immédiat après le ClientHello trahit une action reset-both sur une règle placée plus haut, pas un port 443 fermé.

Diagnostic express

# La règle matche-t-elle vraiment ?
test security-policy-match from dmz to untrust source 192.0.2.10 \
    destination <IP_TAILSCALE> destination-port 443 protocol 6

# Les objets FQDN sont-ils résolus ? (mapping, TTL restant, dernier refresh)
request system fqdn show

# Forcer une actualisation (toute la table — il n'existe pas de refresh unitaire)
request system fqdn refresh

Dans Monitor > Traffic, le filtre (addr.src eq 192.0.2.10) and (app eq tailscale) isole le trafic de l'OutPost et désigne la règle responsable dans la colonne Rule.

SymptômeCause probable
Trafic loggé allow dans Monitor > Traffic, session reset malgré toutUn Security Profile coupe la session — vérifier Monitor > Threat
RST immédiat après le Client helloRègle reset-both placée plus haut : la règle Allow n'est pas la première à matcher
Application vue comme incomplete / insufficient-dataLa session n'aboutit pas — vérifier la traduction NAT et l'accessibilité sortante
request system fqdn show ne renvoie rien pour un objetL'objet n'est référencé par aucune règle, ou le DNS de Device > Setup > Services ne répond pas
Connexion directe jamais établie, tout passe par DERPTraduction NAT non persistante (passer en Persistent Dynamic IP and Port), ou application stun absente de la règle
Check Point (R80.10+)

Selon Tailscale, Check Point établit des connexions directes sans configuration particulière. Il reste à créer la règle sortante.

Objets

ObjetTypeValeur
OverView-OutPostHost192.0.2.10
OverView-EgressHost51.15.222.156
.tailscale.comDomain — case FQDN décochée.tailscale.com
UDP-STUNService UDP3478
UDP-WireGuardService UDP32768-60999

Le point initial est obligatoire. Case FQDN décochée = mode non-FQDN, qui fait correspondre le domaine et ses sous-domaines (controlplane., derp1-all.…). Cochée, l'objet ne matcherait que tailscale.com et www.tailscale.com.

Règles

N°SourceDestinationServiceAction
1OverView-OutPost.tailscale.comhttps, UDP-STUNAccept
2OverView-OutPostOverView-EgressUDP-WireGuardAccept

Points d'attention

  • Le mode non-FQDN s'appuie sur des résolutions DNS inverses : si le matching est instable, remplacez l'objet Domain par des objets Domain FQDN nommés un par un.
  • Exclure la source OverView-OutPost de l'HTTPS Inspection — l'interception TLS casse l'enrôlement Tailscale.

Diagnostic express

# Paquets rejetés en temps réel, avec le motif du drop (Ctrl+C pour arrêter)
fw ctl zdebug + drop | grep 192.0.2.10

# Tables noyau du résolveur DNS inverse utilisées par les objets Domain
fw ctl multik print_bl dns_reverse_cache_tbl

# Relancer le résolveur si les objets Domain ne matchent plus,
# puis réinstaller la politique
killall wsdnsd
SymptômeCause probable
Log Drop sur la « Cleanup rule » alors que la règle existeL'objet Domain non-FQDN n'a pas résolu : la gateway raisonne en IP, pas en nom
Matching intermittentLe mode non-FQDN dépend de résolutions inverses qui n'aboutissent pas toujours — basculer sur des objets Domain FQDN
Domain resolving error dans les logsDNS non joignable depuis la gateway — vérifier Gateway Properties > DNS

Les logs se consultent dans SmartConsole, onglet Logs & Monitor, filtrés sur la source OverView-OutPost.

Cisco ASA / Firepower (FTD)

ASA — les objets network de type fqdn n'acceptent pas de wildcard, et la résolution DNS doit être fonctionnelle sur l'appliance elle-même.

dns domain-lookup outside
dns server-group DefaultDNS
 name-server 8.8.8.8

! 192.0.2.10 = l'IP de votre OutPost — remplacez-la par la vôtre
object network OVS-OUTPOST
 host 192.0.2.10
object network OVS-OVERVIEW
 host 51.15.222.156

object network TS-CONTROLPLANE
 fqdn controlplane.tailscale.com
object network TS-LOGIN
 fqdn login.tailscale.com
object network TS-DERP1
 fqdn derp1-all.tailscale.com
! … un objet par région DERP publiée dans la derp map

object-group network TS-ALL
 network-object object TS-CONTROLPLANE
 network-object object TS-LOGIN
 network-object object TS-DERP1

access-list DMZ_OUT extended permit tcp object OVS-OUTPOST object-group TS-ALL eq 443
access-list DMZ_OUT extended permit udp object OVS-OUTPOST object-group TS-ALL eq 3478
access-list DMZ_OUT extended permit udp object OVS-OUTPOST object OVS-OVERVIEW range 32768 60999
access-group DMZ_OUT in interface dmz

Firepower / FTD — les objets URL acceptent les wildcards. Créez un objet URL .tailscale.com et utilisez-le dans l'onglet URLs d'une règle Access Control, plutôt que d'énumérer 28 objets FQDN.

Points d'attention

  • Sans ouverture de port dédiée côté NAT, Cisco force le trafic à passer par les relais DERP : c'est fonctionnel, simplement plus lent.
  • Cisco Umbrella (agent poste) : aucun contournement connu, le trafic emprunte toujours les relais.
  • Ne pas activer le déchiffrement SSL/TLS sur ce flux.

Diagnostic express

! ASA — simuler le flux à travers la politique
packet-tracer input dmz tcp 192.0.2.10 12345 <IP_TAILSCALE> 443 detailed

! Les objets FQDN sont-ils résolus ?
show dns
show run object network

! L'ACL est-elle réellement traversée ? (compteurs de hits)
show access-list DMZ_OUT
SymptômeCause probable
show dns ne renvoie aucune entréedns domain-lookup n'est pas activé sur une interface joignable : les objets FQDN restent sans IP et l'ACL ne matche jamais
packet-tracer s'arrête en phase ACCESS-LIST avec DROPL'objet FQDN concerné n'est pas dans l'object-group, ou n'a pas résolu
Compteurs de hits à 0 sur la ligne UDP 32768-60999Normal si la connexion directe n'est jamais tentée — le trafic passe par les relais DERP

Sur Firepower / FTD, les logs équivalents sont dans Analysis > Connection Events, filtrés sur l'IP de la VM.

pfSense / OPNsense

Alias

Créez des alias de type Host(s) — les alias pfSense/OPNsense résolvent les FQDN périodiquement, mais n'acceptent pas de wildcard :

AliasTypeContenu
Tailscale_CPHost(s)controlplane.tailscale.com, login.tailscale.com, log.tailscale.com
Tailscale_DERPHost(s)un derpN-all.tailscale.com par région DERP
OverView_EgressHost(s)51.15.222.156

Règles (interface DMZ)

ProtoSourceDestinationPortAction
TCPIP de la VMTailscale_CP, Tailscale_DERP443Pass
UDPIP de la VMTailscale_DERP3478Pass
UDPIP de la VMOverView_Egress32768-60999Pass

Point d'attention — NAT sortant

Par défaut le NAT réécrit le port source, ce qui empêche la connexion directe. Passez Firewall > NAT > Outbound en mode Hybrid ou Manual, puis cochez Static Port sur la règle qui couvre l'IP de la VM. Activer NAT-PMP ou UPnP produit le même résultat.

Diagnostic express

# Que contient réellement l'alias après résolution DNS ?
pfctl -t Tailscale_CP -T show

# États ouverts depuis la VM
pfctl -ss | grep 192.0.2.10
SymptômeCause probable
pfctl -t … -T show renvoie une table videLes FQDN de l'alias ne résolvent pas — vérifier le DNS du firewall
Blocage sur la « Default deny rule » dans Status > System Logs > FirewallLa règle est placée trop bas : sur une interface, les règles sont évaluées de haut en bas et la première qui matche gagne
tailscale netcheck renvoie UDP: false sur la VMNAT sortant sans Static Port, ou UDP 3478 bloqué
Autres constructeurs
ConstructeurComportement par défautÀ faire
SophosConnexion directe fonctionnelleRien de particulier
BarracudaPasse par les relais DERPAugmenter le paramètre Max UDP (sessions UDP simultanées)
UniFi GatewayPasse par les relais DERPDésactiver la détection de menaces P2P dans les réglages de sécurité

Dans tous les cas, un firewall qui laisse passer TCP/443 sortant suffit à faire fonctionner l'OutPost.

Astuce

Si la règle semble correcte et que la VM ne se connecte toujours pas, allez voir La VM ne joint pas Tailscale : le compteur de hits de la règle dit en une seconde si le trafic l'emprunte réellement.


Phase 4 : Activation et ajout des sources de données

Une fois la VM déployée et les firewalls configurés, informez OverSOC que la VM est en ligne. OverSOC vérifie la connexion VPN et valide le bon fonctionnement.

Une fois l'OutPost connecté, il apparaît automatiquement dans votre interface OverView lorsque vous ajoutez une source de données. C'est vous qui configurez les accès aux APIs cibles :

  1. Dans OverView, aller dans Sources de données > Ajouter
  2. Sélectionner votre OutPost comme point de collecte
  3. Renseigner les informations de connexion à l'API cible
Note
IP ou nom DNS ?

Les deux fonctionnent. Un nom DNS interne (ex : api.internal.corp) est utilisable à condition que la VM sache le résoudre — c'est-à-dire que ses résolveurs DNS (voir Phase 2) connaissent vos zones internes. Dans le doute, l'adresse IP fonctionne toujours.

Vos actions :

  • Vous assurer que les règles firewall internes autorisent la VM à joindre vos APIs
  • Ajouter vos sources de données dans OverView

Accès à la VM

MéthodeDétails
Console (hyperviseur)Login : ubuntu, mot de passe fourni par OverSOC
SSHssh ubuntu@<IP_LAN> (clé SSH fournie par OverSOC si applicable)

Recommandation de sécurité : une fois la VM connectée au réseau, configurez une clé SSH et désactivez le mot de passe :

# Ajouter votre clé SSH
echo "ssh-ed25519 AAAA... votre@email" >> ~/.ssh/authorized_keys

# Désactiver le mot de passe
sudo passwd -d ubuntu

Commandes utiles :

  • tailscale status — Vérifier l'état de la connexion VPN
  • sudo gateway-reconfig — Menu de reconfiguration (changer la clé VPN, reconnecter)

Flux réseau

Note

Référence : Tailscale Firewall Ports

Flux sortants requis (source : IP de la VM) :

ServiceDestinationPortProtocoleRequis pour
Control planecontrolplane.tailscale.com443TCP (HTTPS)Enregistrement, auth, config
Loginlogin.tailscale.com443TCP (HTTPS)Authentification
Logs & consolelog.tailscale.com, console.tailscale.com443TCP (HTTPS)Télémétrie de connexion et coordination
DERP relaysderpN-all.tailscale.com443TCPTrafic relayé (fallback si connexion directe impossible)
STUNderpN-all.tailscale.com3478UDPDétection NAT (nécessaire à la connexion directe)
WireGuard direct51.15.222.15632768-60999UDPConnexion directe peer-to-peer (perf optimale)

Flux de service (hors VPN — voir Flux de service) :

ServiceDestinationPortProtocoleRequis pour
Mises à jour OSarchive.ubuntu.com, security.ubuntu.com80, 443TCPMises à jour de sécurité automatiques
Mises à jour VPNpkgs.tailscale.com443TCPMises à jour du client Tailscale
NTPntp.ubuntu.com123UDPSynchronisation de l'heure

La VM doit aussi pouvoir joindre ses résolveurs DNS (UDP/TCP 53) — généralement couvert par une règle existante.

Note

Minimum vital : TCP 443 sortant vers *.tailscale.com. Si l'UDP est bloqué, Tailscale bascule sur les relais DERP (TCP 443) — plus lent mais fonctionnel. L'ouverture UDP vers 51.15.222.156 permet une connexion directe entre l'OutPost et OverView, sans passer par les relais.


Troubleshooting

1. Commencer ici — Diagnostic rapide

Toujours commencer par cette commande — elle donne le maximum d'information en une seule fois :

tailscale netcheck

Teste tout d'un coup : accessibilité des DERP, UDP, STUN, hairpinning.

Résultat sain attendu :

ChampValeur attendue
UDPtrue
IPv4adresse détectée
Nearest DERPun serveur (ex : par pour Paris)

Si tout est false / unknown → problème réseau en amont. Voir la section 2 ci-dessous.

Status et logs :

sudo tailscale status
sudo journalctl -u tailscaled -n 100 --no-pager

2. La VM ne joint pas Tailscale

Symptômes typiques : tailscale status affiche Logged out, ou les logs montrent fetch control key: ... context deadline exceeded. Déroulez ces vérifications dans l'ordre — chacune isole une couche.

Attention
Un ping qui répond ne prouve rien

ping controlplane.tailscale.com et curl https://google.com fonctionnent sur la quasi-totalité des réseaux qui bloquent cette VM : la plupart des firewalls laissent passer l'ICMP et la navigation web générique, et bloquent Tailscale nommément. Ne concluez pas « le flux est ouvert » sur la base de ces deux tests.

DNS

dig controlplane.tailscale.com

Si la résolution échoue, vérifiez /etc/resolv.conf et que le firewall ne bloque pas UDP 53.

HTTPS vers le control plane (port 443)

curl -v https://controlplane.tailscale.com/key?v=142

L'enregistrement Tailscale passe entièrement par HTTPS. L'endroit exact où la sortie s'arrête désigne le blocage :

Ce que vous voyezInterprétation
HTTP/2 200 en fin de sortieLe control plane est joignable — le problème est ailleurs (voir section 3)
Rien après Trying <ip>:443...Le TCP est droppé — sortie 443 fermée sur le firewall
Connected to ... puis blocage juste après Client helloLe TCP passe, le TLS est coupé après lecture du nom de domaine — voir ci-dessous
Erreur de certificat (self signed, CA interne)Un proxy intercepte le TLS — voir ci-dessous

Le TLS n'aboutit pas : interception, SNI ou catégorie applicative

Trois blocages TLS possibles, que deux commandes départagent :

# Test A — handshake avec le nom réel
timeout 10 openssl s_client -connect controlplane.tailscale.com:443 \
  -servername controlplane.tailscale.com </dev/null 2>&1 | tail -5

# Test B — même IP, nom anodin
IP=$(getent ahostsv4 controlplane.tailscale.com | awk 'NR==1{print $1}')
timeout 10 openssl s_client -connect $IP:443 -servername www.google.com </dev/null 2>&1 | tail -5

Sur un réseau qui laisse passer Tailscale, les deux tests terminent par Verify return code: 0 (ok) : le load balancer Tailscale complète le handshake quel que soit le nom envoyé.

RésultatCauseFix
A aboutit mais montre un certificat émis par une CA interne (pas Let's Encrypt / DigiCert)Un proxy intercepte le TLSExclure *.tailscale.com de l'inspection TLS
A bloque après Client hello, B aboutitLe nom de domaine est filtré (la seule variable qui change est le nom envoyé)Voir les deux règles ci-dessous
A et B bloquent tous les deuxLa plage d'IP de destination est bloquéeOuvrir le TCP 443 sortant (cf. Flux réseau)

Quand c'est le nom qui est filtré, aucun réglage sur la VM ne contourne le blocage — deux règles à faire vérifier par votre équipe réseau :

  1. Filtrage URL / SNI — autoriser *.tailscale.com en TCP 443 (détail dans Flux réseau).
  2. Filtrage applicatif par catégorie — Tailscale est classé « VPN » ou « anonymizer » par la plupart des firewalls de nouvelle génération (Fortinet, Palo Alto, Check Point, Zscaler) et bloqué par catégorie, même quand la destination est autorisée. Cette règle doit être surchargée pour l'IP de cette VM uniquement. C'est la cause habituelle quand « on a ouvert le flux » et « ça ne marche toujours pas » coexistent. Tailscale documente ce cas par éditeur (Fortinet, Palo Alto, Check Point, Sophos…) dans Configure your firewall to work with Tailscale — pour Fortinet : ne pas avoir de règle qui bloque la catégorie Proxy ou qui matche l'application Tailscale définie dans FortiGuard.
Astuce
La règle est bonne mais ça bloque quand même ?

Vérifiez le compteur de hits de votre règle firewall. Cette VM retente la connexion toutes les ~30 secondes : une règle réellement empruntée compte des centaines de hits en quelques heures. Un compteur quasi nul prouve que le trafic tombe dans une autre règle plus bas dans la liste — c'est elle qu'il faut corriger. Cause fréquente : des objets destination de type FQDN, alors que controlplane.tailscale.com publie plus de 15 adresses en rotation — le firewall et la VM résolvent des IPs différentes et la règle est enjambée. Préférez un objet applicatif maintenu par l'éditeur du firewall (ex. Internet Service « Tailscale » chez Fortinet), ou une destination ouverte limitée aux services requis, la source étant déjà restreinte à cette VM.

Pièce à conviction pour l'équipe réseau — le control plane répond aussi en clair sur le port 80 :

timeout 10 curl -sS -o /dev/null -w '%{http_code}\n' http://controlplane.tailscale.com/derpmap/default

Si le port 80 répond 200 alors que le 443 bloque, le filtrage porte bien sur le HTTPS et non sur la destination.

Attention
Formuler la demande avec les bons mots

Ne demandez pas « d'ouvrir le TCP 443 » : il est déjà ouvert, la connexion TCP s'établit. C'est le nom de domaine, lu en clair dans le ClientHello, qui déclenche le reset. Une équipe réseau qui cherche une règle sur le port ne trouvera rien. Demandez l'autorisation de *.tailscale.com sur une règle de filtrage URL / SNI / applicative, pour l'IP de cette VM uniquement.

Note
Piège de lecture dans les traces réseau

controlplane.tailscale.com résout vers 192.200.0.0/24 (et 2606:b740:49::/48). Malgré le préfixe 192., c'est de l'espace public : seul 192.168.0.0/16 est privé au sens RFC 1918. Une destination en 192.200.x.x dans une trace n'est donc ni une erreur de routage ni une fuite d'adressage interne.

Derrière un proxy sortant explicite

Le service tailscaled ne lit pas les variables proxy du shell. Déclarez le proxy dans l'unité systemd :

sudo systemctl edit tailscaled
# Ajouter :
# [Service]
# Environment="HTTPS_PROXY=http://proxy:port"

sudo systemctl restart tailscaled

Le proxy doit laisser passer le CONNECT vers *.tailscale.com:443 sans inspection TLS.

3. Clé invalide ou expirée

Symptômes :

  • Les logs montrent backend error: invalid key: API key ... not valid → la clé d'authentification est expirée ou révoquée
  • La VM était connectée mais est désormais injoignable, et OverView indique le statut "Expired" → la clé de la machine a expiré

Fix — identique dans les deux cas :

  1. Contactez le support OverSOC — seul OverSOC peut générer une nouvelle auth key (la console Tailscale est gérée par OverSOC). Les autorisations de la machine (tags) sont portées par la clé : rien à configurer de ce côté.
  2. Une fois la nouvelle clé reçue, appliquez-la sur la VM :
sudo tailscale up --auth-key=tskey-auth-NOUVELLE_CLE

(Ajoutez --force-reauth si la machine était au statut "Expired".)

Attention
« requires mentioning all non-default flags »

Si tailscale up refuse avec ce message, c'est normal : la VM porte déjà une configuration, et tailscale up remettrait à zéro tout réglage non mentionné. L'erreur affiche la commande exacte à utiliser (avec tous les réglages courants, ex : tailscale up --hostname=...) : copiez-la telle quelle et ajoutez-y --auth-key=.... Alternative : sudo gateway-reconfig s'en occupe pour vous.

4. Subnet router — activer les routes

Symptôme : OverView vous indique que l'OutPost n'expose aucune route réseau.

Fix :

Sur la VM, advertise les routes du réseau local :

sudo tailscale set --advertise-routes=172.18.0.0/16
Attention

Adaptez le CIDR au réseau réel de la VM.

Utilisez bien tailscale set et non tailscale up : set modifie ce seul réglage, alors que up remet à zéro tous les réglages non mentionnés sur la ligne de commande.

Puis contactez OverSOC pour approuver les routes annoncées sur la console Tailscale.

5. VM active mais injoignable

Symptôme : la VM fonctionne et tailscaled est actif, mais OverSOC vous signale que l'OutPost est injoignable et les collectes n'aboutissent plus.

C'est la signature d'un control plane joignable sans chemin de données : le 443 vers controlplane.tailscale.com passe toujours, mais plus aucun trafic ne circule avec les autres appareils.

Diagnostic, depuis la VM :

tailscale netcheck
ObservationInterprétation
Aucune latence DERP, UDP: falseNi relais ni chemin direct : le 443 vers derp*.tailscale.com et l'UDP sont bloqués
Latences DERP affichées, UDP: trueN'en concluez pas que le relais fonctionne — voir ci-dessous

Les latences de netcheck sont mesurées en STUN sur UDP 3478, alors que le relais lui-même est une connexion TLS sur TCP 443 vers derp*.tailscale.com. Un filtrage par nom de domaine (SNI) qui bloque le 443 vers les relais laisse le STUN intact : vous voyez des latences et UDP: true alors qu'aucune donnée ne circule.

Pour tester le relais lui-même plutôt que le STUN :

tailscale debug derp par

Attendu : au moins une ligne Successfully established a DERP connection. Des entrées dans Errors portant uniquement sur de l'IPv6 (no route to host) sont normales sur un site sans IPv6. En revanche, aucune connexion établie alors que netcheck affiche une latence pour Paris confirme que le canal de relais est coupé.

Cas particulier : certificate signed by unknown authority

Si tailscale debug derp par renvoie ceci :

Error upgrading connection to node "derp18d.tailscale.com" @ "176.58.90.104:443"
to TLS over IPv4: tls: failed to verify certificate:
x509: certificate signed by unknown authority

la connexion TCP aboutit — c'est la validation du certificat qui échoue. Un équipement en coupure (pare-feu applicatif, proxy) réalise une inspection TLS : il déchiffre la session et la re-signe avec son autorité interne, que la VM ne connaît pas.

Le certificat des relais Tailscale est émis par Let's Encrypt et se vérifie depuis n'importe quel réseau non filtré :

echo | openssl s_client -connect 176.58.90.104:443 \
  -servername derp18d.tailscale.com 2>/dev/null | openssl x509 -noout -issuer
# issuer=C=US, O=Let's Encrypt, CN=YE1

Tailscale valide strictement la chaîne de certificats. L'inspection TLS est donc structurellement incompatible : il n'existe aucun contournement côté VM.

Fix : exemptez les domaines Tailscale de l'inspection TLS — ssl-exempt sur FortiGate, « SSL bypass » ou « TLS inspection exclusion » selon l'équipement.

DomaineRôle
controlplane.tailscale.comEnregistrement, authentification, configuration
derp*.tailscale.comRelais chiffrés
log.tailscale.comTélémétrie et audit

Dans la même sortie, les erreurs over IPv6: ... network is unreachable sont normales sur un site sans IPv6 : ce n'est pas la cause.

Fix : appliquez les vérifications de la section 2 en ciblant les destinations DERP, puis validez :

tailscale netcheck                          # attendu : Nearest DERP renseigné, UDP: true
tailscale debug derp par                    # attendu : au moins une connexion DERP établie
tailscale ping tailscale-tenant-operator    # le peer OverView, visible dans tailscale status

FAQ

Q : Qui peut accéder à la VM ? R : Uniquement OverView. L'OutPost fait partie du réseau privé Tailscale d'OverView, isolé d'Internet et de tout autre accès.

Q : La VM peut-elle accéder à notre réseau interne ? R : Seulement ce que vous autorisez explicitement via vos règles firewall. Par défaut : zéro accès.

Q : Que se passe-t-il si la VM est compromise ? R : Le rayon d'impact est limité aux APIs explicitement autorisées par vos règles firewall. La VM ne peut pas pivoter vers d'autres ressources.

Q : Quel est l'impact sur les performances ? R : L'overhead WireGuard est < 5%. Le mode peer-to-peer performe comme une connexion directe.

Q : Que faire si la connexion VPN tombe ? R : Connectez-vous à la VM et lancez sudo gateway-reconfig pour reconnecter. Si le problème persiste, contactez le support OverSOC.

Q : Comment révoquer un accès ? R : Contactez le support OverSOC. La révocation est instantanée (propagation < 30 secondes).

Q : Pourquoi Tailscale se connecte-t-il à des serveurs dans de nombreux pays différents ? R : Comportement normal et attendu. Tailscale mesure périodiquement la latence vers l'ensemble de ses serveurs relais DERP, répartis dans le monde, pour choisir le plus proche — c'est ce que fait tailscale netcheck. Aucune donnée applicative n'est envoyée lors de ces sondes ; seul le relais le plus proche (ex : par pour Paris) sert de fallback si la connexion directe est impossible.