Commencez par l’unité systemd qui possède réellement la connexion VPN, pas par la commande de journal dont vous vous souvenez. Un service OpenVPN direct, une unité wg-quick et un profil NetworkManager placent leurs messages utiles dans des unités différentes, et une requête sur la mauvaise unité produit un résultat vide qui ressemble à du silence. Comparez les trois propriétaires courants, resserrez la fenêtre, puis lisez les étapes dans l’ordre.

Comparez les trois propriétaires courants

Un service client OpenVPN est généralement une unité d’instance nommée d’après le profil, par exemple [email protected]. Ses messages incluent le chemin de configuration, l’analyse des options, la poignée de main TLS et l’installation des routes effectuée par le client.

Une unité wg-quick est plus discrète par conception. La configuration de l’interface a lieu au démarrage, la poignée de main est gérée par le noyau et les renouvellements de clés de routine ne sont pas journalisés par défaut, donc wg show est souvent plus instructif que le journal. Cette différence compte lorsque vous comparez un protocole qui journalise la négociation à un autre qui ne le fait pas.

NetworkManager possède les profils qu’il a créés, et ses messages vivent sous NetworkManager.service même lorsque le greffon sous-jacent est un assistant VPN. Interrogez à la fois le gestionnaire et l’unité d’assistance lorsque le profil est géré de cette façon.

Resserrez la requête à une unité et une fenêtre

Interrogez l’unité que vous avez identifiée et limitez la période à la tentative que vous examinez. Une journée suffit généralement, et une fenêtre plus courte est préférable lorsque la machine se reconnecte souvent.

journalctl -u [email protected] --since today
systemctl list-units --type=service | grep -i vpn
systemctl cat [email protected]

Vérifiez le nom installé avant de faire confiance à la requête. L’empaquetage de la distribution renomme les unités, et un profil qui existe sous forme de fichier n’a peut-être jamais été activé comme service. Si l’unité n’existe pas, le journal vide vous parle du déploiement et non du tunnel.

Lisez la première étape en échec

Lisez les événements dans l’ordre où ils se produisent : recherche du point de terminaison, transport, identité, authentification, installation des routes et l’échec ultérieur de l’application. Le premier échec précis est celui qui mérite une enquête, car tout ce qui suit en est une conséquence.

Un service qui démarre correctement ne prouve pas que toutes les ressources nécessaires sont joignables. Une boucle de reconnexion peut produire plusieurs négociations distinctes, alors conservez le nom du profil et l’heure de la tentative avec les événements, et lisez une tentative plutôt qu’un flux fusionné. Une tentative unique est une séquence avec une cause, tandis qu’un flux fusionné est un mur de lignes répétées. Écrivez la première erreur dans le ticket avant de lire la suite.

Ne mélangez pas un service en échec avec un client manuel

Si vous avez lancé un client à la main après l’échec du service, sa sortie va ailleurs et son comportement peut différer. Capturez le nouveau résultat du même propriétaire et de la même requête après une correction prise en charge, afin que la comparaison montre ce qui a changé plutôt que de mélanger deux programmes différents.

Ne modifiez pas les horodatages d’origine pour les aligner sur un autre hôte. Notez le fuseau horaire et tout décalage d’horloge connu séparément, car une chronologie que vous avez modifiée n’est plus une preuve.

Partagez un extrait, pas une exportation

Les entrées du journal peuvent contenir des noms d’utilisateur, des adresses de points de terminaison, une topologie privée et des informations sur l’environnement des scripts. Examinez l’extrait réel et masquez ce qui est sensible plutôt que de publier une exportation complète sans restriction. Citez les lignes qui établissent l’échec et résumez le reste. Un court extrait relu est plus facile à exploiter qu’un fichier que personne ne lit.

Envoyez la fenêtre étroite, le nom de l’unité et la première étape en échec, et dites ce que vous avez déjà écarté. Le manuel de systemd journalctl documente les sélecteurs et les options de sortie si vous avez besoin d’une forme que la version de la distribution prend en charge.

Articles similaires