Avant de commencer
- Disposer d’un accès administrateur (root) à la Box et du kit de la release courante, obtenu par « Télécharger le kit » dans « Machines instanciées ».
- Pour le VPN : le profil client OpenVPN du site, un fichier .ovpn, et ses identifiants s’il en exige. Le service informatique du site les fournit.
- Savoir qu’une option est un choix propre à chaque Box. Une release transporte le service, mais seule une Box qui a activé l’option le démarre.
Étapes
Connaître les options disponibles
Une option s’active Box par Box, jamais sur toute la flotte. Option disponible : « vpn », le client OpenVPN du site, sans matériel supplémentaire. À venir : un modèle de langage exécuté sur la Box. Le Cloud Lesly utilise le même mécanisme, réservé à l’équipe Lesly ; aucune option n’y a d’effet aujourd’hui.
Activer ou retirer une option
Lancez le kit sur la Box avec « --role edge --update », suivi de « --option vpn » pour activer ou de « --no-option vpn » pour retirer. Ces deux réglages fonctionnent aussi avec « --role edge --install ». Le choix est écrit dans « /etc/lesly/host-options.env », conservé par les mises à jour et les réinstallations. Il prend effet à la prochaine release appliquée sur la Box. Une option retirée voit son service arrêté, ses données conservées.
Fournir le profil VPN
Pour une Box sans profil, posez le fichier .ovpn du site dans le dossier du kit. « --role edge --install » le trouve et active l’option « vpn ». Posez les identifiants à côté dans « auth.txt », identifiant puis mot de passe sur deux lignes, ou saisissez-les quand le kit les demande. Sur une Box installée, lancez « --role edge --update » avec « --vpn-profile client.ovpn » et, au besoin, « --vpn-auth auth.txt ». Le profil est copié dans « /etc/lesly/secrets/vpn/ », lisible par root seul. Supprimez ensuite le fichier .ovpn et « auth.txt » du dossier de travail.
Connaître les règles de sûreté du profil
Le client contrôle le profil avant de se connecter. Une directive non admise, par exemple un script, un plugin ou un fichier externe, fait refuser tout le profil. La route par défaut poussée par le serveur est ignorée, sauf politique explicite du site. Les DNS poussés sont toujours ignorés : la Box garde son propre accès au Cloud. Les identifiants d’un ancien profil ne sont jamais repris pour un nouveau.
Basculer depuis l’ancien client VPN de la Box
Si la Box utilise encore l’ancien client OpenVPN du système, reprenez son profil avec « --role edge --update » et « --vpn-profile /etc/openvpn/client.conf ». Ajoutez « --vpn-auth /etc/openvpn/pass » si ce fichier existe. Le nouveau client attend alors, pour ne pas couper le tunnel. La bascule demande deux gestes : une release démarre le nouveau client, puis vous lancez « sudo lesly-vpn-profile handover » sur la Box. L’ancien client n’est arrêté qu’après la connexion du nouveau ; sinon, il reste en service. Si le nouveau client tourne déjà, le kit fait lui-même la bascule.
Vérifier ou retirer le VPN
Sur la Box, « sudo lesly-vpn-profile status » affiche le profil et l’option, puis l’état du client en JSON, par exemple « connected », « connecting », « disconnected » ou « standby ». Cette commande n’existe que sur une Box dont le VPN a été posé par le kit. L’interface du tunnel est celle qu’ouvre réellement OpenVPN : elle ne s’appelle pas forcément tun0. « sudo lesly-vpn-profile remove » retire le profil et l’option. L’affichage de ce statut dans l’application est à venir.
Résultat attendu
« sudo lesly-vpn-profile status » indique un profil présent, l’option vpn active et un client « connected », avec son interface et son adresse. L’ancien client système, s’il existait, est arrêté.
Si cela ne fonctionne pas
Message « plusieurs clients VPN » : le dossier du kit contient plus d’un fichier .ovpn ; n’en laissez qu’un, ou utilisez « --vpn-profile ». Message « option inconnue » : le nom de l’option est mal écrit ; le nom exact est « vpn ». Profil refusé faute de directive remote ou client : ce n’est pas un profil client OpenVPN ; demandez le bon fichier. Nouveau profil refusé faute d’identifiants : fournissez-les avec « --vpn-auth ». Commande « lesly-vpn-profile » introuvable : le VPN de la Box n’a pas encore été posé par le kit ; suivez l’étape « Fournir le profil VPN ». État « not_configured » : l’option est active, mais aucun profil n’est posé. État « standby » : la bascule attend ; lancez « sudo lesly-vpn-profile handover ». Erreur « profile_invalid » : une directive est refusée, et la ligne en cause est indiquée ; faites corriger le profil par le service informatique du site. Erreur « auth_missing » ou « auth_failed » : identifiants absents ou refusés ; reposez le profil avec un « auth.txt » correct. Erreur « resolve_failed » ou « tls_error » : serveur VPN introuvable ou négociation refusée ; vérifiez le réseau sortant et le profil. Tunnel coupé pendant un arrêt de Docker : le client VPN est un conteneur, il repart avec Docker. Retour à l’ancien client système : « sudo lesly-vpn-profile remove » affiche les commandes à exécuter. Transmettez à l’intégrateur Lesly la Box, l’heure et la sortie de « sudo lesly-vpn-profile status », jamais le profil ni les identifiants.