Informazioni di riferimento per Microsoft Tunnel Gateway

Le informazioni contenute in questo riferimento per Il gateway di Microsoft Tunnel sono disponibili per supportare l'installazione e la manutenzione dell'installazione del tunnel nell'ambiente.

Strumento da riga di comando mst-cli per Microsoft Tunnel Gateway

Mst-cli è uno strumento da riga di comando da usare con Microsoft Tunnel Gateway. Questo strumento è disponibile nel server Linux al termine dell'installazione del tunnel e si trova in /usr/sbin/mst-cli. Alcune attività che è possibile usare questo strumento per completare includono:

  • Ottenere informazioni sul server di tunneling.
  • Impostare o aggiornare la configurazione del server di tunneling.
  • Riavviare il server di tunneling.
  • Disinstallare il server di tunneling.

Di seguito sono riportati gli usi comuni della riga di comando dello strumento.

Interfaccia della riga di comando:

  • mst-cli –help - Utilizzo: mst-cli [comando]

    Comandi:

    • agent - Operare sul componente dell'agente.
    • server - Operare sul componente server.
    • uninstall - Disinstallare Microsoft Tunnel.
    • eula - Mostra il contratto di licenza.
    • import_cert - Importare o aggiornare il certificato TLS.
  • mst-cli agent –help - Utilizzo: agente mst-cli [comando]

    Comandi:

    • logs - Mostra i log dell'agente (-h per altre informazioni).
    • status - Mostra lo stato dell'agente.
    • start - Avviare il servizio agente.
    • stop - Arrestare il servizio agente.
    • restart - Riavviare il servizio agente.
  • mst-cli agent logs help - Utilizzo: log dell'agente mst-cli [flag]

    Bandiere:

    • -f, --follow - Seguire l'output del log. Il valore predefinito è false.
    • --since string - Mostra i log dopo TIMESTAMP.
    • --tail uint - Restituisce il numero specificato di RIGHE alla fine dei log. Il valore predefinito è zero (0), che stampa tutte le righe.
    • -t, --timestamps - Restituisce i timestamp nel log.
  • mst-cli agent status - I risultati seguenti sono esempi di risultati che potrebbero essere visualizzati:

    • Stato: in esecuzione
    • Integrità: integro
  • mst-cli agent start - Avvia l'agente se è stato arrestato.

  • mst-cli agent stop - Arresta l'agente. Deve essere avviato manualmente dopo l'arresto.

  • mst-cli agent restart - Riavvia l'agente.

  • mst-cli server --help - Utilizzo: server mst-cli [comando]

    Comandi:

    • logs - Mostra i log del server. Per altre informazioni , usare -h .
    • status - Mostra lo stato del server.
    • start - Avviare il servizio server.
    • stop - Arrestare il servizio server.
    • restart - Riavviare il servizio server.
    • show - Mostra diverse statistiche del server. Per altre informazioni , usare -h .
  • mst-cli server logs –help - Utilizzo: log del server mst-cli [flag]

    Bandiere:

    • -f, --follow - Seguire l'output del log. Il valore predefinito è false.
    • --since string - Mostra i log a partire da TIMESTAMP
    • --tail uint - Restituisce il numero specificato di RIGHE alla fine dei log. Il valore predefinito è zero (0), che stampa tutte le righe.
    • -t, --timestamps - Restituisce i timestamp nel log.
  • mst-cli server status - I risultati seguenti sono esempi di risultati che potrebbero essere visualizzati:

    • Stato: in esecuzione
    • Integrità: integro
  • mst-cli server start - Avvia il server se è stato arrestato.

  • mst-cli server stop - Arresta il server. Deve essere avviato manualmente dopo l'arresto.

  • mst-cli server restart - Riavvia il server.

  • mst-cli server show

    • show status - Stampa lo stato e le statistiche del server.
    • show users - Stampa gli utenti connessi.
    • show ip bans - Stampa gli indirizzi IP esclusi.
    • show ip ban points - Stampa tutti gli indirizzi IP noti con punti.
    • show iroutes - Stampa le route fornite dagli utenti del server.
    • show sessions all - Stampa tutti gli ID sessione.
    • show sessions valid - Stampa tutti i valori validi per le sessioni di riconnessione.
    • show session [SID] - Stampa le informazioni sulla sessione specificata.
    • show user [NAME] - Stampa le informazioni sull'utente specificato.
    • show id [ID] - Stampa le informazioni sull'ID specificato.
    • show events - Fornisce informazioni sulla connessione degli utenti.
    • show cookies all - Alias per mostrare tutte le sessioni.
    • show cookies valid - Alias per la visualizzazione di sessioni valide.

Variabili di ambiente

Di seguito sono riportate le variabili di ambiente che è possibile configurare quando si installa il software Microsoft Tunnel Gateway nel server Linux. Queste variabili sono disponibili nel file di ambiente /etc/mstunnel/env.sh:

  • http_proxy=[address] - Indirizzo HTTP per il server proxy.
  • https_proxy=[indirizzo] - Indirizzo HTTPs per il server proxy.

Percorsi dati

Percorso/file Descrizione Autorizzazioni
/.../mstunnel Directory radice per tutta la configurazione. Radice del proprietario, Gruppo mstunnel
/.../mstunnel/admin-settings.json Contiene le impostazioni per l'installazione del server.  Intune gestisce questo file e non deve essere modificato manualmente.
/.../mstunnel/certs Directory in cui è archiviato il certificato TLS.  Radice del proprietario, Gruppo mstunnel
/.../mstunnel/private Directory in cui sono archiviati il certificato dell'agente di Intune e la chiave privata TLS.  Radice del proprietario, Gruppo mstunnel

File aggiunti durante l'installazione del server

/etc/mstunnel:

  • admin-settings.json:

    • Contiene la configurazione serializzata del server da Intune.
    • Creato dopo la registrazione del server.
  • agent-info.json:

    • Creato al termine della registrazione.
    • AgentId, IntuneTenantId, AADTenantId e renewalDate del certificato dell'agente.
    • Aggiornato in base al rinnovo del certificato dell'agente.
  • private/agent.p12:

    • Certificato PFX usato per l'autenticazione dell'agente in Intune.
    • Rinnovo automatico.
  • version-info.json:

    • Contiene informazioni sulla versione per i vari componenti.
    • ConfigVersion, DockerVersion, AgentImageHash, AgentCreateDate, ServerImageHash, ServerCreateDate.
  • ocserv.conf:

    • Configurazione del server
  • Images_configured

Immagini Docker usate per creare i contenitori:

  • agentImageDigest
  • serverImageDigest

Esempio di 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
}
Impostazione Amministrazione Descrizione
PolicyName Nome dei criteri di impostazioni. È possibile scegliere il nome.
DisplayName Nome visualizzato breve. È possibile scegliere il nome.
Descrizione Descrizione del criterio. È possibile scegliere la descrizione.
Rete Rete e maschera usate per assegnare indirizzi virtuali client. Questa operazione non deve essere modificata a meno che non si abbia un conflitto. Questa impostazione supporta fino a 64.000 client.
DNSServers Elenco di server DNS che il client deve usare. Questi server possono risolvere gli indirizzi delle risorse interne.
DefaultDomainSuffix Suffisso di dominio aggiunto da un client al nome host quando si tenta di risolvere le risorse.
RouteInclude Elenco di route indirizzate tramite la VPN. Il valore predefinito è tutte le route.
RouteEsclude Elenco di route che devono ignorare la VPN.
ListenPort Porta in cui il server VPN riceve il traffico.

Comandi docker

Di seguito sono riportati i comandi comuni per Docker che possono essere usati se è necessario analizzare i problemi in un server di tunneling.

Nota

La maggior parte delle distribuzioni Linux usa Docker. Tuttavia, alcuni come Red Hat Enterprise Linux (RHEL) 8.4 non supportano Docker. Queste distribuzioni usano invece Podman. Per altre informazioni sulle distribuzioni supportate e sui requisiti Docker o Podman di ogni, vedere Server Linxu.

I riferimenti e le righe di comando scritti per Docker possono essere usati con Podman sostituendo docker con podman.

Interfaccia della riga di comando:

  • docker ps –a : vedere tutti i contenitori.

    • mstunnel-server : questo contenitore esegue i componenti del server ocserv e usa la porta in ingresso 443 (impostazione predefinita) o una configurazione della porta personalizzata.
    • mstunnel-agent : questo contenitore esegue il connettore di Intune e usa la porta in uscita 443.
  • Per riavviare Docker:

    • systemctl restart docker
  • Per eseguire un elemento in un contenitore:

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

Comandi podman

Di seguito sono riportati i comandi per Podman che possono essere usati se è necessario analizzare i problemi in un server di tunneling. Per altri comandi che è possibile usare con Podman, vedere Comandi docker.

  • sudo podman images - Elenca tutti i contenitori in esecuzione.
  • sudo podman stats - Visualizzare l'utilizzo della CPU del contenitore, l'utilizzo mem, la rete e l'I/O in blocchi.
  • sudo podman port mstunnel-server - Elencare i mapping delle porte dal server di tunneling all'host Linux locale.

Comandi Linux

Di seguito sono riportati i comandi comuni di Linux che è possibile usare con un server di tunneling.

  • sudo su : consente di eseguire la radice nella casella. Usare questo comando prima di eseguire i comandi seguenti e prima di eseguire mstunnel-setup.

  • ls : elencare il contenuto della directory.

  • ls – l : elencare il contenuto della directory, inclusi i timestamp.

  • cd : passare a un'altra directory. Ad esempio, cd /etc/test/stuff si passa dalla directory radice alla sottocartella >e così via alla sottocartella >di test e quindi alla cartella stuff.

  • cp <source> <destination> - Utile per copiare i certificati nel percorso corretto.

  • ln –s <source> <target> - Creare un softlink.

  • curl <URL> : controlla l'accesso a un sito Web. Ad esempio: curl https://microsoft.com

  • ./<filename> - Eseguire uno script.

Caricare manualmente ip_tables

Usare i comandi seguenti per verificare e caricare manualmente, se necessario, ip_tables nel kernel del server Linux. Usare il contesto sudo:

  • Convalidare la presenza di ip_tables nel server: lsmod |grep ip_tables

  • Creare un file di configurazione che carica il ip_tables nel kernel all'avvio del server: echo ip_tables > /etc/modules-load.d/mstunnel_iptables.conf

  • Per caricare immediatamente ip_tables nel kernel: /sbin/modprobe ip_tables