Referência de linha de comando 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 do Microsoft Tunnel Gateway

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

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

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 - Opere no componente do agente.
    • server - Opere no componente do servidor.
    • uninstall - Desinstale o Microsoft Tunnel.
    • eula - Mostrar o Contrato de Licença End-User (EULA).
    • import_cert - Importe ou atualize o certificado TLS.
  • mst-cli agent –help - Uso: mst-cli agent [comando]

    Comandos:

    • logs - Mostrar os logs do agente. (Use -h para obter mais informações.)
    • status- Mostrar o status do agente.
    • start - Inicie o serviço do agente.
    • stop - Interrompa o serviço do agente.
    • restart - Reinicie o serviço do agente.
  • mst-cli agent logs help - Uso: logs do 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 - Produza os 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
    • Saúde: íntegra
  • mst-cli agent start - Inicia o agente se ele for interrompido.

  • mst-cli agent stop - Parar 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 status do servidor.
    • start - Inicie o serviço do servidor.
    • stop - Pare o serviço do servidor.
    • restart - Reinicie o serviço do servidor.
    • show - Mostrar várias estatísticas do servidor. Use -h para obter mais informações.
  • mst-cli server logs –help - Uso: logs do servidor mst-cli [flags]

    Sinalizadores:

    • -f, --follow - Siga a saída do log. O padrão é false.
    • --since string - Mostrar logs desde o 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 - Produza os 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
    • Saúde: íntegra
  • mst-cli server start - Inicia o servidor se ele estiver parado.

  • mst-cli server stop - Para 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 tenham pontos.
    • show iroutes - Imprime as rotas fornecidas pelos usuários do servidor.
    • show sessions all - Imprime todas as IDs de sessão.
    • 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 no ID especificado.
    • show events - Fornece informações sobre como conectar usuários.
    • show cookies all - Alias para todas as sessões de show.
    • show cookies valid - Alias para sessões de show válidas.

Variáveis de ambiente

A seguir estão as variáveis de ambiente que convém 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=[address] - O endereço HTTP do seu servidor proxy.
  • https_proxy=[address] - O endereço HTTPs do servidor proxy.

Caminhos de Dados

Caminho/Arquivo Descrição Permissões
/.../mstunnel O diretório raiz de todas as configurações. Proprietário raiz, 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 está armazenado.  Proprietário raiz, Grupo mstunnel
/.../mstunnel/private O diretório em que o certificado do Agente do Intune e a chave privada TLS estão armazenados.  Proprietário raiz, Grupo mstunnel

Files add during server installation

/etc/mstunnel:

  • admin-settings.json:

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

    • Criado quando o registro for concluído.
    • AgentId, IntuneTenantId, AADTenantId e o certificado do agente RenewalDate.
    • Atualizado sobre renovação de certificado de 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 de exibição abreviado. 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. Essa configuração não precisa ser alterada, 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 resolver os endereços de recursos internos.
DefaultDomainSuffix O sufixo de domínio que um cliente acrescenta ao nome do host ao tentar resolver recursos.
RoutesInclude A lista de rotas roteadas por meio da VPN. O padrão são todas as rotas.
RoutesExclude A lista de rotas que devem ignorar a VPN.
Escuta A porta em que o servidor VPN recebe tráfego.

Comandos do Docker

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

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 suportadas e os requisitos do Docker ou Podman de cada uma, consulte Servidores Linux.

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

Interface de linha de comando:

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

    • mstunnel-server – Este 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 443 de saída.
  • 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 do Podman

A seguir estão os comandos do Podman que podem ser úteis se você precisar investigar problemas em um servidor de encapsulamento. 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 do MEM, a rede e a E/S de blocos.
  • sudo podman port mstunnel-server- Liste os mapeamentos de porta do tunnel-server para o host Linux local.

Comandos do Linux

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

  • sudo su – Faz você torcer na caixa. Use esse comando antes de executar os comandos a seguir e antes de executar mstunnel-setup.

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

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

  • cd – altere para outro diretório. Por exemplo, muda você do diretório raiz para a subpasta >etc, cd /etc/test/stuff para a subpasta >test e depois para a pasta stuff.

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

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

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

  • ./<filename> - Execute um script.

Carregar ip_tables manualmente

Use os comandos a seguir para marcar e carregar 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 for inicializado: echo ip_tables > /etc/modules-load.d/mstunnel_iptables.conf
  • Para carregar ip_tables no kernel imediatamente: /sbin/modprobe ip_tables