Partilhar via


Referência para o Gateway de Túnel da Microsoft

As informações nesta referência para o Gateway de Túnel da Microsoft são fornecidas para suportar a instalação e manutenção da instalação do túnel no seu ambiente.

ferramenta de linha de comandos mst-cli para o Gateway de Túnel da Microsoft

A Mst-cli é uma ferramenta de linha de comandos para utilizar com o Gateway de Túnel da Microsoft. Esta ferramenta está disponível no servidor Linux após o túnel concluir a instalação e encontra-se em /usr/sbin/mst-cli. Algumas tarefas que pode utilizar esta 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.

Seguem-se utilizações comuns da linha de comandos da ferramenta.

Interface de linha de comandos:

  • mst-cli –help - Utilização: mst-cli [comando]

    Comandos:

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

    Comandos:

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

    Sinalizadores:

    • -f, --follow - Siga a saída do registo. O padrão é false.
    • --since string - Mostrar registos desde TIMESTAMP.
    • --tail uint - Produza o número especificado de LINHAS no final dos registos. A predefinição é zero (0), que imprime todas as linhas.
    • -t, --timestamps - Produza os carimbos de data/hora no registo.
  • mst-cli agent status - Os seguintes retornos são exemplos de resultados que poderá ver:

    • Estado: em execução
    • Estado de funcionamento: bom estado de funcionamento
  • mst-cli agent start - Inicia o agente se estiver parado.

  • mst-cli agent stop - Para o agente. Tem de ser iniciado manualmente depois de parado.

  • mst-cli agent restart - Reinicia o agente.

  • mst-cli server --help - Utilização: servidor mst-cli [comando]

    Comandos:

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

    Sinalizadores:

    • -f, --follow - Siga a saída do registo. O padrão é false.
    • --since string - Mostrar registos desde TIMESTAMP
    • --tail uint - Produza o número especificado de LINHAS no final dos registos. A predefinição é zero (0), que imprime todas as linhas.
    • -t, --timestamps - Produza os carimbos de data/hora no registo.
  • mst-cli server status - Os seguintes retornos são exemplos de resultados que poderá ver:

    • Estado: em execução
    • Estado de funcionamento: bom estado de funcionamento
  • mst-cli server start - Inicia o servidor se estiver parado.

  • mst-cli server stop - Para o servidor. Tem de ser iniciado manualmente depois de parado.

  • mst-cli server restart - Reinicia o servidor.

  • mst-cli server show

    • show status - Imprime o estado e as estatísticas do servidor.
    • show users - Imprime os utilizadores ligados.
    • show ip bans - Imprime os endereços IP proibidos.
    • show ip ban points - Imprime todos os endereços IP conhecidos que têm pontos.
    • show iroutes - Imprime as rotas fornecidas pelos utilizadores do servidor.
    • show sessions all - Imprime todos os IDs de sessão.
    • show sessions valid - Imprime todas as sessões válidas para restabelecimento de ligação.
    • show session [SID] - Imprime informações na sessão especificada.
    • show user [NAME] - Imprime informações sobre o utilizador especificado.
    • show id [ID] - Imprime informações no ID especificado.
    • show events - Fornece informações sobre a ligação de utilizadores.
    • show cookies all - Alias para mostrar todas as sessões.
    • show cookies valid - Alias para mostrar sessões válidas.

Variáveis de ambiente

Seguem-se as variáveis de ambiente que poderá querer configurar quando instalar o software do Gateway de Túnel da Microsoft no servidor Linux. Estas variáveis encontram-se no ficheiro de ambiente /etc/mstunnel/env.sh:

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

Caminhos de Dados

Caminho/Ficheiro Descrição Permissões
/.../mstunnel O diretório de raiz para toda a configuração. Raiz do proprietário, Grupo mstunnel
/.../mstunnel/admin-settings.json Contém as definições para a instalação do servidor.  O Intune gere este ficheiro e não deve ser editado manualmente.
/.../mstunnel/certs O diretório onde o certificado TLS está armazenado.  Raiz do proprietário, Grupo mstunnel
/.../mstunnel/private O diretório onde o certificado do Agente do Intune e a chave privada TLS são armazenados.  Raiz do proprietário, Grupo mstunnel

Ficheiros 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 a inscrição do servidor.
  • agent-info.json:

    • Criado quando a inscrição estiver concluída.
    • AgentId, IntuneTenantId, AADTenantId e o certificado de agente RenewalDate.
    • Atualizado na renovação do certificado do agente.
  • private/agent.p12:

    • Certificado PFX utilizado 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 utilizadas para criar os contentores:

  • 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
}
Definição de Administrador Descrição
PolicyName O nome da política de definições. Pode escolher o nome.
DisplayName O nome a apresentar abreviado. Pode escolher o nome.
Descrição A descrição da política. Pode escolher a descrição.
Rede A rede e a máscara utilizadas para atribuir endereços virtuais aos clientes. Isto não tem de ser alterado, a menos que tenha um conflito. Esta definição suporta até 64 000 clientes.
DNSServers A lista de servidores DNS que o cliente deve utilizar. Estes servidores podem resolver os endereços dos recursos internos.
DefaultDomainSuffix O sufixo de domínio que um cliente acrescenta ao nome do anfitrião ao tentar resolver recursos.
RoutesInclude A lista de rotas que são encaminhadas através da VPN. A predefinição sã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

Seguem-se comandos comuns para o Docker que podem ser utilizados se tiver de investigar problemas num servidor de túnel.

Observação

A maioria das distribuições do Linux utilizam o Docker. No entanto, alguns, como o Red Hat Enterprise Linux (RHEL) 8.4 , não suportam o Docker. Em vez disso, estas distribuições utilizam o Podman. Para obter mais informações sobre as distribuições suportadas e os requisitos do Docker ou podman de cada uma, veja Servidores Linxu.

As referências e linhas de comandos escritas para o Docker podem ser utilizadas com o Podman ao substituir docker pelo podman.

Interface de linha de comandos:

  • docker ps –a – Veja todos os contentores.

    • mstunnel-server – este contentor executa os componentes do servidor ocserv e utiliza a Porta 443 de entrada (predefinição) ou uma configuração de porta personalizada.
    • mstunnel-agent – este contentor executa o conector do Intune e utiliza a Porta 443 de saída.
  • Para reiniciar o Docker:

    • systemctl restart docker
  • Para executar algo num contentor:

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

Comandos do Podman

Seguem-se os comandos do Podman que podem ser utilizados se tiver de investigar problemas num servidor de túnel. Para obter mais comandos que pode utilizar com o Podman, veja Comandos do Docker.

  • sudo podman images - Listar todos os contentores em execução.
  • sudo podman stats - Apresentar a utilização da CPU do contentor, a utilização de MEM, a Rede e a E/S de Blocos.
  • sudo podman port mstunnel-server - Liste os mapeamentos de portas de tunnel-server para o anfitrião linux local.

Comandos do Linux

Seguem-se comandos comuns do Linux que pode utilizar com um servidor de túnel.

  • sudo su – Cria raiz na caixa. Utilize este comando antes de executar os seguintes comandos e antes de executar mstunnel-setup.

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

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

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

  • cp <source> <destination> - Útil para copiar os certificados para a localização certa.

  • ln –s <source> <target> - Criar uma ligação suave.

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

  • ./<filename> - Execute um script.

Carregar ip_tables manualmente

Utilize os seguintes comandos para verificar e carregar manualmente, se necessário, ip_tables no kernel do servidor Linux. Utilize o contexto sudo:

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

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

  • Para carregar ip_tables para o kernel imediatamente: /sbin/modprobe ip_tables