Referência para o Microsoft Tunnel Gateway

As informações nesta referência para o Microsoft Tunnel Gateway são fornecidas para dar suporte à instalação e manutenção da instalação do túnel em seu ambiente.

ferramenta de linha de comando mst-cli para o Microsoft Tunnel Gateway

O Mst-cli é uma ferramenta de linha de comando para uso com o Microsoft Tunnel Gateway. Essa ferramenta está disponível no servidor Linux após a conclusão da instalação do túnel e é encontrada em /usr/sbin/mst-cli. Algumas tarefas que você pode usar essa ferramenta para concluir incluem:

  • Obtenha informações sobre o servidor de túnel.
  • Defina ou atualize a configuração do servidor de túnel.
  • Reinicie o servidor de túnel.
  • Desinstale o servidor de túnel.

A seguir estão os usos comuns da linha de comando da ferramenta.

Interface de linha de comando:

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

    Comandos:

    • agent - Operar no componente do agente.
    • server – Operar no componente do servidor.
    • uninstall - Desinstale o Microsoft Tunnel.
    • eula - Mostrar o EULA.
    • import_cert - Importar ou atualizar o certificado TLS.
  • mst-cli agent –help - Uso: agente mst-cli [comando]

    Comandos:

    • logs - Mostrar os logs do agente (-h para obter mais informações).
    • statusMostrar o agente status.
    • start – Inicie o serviço de agente.
    • stop - Pare o serviço do agente.
    • restart - Reinicie o serviço de agente.
  • mst-cli agent logs help - Uso: logs de agente mst-cli [sinalizadores]

    Sinalizadores:

    • -f, --follow – Siga a saída do log. O padrão é false.
    • --since string - Mostrar logs desde TIMESTAMP.
    • --tail uint - Saída do número especificado de LINES no final dos logs. O padrão é zero (0), que imprime todas as linhas.
    • -t, --timestamps - Saída dos carimbos de data/hora no log.
  • mst-cli agent status - Os seguintes retornos são exemplos de resultados que você pode ver:

    • Estado: em execução
    • Integridade: saudável
  • mst-cli agent start - Inicia o agente se ele for interrompido.

  • mst-cli agent stop - Interrompe o agente. Deve ser iniciado manualmente depois de interrompido.

  • mst-cli agent restart - Reinicia o agente.

  • mst-cli server --help - Uso: servidor mst-cli [comando]

    Comandos:

    • logs - Mostrar os logs do servidor. Use -h para obter mais informações.
    • status- Mostrar o servidor status.
    • start – Inicie o serviço do servidor.
    • stop - Parar o serviço do servidor.
    • restart – Reinicie o serviço do servidor.
    • show - Mostrar várias estatísticas de servidor. Use -h para obter mais informações.
  • mst-cli server logs –help - Uso: logs do servidor mst-cli [sinalizadores]

    Sinalizadores:

    • -f, --follow – Siga a saída do log. O padrão é false.
    • --since string - Mostrar logs desde TIMESTAMP
    • --tail uint - Saída do número especificado de LINES no final dos logs. O padrão é zero (0), que imprime todas as linhas.
    • -t, --timestamps - Saída dos carimbos de data/hora no log.
  • mst-cli server status - Os seguintes retornos são exemplos de resultados que você pode ver:

    • Estado: em execução
    • Integridade: saudável
  • mst-cli server start – inicia o servidor se ele for interrompido.

  • mst-cli server stop - Interrompe o servidor. Deve ser iniciado manualmente depois de interrompido.

  • mst-cli server restart - Reinicia o servidor.

  • mst-cli server show

    • show status- Imprime o status e as estatísticas do servidor.
    • show users - Imprime os usuários conectados.
    • show ip bans - Imprime os endereços IP banidos.
    • show ip ban points - Imprime todos os endereços IP conhecidos que têm pontos.
    • show iroutes – Imprime as rotas fornecidas pelos usuários do servidor.
    • show sessions all - IDs de sessão são impressas.
    • show sessions valid - Imprime todos os válidos para sessões de reconexão.
    • show session [SID] – Imprime informações sobre a sessão especificada.
    • show user [NAME] – Imprime informações sobre o usuário especificado.
    • show id [ID] – imprime informações sobre a ID especificada.
    • show events - Fornece informações sobre como conectar usuários.
    • show cookies all - Alias para todas as sessões de exibição.
    • show cookies valid - Alias para sessões de exibição válidas.

Variáveis de ambiente

A seguir estão as variáveis de ambiente que talvez você queira configurar ao instalar o software do Microsoft Tunnel Gateway no servidor Linux. Essas variáveis são encontradas no arquivo de ambiente /etc/mstunnel/env.sh:

  • http_proxy=[endereço] – O endereço HTTP do servidor proxy.
  • https_proxy=[endereço] – O endereço HTTPs para seu servidor proxy.

Caminhos de dados

Caminho/Arquivo Descrição Permissões
/.../mstunnel O diretório raiz para todas as configurações. Raiz do proprietário, Grupo mstunnel
/.../mstunnel/admin-settings.json Contém as configurações para a instalação do servidor.  O Intune gerencia esse arquivo e ele não deve ser editado manualmente.
/.../mstunnel/certs O diretório em que o certificado TLS é armazenado.  Raiz do proprietário, Grupo mstunnel
/.../mstunnel/private O diretório em que o certificado do Agente do Intune e a chave privada TLS são armazenados.  Raiz do proprietário, Grupo mstunnel

Arquivos adicionados durante a instalação do servidor

/etc/mstunnel:

  • admin-settings.json:

    • Contém a configuração serializada do Servidor do Intune.
    • Criado após o registro do servidor.
  • agent-info.json:

    • Criado quando o registro é concluído.
    • AgentId, IntuneTenantId, AADTenantId e o certificado de agente RenewalDate.
    • Atualizado sobre a renovação do certificado do agente.
  • private/agent.p12:

    • Certificado PFX usado para autenticação de agente no Intune.
    • Renovado automaticamente.
  • version-info.json:

    • Contém informações de versão para os vários componentes.
    • ConfigVersion, DockerVersion, AgentImageHash, AgentCreateDate, ServerImageHash, ServerCreateDate.
  • ocserv.conf:

    • Configuração do servidor
  • Images_configured

As imagens do Docker usadas para criar os contêineres:

  • agentImageDigest
  • serverImageDigest

Exemplo 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
}
Configuração de Administração Descrição
PolicyName O nome da política de configurações. Você pode escolher o nome.
DisplayName O nome da exibição curta. Você pode escolher o nome.
Descrição A descrição da política. Você pode escolher a descrição.
Rede A rede e a máscara usadas para atribuir endereços virtuais aos clientes. Isso não precisa ser alterado a menos que você tenha um conflito. Essa configuração dá suporte a até 64.000 clientes.
Dnsservers A lista de servidores DNS que o cliente deve usar. Esses servidores podem resolve os endereços dos recursos internos.
DefaultDomainSuffix O sufixo domínio que um cliente acrescenta ao nome do host ao tentar resolve recursos.
RoutesInclude A lista de rotas roteadas por meio da VPN. O padrão é todas as rotas.
RoutesExclude A lista de rotas que devem ignorar a VPN.
ListenPort A porta na qual o servidor VPN recebe tráfego.

Comandos do Docker

A seguir estão comandos comuns para o Docker que podem ser usados se você precisar investigar problemas em um servidor de túnel.

Observação

A maioria das distribuições do Linux usa o Docker. No entanto, alguns como o RHEL (Red Hat Enterprise Linux) 8.4 não dão suporte ao Docker. Em vez disso, essas distribuições usam o Podman. Para obter mais informações sobre distribuições com suporte e os requisitos do Docker ou do Podman de cada um, confira Servidores Linxu.

As referências e as linhas de comando escritas para Docker podem ser usadas com o Podman substituindo o docker pelo podman.

Interface de linha de comando:

  • docker ps –a – Confira todos os contêineres.

    • mstunnel-server – Esse contêiner executa os componentes do servidor ocserv e usa a porta de entrada 443 (padrão)ou uma configuração de porta personalizada.
    • mstunnel-agent – Esse contêiner executa o conector do Intune e usa a porta de saída 443.
  • Para reiniciar o Docker:

    • systemctl restart docker
  • Para executar algo em um contêiner:

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

Comandos podman

A seguir estão comandos para Podman que podem ser usados se você precisar investigar problemas em um servidor de túnel. Para obter mais comandos que você pode usar com o Podman, consulte comandos do Docker.

  • sudo podman images - Liste todos os contêineres em execução.
  • sudo podman stats – Exibir a utilização da CPU do contêiner, o uso de MEM, a rede e o IO do bloco.
  • sudo podman port mstunnel-server - Liste os mapeamentos de porta do servidor de túnel para o host linux local.

Comandos linux

A seguir estão comandos comuns do Linux que você pode usar com um servidor de túnel.

  • sudo su – Faz você raiz na caixa. Use esse comando antes de executar os comandos a seguir e antes de executar a instalação do mstunnel.

  • ls – listar conteúdo do diretório.

  • ls – l – Listar o conteúdo do diretório, incluindo carimbos de data/hora.

  • cd – altere para outro diretório. Por exemplo, cd /etc/test/stuff altera você do diretório raiz para a subpasta >etc para a subpasta > de teste e, em seguida, para a pasta de material.

  • cp <source> <destination> - Útil para copiar os certificados para o local certo.

  • ln –s <source> <target> - Criar um softlink.

  • curl <URL> – Verifica o acesso a um site. Por exemplo: curl https://microsoft.com

  • ./<filename> – Executar um script.

Carregar ip_tables manualmente

Use os comandos a seguir para marcar e carregue manualmente, se necessário, ip_tables no kernel do servidor Linux. Use o contexto sudo:

  • Valide a presença de ip_tables no servidor: lsmod |grep ip_tables

  • Crie um arquivo de configuração que carregue o ip_tables no kernel quando o servidor inicializa: echo ip_tables > /etc/modules-load.d/mstunnel_iptables.conf

  • Para carregar ip_tables no kernel imediatamente: /sbin/modprobe ip_tables