DIDOES ITEndpoint Engineering← Tous les articles

Troubleshooting / Endpoint Lab

Troubleshooting Always On VPN : du profil Windows à la ressource interne

Je ne m’arrête pas au code VPN affiché par Windows. Je localise l’échec entre distribution du profil, déclenchement, résolution de la passerelle, négociation, authentification, autorisation, attribution réseau et accès à la ressource.

À propos des exemples

Les scripts illustrent les contrôles ou les corrections décrits dans l’article. Ils ne constituent pas des outils prêts à déployer. Avant toute utilisation, vérifiez les chemins, les permissions et la cible, puis testez le comportement et le retour arrière sur un environnement représentatif.

01

Résumé opérationnel

Le diagnostic commence par le profil attendu dans la bonne portée. Get-VpnConnection sans AllUserConnection peut masquer un device tunnel pourtant présent, tandis qu’un profil utilisateur n’existe pas sous SYSTEM.

Je corrèle Microsoft-Windows-RasClient/Operational, événements IKE/RemoteAccess, journaux NPS et passerelle à la même tentative. Les codes 800 ou 809 orientent vers le chemin réseau, mais ne dispensent pas de vérifier DNS, ports et protocole.

Après connexion, je poursuis avec adresse, routes, métriques, NRPT, DNS et application. Une session VPN connectée peut parfaitement transporter aucun flux utile.

Le diagnostic commence par le profil attendu dans la bonne portée. Get-VpnConnection sans AllUserConnection peut masquer un device tunnel pourtant présent, tandis qu’un profil utilisateur n’existe pas sous SYSTEM.
02

Symptôme, contexte et périmètre de l’incident

Je note profil, tunnel user/device, réseau source, heure, message, code, utilisateur et comportement attendu. Je reproduis une seule fois après avoir activé les traces nécessaires, pour éviter une série de tentatives non corrélées.

Je vérifie le profil avec Get-VpnConnection dans la session utilisateur puis avec -AllUserConnection en administration. J’examine serveur, TunnelType, AuthenticationMethod, SplitTunneling et statut sans modifier le profil.

Le besoin opérationnel doit être défini avant de choisir un profil ou un outil. Il faut distinguer le résultat attendu, l’expérience utilisateur, le propriétaire de la configuration et les contrôles qui confirmeront son application. La présence d’un paramètre dans une console ne justifie pas son activation.

L’intention configurée dans le cloud, son applicabilité, l’état reçu par Windows et le résultat observé correspondent à quatre informations différentes. Une affectation réussie, un état vert ou une requête HTTP acceptée ne prouve pas à lui seul que tout le parcours fonctionne.

  • Always On VPN, Troubleshooting, RasClient, IKEv2
  • postes Windows gérés et services Microsoft officiellement documentés
  • validation en laboratoire puis pilote représentatif avant généralisation
03

Questions à résoudre et méthode de diagnostic

Le diagnostic de « Troubleshooting Always On VPN » commence par le symptôme exact et son horodatage. Plusieurs causes restent possibles tant qu’un log, un état local ou une donnée du service ne les a pas confirmées ou écartées. Une affectation visible dans le portail, un code isolé ou un état ancien ne suffit pas.

La première collecte reste en lecture seule : contexte utilisateur ou SYSTEM, version de Windows et des composants, identifiants de corrélation, événements, logs et état du registre. Aucun cache, certificat, objet ou clé ne doit être supprimé avant cette collecte.

La première phase qui diverge détermine la suite. Une seule cause est corrigée à la fois, puis le scénario initial est rejoué. Un contournement temporaire ne doit pas être présenté comme une correction définitive.

Les heures du portail et du poste, le décalage UTC et les identifiants présents dans plusieurs logs forment une chronologie unique. Deux messages identiques peuvent appartenir à des tentatives différentes. La conclusion indique clairement les faits confirmés, les hypothèses probables et les points qui restent impossibles à vérifier.

  • comprendre l’architecture, les dépendances et les limites
  • mettre en œuvre un pilote mesurable et reproductible
  • construire un diagnostic et un rollback utilisables par l’exploitation
04

Cartographie du flux à diagnostiquer

Je note profil, tunnel user/device, réseau source, heure, message, code, utilisateur et comportement attendu. Je reproduis une seule fois après avoir activé les traces nécessaires, pour éviter une série de tentatives non corrélées.

Je vérifie le profil avec Get-VpnConnection dans la session utilisateur puis avec -AllUserConnection en administration. J’examine serveur, TunnelType, AuthenticationMethod, SplitTunneling et statut sans modifier le profil.

La résolution DNS publique de la passerelle et la connectivité vers les ports/protocoles requis précèdent l’authentification. IKEv2 derrière NAT, filtrage opérateur ou inspection réseau peut conduire aux erreurs 800/809.

FLUXChaîne fonctionnelle — Troubleshooting Always On VPN
  1. ProvisionProfil et certificat présents.
  2. NegotiateDNS, pare-feu et IKE/SSTP.
  3. AuthorizeGateway et NPS acceptent.
  4. ReachAdresse, routes, DNS, application.

Chaque étape doit écrire assez d’informations dans les logs ou les états du service pour confirmer ce qu’elle a exécuté. Un succès en amont ne garantit pas la fin du traitement.

05

État initial et prérequis de collecte

Je fige l’état du poste avant toute correction : versions, heure, identité, contexte d’exécution, affectations, autorités de gestion et dernier cycle connu. Cette photographie permet de distinguer la cause initiale des effets produits par les essais suivants.

Je vérifie également que le compte, l’appareil, la licence, la connectivité et les composants nécessaires rendent le scénario réellement applicable. Un prérequis absent doit être traité comme une cause potentielle, pas comme un détail de préparation.

  • poste pilote et réseau reproductible
  • accès aux journaux RasClient
  • accès aux logs passerelle et NPS
  • profil XML de référence
  • inventaire certificats
  • routes et DNS attendus
  • moyen d’accès hors VPN
06

Collecte des preuves : journaux, registre et états

La chronologie relie l’heure de la demande, le check-in, l’événement local, la décision du composant et la remontée dans le portail. Conservez l’heure UTC et l’heure locale. Avant tout partage, anonymisez les UPN, DeviceId, TenantId, noms internes, certificats, adresses et contenus métiers.

La collecte initiale reste en lecture seule. Ne videz pas un cache, ne supprimez pas une clé, ne réinitialisez pas un agent et ne forcez pas un enrôlement avant d’avoir capturé les informations utiles. Ces actions changent l’état et peuvent faire disparaître la cause initiale.

Les scripts publiés ici illustrent la collecte décrite dans l’article et restent en lecture seule. Une remédiation doit proposer une simulation, limiter sa cible, expliquer son impact et restaurer l’état précédent. Une opération privilégiée ou à grande échelle exige en plus une validation formelle et un pilote représentatif.

  • Qualifier tunnel et portée.
  • Confirmer le profil effectif.
  • Tester DNS et chemin passerelle.
  • Corréler RasClient et gateway.
  • Corréler NPS et certificat
  • Tester routes/NRPT/DNS
  • Reproduire après correction
MATRICELecture structurée des preuves
CoucheQuestionPreuveDécision
CiblageLe poste devait-il recevoir la configuration ?Groupe, filtre, licence et affectationCorriger le ciblage avant le client
TransportLa demande a-t-elle atteint sa destination ?Check-in, événement, request-id ou téléchargementTraiter identité, réseau ou service
TraitementLe composant a-t-il évalué la demande ?Journal, état par paramètre ou résultat APICorriger la valeur ou le composant
RésultatL’objectif final est-il atteint ?Contrôle fonctionnel et rapport corréléValider ou maintenir NO-GO
07

Investigation pas à pas

Je suis l’ordre réel du traitement et je m’arrête à la première divergence démontrée. Poursuivre malgré une preuve manquante créerait des symptômes secondaires et rendrait la chronologie moins fiable.

Pour chaque étape, je note l’action, l’emplacement, le résultat attendu et la méthode de vérification. Les champs Impact et Retour arrière concernent l’éventuelle correction ; la phase d’observation reste en lecture seule autant que possible.

PROCÉDUREParcours d’investigation contrôlé
  1. 01Établir l’état initial
    Emplacement
    Portails Microsoft et poste témoin
    Commande / configuration
    Qualifier tunnel et portée.
    Résultat attendu
    Les versions, identités, affectations, autorités et écarts sont documentés.
    Vérification
    Comparer l’inventaire local, les portails et les sources techniques.
    Impact
    Lecture seule.
    Retour arrière
    Aucun.
  2. 02Configurer le pilote
    Emplacement
    Groupe, profil ou service pilote
    Commande / configuration
    Confirmer le profil effectif.
    Résultat attendu
    Une configuration unique et bornée est appliquée à une audience stable.
    Vérification
    Relire les inclusions, exclusions, filtres, licences et permissions.
    Impact
    Impact limité au pilote.
    Retour arrière
    Retirer l’affectation et restaurer l’état précédent.
  3. 03Observer le parcours complet
    Emplacement
    Rapports cloud et journaux locaux
    Commande / configuration
    Tester DNS et chemin passerelle.
    Résultat attendu
    Chaque couche produit une preuve datée et les écarts sont expliqués.
    Vérification
    Rejouer le scénario nominal et au moins un cas négatif.
    Impact
    Collecte de preuves minimisées.
    Retour arrière
    Aucun pour la collecte.
  4. 04Décider la vague suivante
    Emplacement
    Dossier de changement et runbook
    Commande / configuration
    Corréler RasClient et gateway.
    Résultat attendu
    Les critères GO sont atteints ou le changement reste explicitement en NO-GO.
    Vérification
    Contrôler les KPI, les incidents, le support et le rollback.
    Impact
    Extension contrôlée ou arrêt.
    Retour arrière
    Suspendre la vague et appliquer le runbook de retour arrière.

La correction commence après l’identification d’une phase et d’une cause confirmées par des informations concordantes.

08

Fonctionnement détaillé et responsabilités

Je note profil, tunnel user/device, réseau source, heure, message, code, utilisateur et comportement attendu. Je reproduis une seule fois après avoir activé les traces nécessaires, pour éviter une série de tentatives non corrélées.

Je vérifie le profil avec Get-VpnConnection dans la session utilisateur puis avec -AllUserConnection en administration. J’examine serveur, TunnelType, AuthenticationMethod, SplitTunneling et statut sans modifier le profil.

La résolution DNS publique de la passerelle et la connectivité vers les ports/protocoles requis précèdent l’authentification. IKEv2 derrière NAT, filtrage opérateur ou inspection réseau peut conduire aux erreurs 800/809.

  • poste pilote et réseau reproductible
  • accès aux journaux RasClient
  • accès aux logs passerelle et NPS
  • profil XML de référence
09

Configuration, exploitation et cas limites

RasClient/Operational donne l’entrée de connexion, le code et le contexte. Les journaux IKEEXT, RemoteAccess et les traces réseau servent lorsque la négociation IPsec ou SSTP échoue avant RADIUS.

Pour l’authentification certificat, je contrôle chaîne, date, EKU, clé privée, SAN/mapping et révocation. Pour EAP, j’exporte la configuration effective et je vérifie le certificat serveur attendu.

NPS doit recevoir la requête du bon client RADIUS. Un Access-Reject est analysé par Reason Code, policy, groupe, méthode et contraintes ; l’absence d’événement oriente vers la passerelle ou le secret RADIUS.

  • Corréler NPS et certificat
  • Tester routes/NRPT/DNS
  • Reproduire après correction
10

Lire les états et les résultats

Après Access-Accept, je contrôle adresse attribuée, interface, MTU, routes et métriques. Un préfixe local identique au réseau distant crée un conflit que le VPN ne peut résoudre par authentification.

Je vérifie NRPT et résolution avec Resolve-DnsName sur les espaces internes. Une IP joignable mais un nom en échec est un incident DNS ; une résolution correcte sans TCP est un incident de route ou de pare-feu.

La correction est testée sur le réseau initial puis sur un second réseau. Je valide reconnexion après veille, bascule Wi-Fi/Ethernet et renouvellement du certificat avant clôture.

Une configuration décrit ce qui devrait arriver. L’inventaire montre un état observé à un instant donné, tandis qu’un log d’exécution indique ce que le composant a réellement tenté. Les horodatages et les contextes doivent correspondre avant de relier ces informations.

Les états non applicable, pending, conflict, error et success doivent rester séparés. L’absence d’un poste dans un rapport ne permet pas de conclure : il peut être hors ligne, non éligible, non ciblé, en retard de télémétrie ou exclu de la collecte.

11

Pilote, généralisation et maintien en conditions opérationnelles

Le pilote couvre plusieurs modèles matériels, versions de Windows, profils réseau, populations utilisateur et exceptions métier. Une cohorte témoin aide à distinguer l’effet du changement d’une évolution globale du service, d’une mise à jour applicative ou d’un incident réseau.

Les critères GO sont définis avant le début : couverture, taux de succès, délai de convergence, incidents, tickets support, régressions et temps de rollback. Une moyenne satisfaisante ne masque pas un sous-groupe en échec ; les résultats sont donc segmentés par version, modèle, site et mode de gestion.

Les cas négatifs sont testés volontairement : appareil hors ligne, licence absente, identité non éligible, règle non applicable, réseau filtré et retour arrière. Un design exploitable doit échouer de manière visible, sûre et compréhensible pour le support.

Après généralisation, les exceptions, permissions, versions de profil et dépendances doivent être revues régulièrement. Le service cloud et Windows évoluent ; une décision correcte aujourd’hui doit rester traçable et être revalidée lorsqu’un prérequis ou une interface change.

12

Commandes et scripts de diagnostic en lecture seule

Les commandes de cette section servent à inventorier, corréler ou illustrer. Les scripts de diagnostic restent en lecture seule : ils arrêtent leur exécution en cas d’erreur et ne modifient volontairement aucun paramètre du poste.

Je vérifie toujours le contexte d’exécution. Une commande lancée dans la session utilisateur n’observe pas forcément les mêmes certificats, variables, chemins ou ruches de registre qu’un processus exécuté sous SYSTEM.

POWERSHELLCollecte Always On VPN — lecture seule
# Exemple de collecte en lecture seule — à adapter avant utilisation
$ErrorActionPreference = 'Stop'
try {
  Get-VpnConnection -ErrorAction SilentlyContinue
  Get-VpnConnection -AllUserConnection -ErrorAction SilentlyContinue
  Get-WinEvent -LogName 'Microsoft-Windows-RasClient/Operational' -MaxEvents 160 |
    Select-Object TimeCreated,Id,LevelDisplayName,Message
  Get-NetIPConfiguration; Get-DnsClientNrptPolicy -Effective
} catch { Write-Error "Collecte AOVPN impossible : $($_.Exception.Message)"; exit 1 }

Collecter avant toute réinitialisation de carte réseau ou suppression de profil.

13

Arbre de décision : symptômes, causes et corrections

Le symptôme oriente l’enquête, mais ne sélectionne jamais seul une correction. Je n’applique la réponse proposée que lorsque la preuve recherchée confirme la cause et que les autres hypothèses importantes sont écartées.

Après correction, je rejoue exactement le scénario initial avec les mêmes points de mesure. Si le symptôme se déplace vers une autre phase, je poursuis l’analyse au lieu de déclarer l’incident résolu.

MATRICEMatrice de diagnostic
SymptômeCause à confirmerPreuve recherchéeCorrection ciblée
Profil invisibleMauvaise portéeGet-VpnConnection deux contextesCorriger ciblage
Erreur 809Passerelle ou filtrageDNS/ports/tracesRestaurer chemin
Access-RejectPolicy ou certificatNPS Reason CodeCorriger la cause
Connecté sans accèsRoute, MTU ou DNSInterface/route/NRPTCorriger réseau
Device tunnel ne démarre pasJoin, édition, IKEv2 ou certProfil all-userCorriger prérequis

Une cause reste une hypothèse tant qu’elle n’est pas confirmée par une preuve locale ou une donnée de service corrélée.

14

Validation de la correction et critères de clôture

Je valide le comportement local, puis la remontée dans le service. Les délais du portail sont pris en compte, mais l’état attendu sur le poste doit être vérifiable immédiatement ou selon le cycle officiellement documenté.

La clôture exige un résultat reproductible, l’absence de régression, une cause documentée et une correction minimale. La généralisation reste NO-GO si le résultat varie entre deux postes comparables ou si le retour arrière n’est pas maîtrisé.

  • Qualifier tunnel et portée.
  • Confirmer le profil effectif.
  • Tester DNS et chemin passerelle.
  • Corréler RasClient et gateway.
  • Corréler NPS et certificat
  • Tester routes/NRPT/DNS
  • Reproduire après correction
15

Retour arrière, escalade et points de vigilance

Le rollback restaure l’état ou l’autorité précédente et doit lui aussi être vérifié sur le poste. Retirer une affectation sans confirmer la convergence locale ne constitue pas un retour arrière terminé.

Si la cause reste indéterminée, je conserve la chronologie, les journaux anonymisés, les identifiants de corrélation et la liste des hypothèses déjà écartées avant l’escalade. Je n’efface jamais les preuves pour tenter une réparation générique.

MATRICERetour arrière
Action
restaurer le ProfileXML versionné précédent
réactiver temporairement l’ancien VPN du pilote
annuler une modification NPS ou de route avec son export
MATRICEPoints de vigilance
Point à contrôler
ne pas supprimer les phonebooks manuellement
ne pas réinitialiser la pile réseau avant collecte
codes 800/809 restent génériques
anonymiser adresses et certificats
R

Repères d’utilisation

Avant toute application à grande échelle, vérifiez les versions, les licences et les comportements sur un environnement pilote représentatif. Les résultats locaux ne constituent pas à eux seuls une validation pour la production.

Références techniques publiques

J’ai privilégié la documentation Microsoft pour les comportements contractuels. Les retours terrain complètent l’observation, sans remplacer la documentation de support.

Always On VPNTroubleshootingRasClientIKEv2NPSVPNv2

Continuer la lecture

Modern Workplace LabOMA-DM et WinDC en double inscriptionEndpoint LabDiagnostic complet des applications Win32