Référence de ligne de commande pour la passerelle Microsoft Tunnel

Les informations contenues dans cette référence pour Microsoft Tunnel Gateway sont fournies pour prendre en charge l’installation et la maintenance de l’installation de tunnel dans votre environnement.

Outil en ligne de commande mst-cli pour Microsoft Tunnel Gateway

Mst-cli est un outil en ligne de commande destiné à être utilisé avec Microsoft Tunnel Gateway. Cet outil est disponible sur le serveur Linux après la fin de l’installation du tunnel et se trouve dans /usr/sbin/mst-cli. Voici quelques tâches pour lesquelles vous pouvez utiliser cet outil :

  • Obtenez des informations sur le serveur de tunnel.
  • Définissez ou mettez à jour la configuration du serveur de tunnel.
  • Redémarrez le serveur de tunnel.
  • Désinstallez le serveur de tunnel.

Voici les utilisations courantes de l’outil en ligne de commande.

Interface de ligne de commande :

  • mst-cli –help - Utilisation : mst-cli [commande]

    Commandes

    • agent - Opérer sur le composant agent.
    • server - Opérer sur le composant serveur.
    • uninstall - Désinstallez le tunnel Microsoft.
    • eula - Afficher le contrat de licence End-User (CLUF).
    • import_cert - Importez ou mettez à jour le certificat TLS.
  • mst-cli agent –help - Utilisation : agent mst-cli [commande]

    Commandes :

    • logs - Afficher les journaux de l’agent. (Utilisez -h pour plus d’informations.)
    • status- Afficher le status de l’agent.
    • start - Démarrez le service d’agent.
    • stop - Arrêtez le service d’agent.
    • restart - Redémarrez le service d’agent.
  • mst-cli agent logs help - Utilisation : journaux de l’agent mst-cli [indicateurs]

    Drapeaux :

    • -f, --follow - Suivez la sortie du journal. La valeur par défaut est false.
    • --since string - Afficher les journaux depuis TIMESTAMP.
    • --tail uint - Sortez le nombre spécifié de LINES à la fin des journaux. La valeur par défaut est zéro (0), qui imprime toutes les lignes.
    • -t, --timestamps - Sortez les horodatages dans le journal.
  • mst-cli agent status - Les retours suivants sont des exemples de résultats que vous pourriez voir :

    • État : en cours d’exécution
    • Santé : saine
  • mst-cli agent start - Démarre l’agent s’il est arrêté.

  • mst-cli agent stop - Arrête l’agent. Doit être démarré manuellement après l’arrêt.

  • mst-cli agent restart - Redémarre l’agent.

  • mst-cli server --help - Utilisation : serveur mst-cli [commande]

    Commandes :

    • logs - Afficher les journaux du serveur. Utilisez -h pour plus d’informations.
    • status- Afficher le status du serveur.
    • start - Démarrez le service serveur.
    • stop - Arrêtez le service serveur.
    • restart - Redémarrez le service serveur.
    • show - Afficher diverses statistiques de serveur. Utilisez -h pour plus d’informations.
  • mst-cli server logs –help - Utilisation : journaux du serveur mst-cli [drapeaux]

    Drapeaux :

    • -f, --follow - Suivez la sortie du journal. La valeur par défaut est false.
    • --since string - Afficher les journaux depuis TIMESTAMP
    • --tail uint - Sortez le nombre spécifié de LINES à la fin des journaux. La valeur par défaut est zéro (0), qui imprime toutes les lignes.
    • -t, --timestamps - Sortez les horodatages dans le journal.
  • mst-cli server status - Les retours suivants sont des exemples de résultats que vous pourriez voir :

    • État : en cours d’exécution
    • Santé : saine
  • mst-cli server start - Démarre le serveur s’il est arrêté.

  • mst-cli server stop - Arrête le serveur. Doit être démarré manuellement après l’arrêt.

  • mst-cli server restart - Redémarre le serveur.

  • mst-cli server show

    • show status- Imprime le status et les statistiques du serveur.
    • show users - Imprime les utilisateurs connectés.
    • show ip bans - Imprime les adresses IP interdites.
    • show ip ban points - Imprime toutes les adresses IP connues qui ont des points.
    • show iroutes - Imprime les itinéraires fournis par les utilisateurs du serveur.
    • show sessions all - Imprime tous les identifiants de session.
    • show sessions valid - Imprime toutes les sessions valides pour la reconnexion.
    • show session [SID] - Imprime des informations sur la session spécifiée.
    • show user [NAME] - Imprime des informations sur l’utilisateur spécifié.
    • show id [ID] - Imprime les informations sur l’ID spécifié.
    • show events - Fournit des informations sur la connexion des utilisateurs.
    • show cookies all - Alias pour les sessions de spectacle.
    • show cookies valid - Alias pour les sessions d’exposition valides.

Variables d’environnement

Voici les variables d’environnement que vous pouvez configurer lorsque vous installez le logiciel Microsoft Tunnel Gateway sur le serveur Linux. Ces variables se trouvent dans le fichier d’environnement /etc/mstunnel/env.sh :

  • http_proxy=[address] : adresse HTTP de votre serveur proxy.
  • https_proxy=[address] - L’adresse HTTPs de votre serveur proxy.

Chemins de données

Chemin d’accès/Fichier Description Autorisations
/.../mstunnel Répertoire racine de toute configuration. Propriétaire racine, Groupe mstunnel
/.../mstunnel/admin-settings.json Contient les paramètres d’installation du serveur.  Intune gère ce fichier et ne doit pas être modifié manuellement.
/.../mstunnel/certs Répertoire dans lequel le certificat TLS est stocké.  Propriétaire racine, Groupe mstunnel
/.../mstunnel/private Répertoire dans lequel le certificat de l’agent Intune et la clé privée TLS sont stockés.  Propriétaire racine, Groupe mstunnel

Files ajoutés pendant l’installation du serveur

/etc/mstunnel :

  • admin-settings.json :

    • Contient la configuration du serveur sérialisé à partir d’Intune.
    • Créé après l’inscription du serveur.
  • agent-info.json :

    • Créé une fois l’inscription terminée.
    • AgentId, IntuneTenantId, AADTenantId et date de renouvellement du certificat d’agent.
    • Mise à jour sur le renouvellement du certificat d’agent.
  • private/agent.p12 :

    • Certificat PFX utilisé pour l’authentification de l’agent auprès d’Intune.
    • Renouvellement automatique.
  • version-info.json :

    • Contient des informations de version pour les différents composants.
    • ConfigVersion, DockerVersion, AgentImageHash, AgentCreateDate, ServerImageHash, ServerCreateDate.
  • ocserv.conf :

    • Configuration du serveur
  • Images_configured

Images Docker utilisées pour créer les conteneurs :

  • agentImageDigest
  • serverImageDigest

Exemple de admin-settings.json

{
"PolicyName": "Auto Generated Policy for rh7vm",
   "DisplayName": "rh7vm Policy",
   "Description": "This policy was auto generated for rh7vm",
   "Network": "169.100.0.0/16",
   "DNSServers": ["168.63.129.16"],
   "DefaultDomainSuffix": "nmqjwlanybmubp4imht0k2b4qd.xx.internal.cloudapp.net",
   "RoutesInclude": ["default"],
   "RoutesExclude": [],
   "ListenPort": 443
}
Paramètre d’Administration Description
PolicyName Nom de la stratégie de paramètres. Vous pouvez choisir le nom.
DisplayName Nom court d’affichage. Vous pouvez choisir le nom.
Description Description de la stratégie. Vous pouvez choisir la description.
Réseau Réseau et masque utilisés pour attribuer des adresses virtuelles aux clients. Ce paramètre n’a pas besoin d’être modifié, sauf en cas de conflit. Ce paramètre prend en charge jusqu’à 64 000 clients.
DNSServers Liste des serveurs DNS que le client doit utiliser. Ces serveurs peuvent résoudre les adresses des ressources internes.
DefaultDomainSuffix Suffixe de domaine qu’un client ajoute au nom d’hôte lorsqu’il essaie de résoudre les ressources.
ItinérairesInclure Liste des itinéraires acheminés via le VPN. La valeur par défaut est toutes les routes.
RoutesExclude Liste des itinéraires qui doivent contourner le VPN.
Port d’écoute Port sur lequel le serveur VPN reçoit le trafic.

Commandes Docker

Voici les commandes courantes pour Docker qui peuvent être utiles si vous devez examiner des problèmes sur un serveur de tunnel.

Remarque

La plupart des distributions Linux utilisent Docker. Toutefois, certains, comme Red Hat Enterprise Linux (RHEL) 8.4, ne prennent pas en charge Docker. Au lieu de cela, ces distributions utilisent Podman. Pour plus d’informations sur les distributions prises en charge et sur les exigences Docker ou Podman de chacune d’elles, consultez Serveurs Linux.

Les références et les lignes de commande écrites pour Docker peuvent être utilisées avec Podman en remplaçant docker par podman.

Interface de ligne de commande :

  • docker ps –a – Voir tous les conteneurs.

    • mstunnel-server – Ce conteneur exécute les composants du serveur ocserv et utilise le port entrant 443 (par défaut) ou une configuration de port personnalisée.
    • mstunnel-agent - Ce conteneur exécute le connecteur Intune et utilise le port 443 sortant.
  • Pour redémarrer Docker :

    • systemctl restart docker
  • Pour exécuter quelque chose dans un conteneur :

    • docker exec –it mstunnel-server bash
    • docker exec –it mstunnel-agent bash

Commandes Podman

Voici les commandes pour Podman qui peuvent être utiles si vous devez enquêter sur des problèmes sur un serveur de tunnel. Pour plus de commandes que vous pouvez utiliser avec Podman, consultez Commandes Docker.

  • sudo podman images - Répertorier tous les conteneurs en cours d’exécution.
  • sudo podman stats - Affichage de l’utilisation du processeur du conteneur, de l’utilisation du MEM, du réseau et des E/S de blocs.
  • sudo podman port mstunnel-server- Répertorier les mappages de ports du tunnel-server à l’hôte Linux local.

Commandes Linux

Les commandes Linux suivantes sont courantes que vous pouvez utiliser avec un serveur de tunnel.

  • sudo su – Vous fait vous enraciner sur la boîte. Utilisez cette commande avant d’exécuter les commandes suivantes et avant d’exécuter mstunnel-setup.

  • ls – Répertorier le contenu du répertoire.

  • ls – l – Répertorier le contenu du répertoire, y compris les horodatages.

  • cd – passez à un autre répertoire. Par exemple, cd /etc/test/stuff vous fait passer du répertoire racine au sous-dossier etc au sous-dossier >>test, puis au dossier stuff.

  • cp <source> <destination> - Utile pour copier les certificats au bon endroit.

  • ln –s <source> <target> - Créez un lien logiciel.

  • curl <URL> – Vérifie l’accès à un site web. Par exemple : curl https://microsoft.com

  • ./<filename> - Exécutez un script.

Charger manuellement les ip_tables

Utilisez les commandes suivantes pour case activée et charger manuellement des ip_tables dans le noyau du serveur Linux si nécessaire. Utilisez le contexte sudo :

  • Valider la présence de ip_tables sur le serveur : lsmod |grep ip_tables
  • Créez un fichier de configuration qui charge le ip_tables dans le noyau lors du démarrage du serveur : echo ip_tables > /etc/modules-load.d/mstunnel_iptables.conf
  • Pour charger immédiatement ip_tables dans le noyau : /sbin/modprobe ip_tables