Citrix Virtual Apps and Desktops

IP Virtual e loopback virtual

Importante:

  • O Windows 10 Enterprise multissessão não oferece suporte à Virtualização de IP da Área de Trabalho Remota (IP Virtual) e não oferecemos suporte à Virtualização de IP da Área de Trabalho Remota ou loopback virtual no Windows 10 Enterprise multissessão.
  • A Virtualização de IP da Área de Trabalho Remota (IP Virtual) não é compatível com máquinas hospedadas na nuvem. Para obter mais informações, consulte a documentação da Microsoft.

Os recursos de Virtualização de IP da Área de Trabalho Remota e loopback virtual são compatíveis com máquinas Windows Server 2016, Windows Server 2019 e Windows Server 2022. Esses recursos não se aplicam a máquinas com sistema operacional Windows para desktop.

O recurso de endereço de Virtualização de IP da Área de Trabalho Remota da Microsoft fornece a um aplicativo publicado um endereço IP exclusivo atribuído dinamicamente para cada sessão. Com o recurso de loopback virtual da Citrix, você pode configurar aplicativos que dependem de comunicações com o localhost (127.0.0.1 por padrão) para usar um endereço de loopback virtual exclusivo no intervalo do localhost (127.*).

Certos aplicativos, como CRM e Integração de Telefonia Computadorizada (CTI), usam um endereço IP para endereçamento, licenciamento, identificação ou outras finalidades que exigem um endereço IP ou endereço de loopback exclusivo. Outros aplicativos podem se vincular a uma porta estática, de modo que as tentativas de iniciar instâncias adicionais de um aplicativo em um ambiente multiusuário falham porque a porta está em uso. Para que esses aplicativos funcionem corretamente em um ambiente Citrix Virtual Apps™, é necessário um endereço IP exclusivo para cada dispositivo.

A Virtualização de IP da Área de Trabalho Remota e o loopback virtual são recursos independentes um do outro. Você pode usar um ou ambos.

Sinopse da ação do administrador:

  • Para usar a Virtualização de IP da Área de Trabalho Remota da Microsoft, habilite e configure-a no servidor Windows. (As configurações de política da Citrix® não são necessárias.)
  • Para usar o loopback virtual da Citrix, configure duas definições em uma política da Citrix.

Virtualização de IP da Área de Trabalho Remota (IP Virtual)

Quando a Virtualização de IP da Área de Trabalho Remota é habilitada e configurada no servidor Windows, cada aplicativo configurado em execução em uma sessão parece ter um endereço exclusivo. As pessoas usuárias acessam esses aplicativos em um servidor Citrix Virtual Apps da mesma forma que acessam qualquer outro aplicativo publicado. Um processo requer a Virtualização de IP da Área de Trabalho Remota em qualquer um dos seguintes casos:

  • O processo usa um número de porta TCP codificado
  • O processo usa soquetes do Windows e requer um endereço IP exclusivo ou um número de porta TCP especificado

Para determinar se um aplicativo precisa usar endereços de Virtualização de IP da Área de Trabalho Remota:

  1. Obtenha a ferramenta TCPView da Microsoft. Essa ferramenta lista todos os aplicativos que vinculam endereços IP e portas específicas. Para obter mais informações sobre o TCPView, consulte a documentação da Microsoft.
  2. Desative o recurso Resolver Endereços IP para que você veja os endereços em vez dos nomes de host.
  3. Inicie o aplicativo e use o TCPView para ver quais endereços IP e portas o aplicativo abre e quais nomes de processo estão abrindo essas portas.
  4. Configure quaisquer processos que abram o endereço IP do servidor, 0.0.0.0 ou 127.0.0.1.
  5. Para garantir que um aplicativo não abra o mesmo endereço IP em uma porta diferente, inicie outra instância do aplicativo.

Como funciona a virtualização de IP da Área de Trabalho Remota (RD) da Microsoft

  • O endereçamento IP Virtual deve ser habilitado no servidor Microsoft.

    Por exemplo, em um ambiente Windows Server 2016, no Gerenciador do Servidor, expanda Serviços de Área de Trabalho Remota > Conexões do Host da Sessão RD para habilitar o recurso de Virtualização de IP da RD e configurar as definições para atribuir dinamicamente endereços IP usando o servidor DHCP (Dynamic Host Configuration Protocol) por sessão ou por programa. Para obter mais informações sobre como configurar a Virtualização de IP da Área de Trabalho Remota, consulte a documentação da Microsoft.

  • Após habilitar o recurso, na inicialização da sessão, o servidor solicita endereços IP atribuídos dinamicamente do servidor DHCP.

  • O recurso de Virtualização de IP da RD atribui endereços IP a conexões de área de trabalho remota por sessão ou por programa. Se você atribuir endereços IP para vários programas, eles compartilharão um endereço IP por sessão.

  • Depois que um endereço é atribuído a uma sessão, a sessão usa o endereço virtual em vez do endereço IP principal para o sistema sempre que as seguintes chamadas são feitas: bind¸closesocket¸connect, WSAConnect, WSAAccept, getpeername, getsockname, sendto, WSASendTo, WSASocketW, gethostbyaddr, getnameinfo, getaddrinfo.

Ao usar o recurso de virtualização de IP da Microsoft na configuração de hospedagem de sessão da Área de Trabalho Remota, os aplicativos são vinculados a endereços IP específicos inserindo um componente de “filtro” entre o aplicativo e as chamadas de função Winsock. O aplicativo então vê apenas o endereço IP correto a ser usado. Qualquer tentativa do aplicativo de escutar comunicações TCP ou UDP é vinculada automaticamente ao seu endereço IP virtual alocado (ou endereço de loopback). Quaisquer conexões de origem abertas pelo aplicativo se originam do endereço IP vinculado ao aplicativo.

Em funções que retornam um endereço (como GetAddrInfo(), que uma política do Windows controla), se o endereço IP do host local for solicitado, a Virtualização de IP da Área de Trabalho Remota examina o endereço IP retornado e o altera para o endereço de Virtualização de IP da Área de Trabalho Remota da sessão. Aplicativos que tentam obter o endereço IP do servidor local por meio de tais funções de nome veem apenas o endereço de Virtualização de IP da Área de Trabalho Remota exclusivo atribuído a essa sessão. Esse endereço IP é frequentemente usado em chamadas de soquete subsequentes, como bind ou connect. Para obter mais informações sobre políticas do Windows, consulte Virtualização de IP RDS no Windows Server.

Frequentemente, um aplicativo solicita vincular-se a uma porta para escutar no endereço 0.0.0.0. Quando um aplicativo faz isso e usa uma porta estática, você não pode iniciar mais de uma instância do aplicativo. O recurso de endereço de Virtualização de IP da Área de Trabalho Remota também procura por 0.0.0.0 nesses tipos de chamada. Ele altera a chamada para escutar no endereço de Virtualização de IP da Área de Trabalho Remota específico, o que permite que mais de um aplicativo escute na mesma porta no mesmo computador porque todos estão escutando em endereços diferentes. A chamada é alterada apenas se estiver em uma sessão ICA e o recurso de endereço de Virtualização de IP da Área de Trabalho Remota estiver habilitado. Por exemplo, se duas instâncias de um aplicativo em execução em sessões diferentes tentarem se vincular a todas as interfaces (0.0.0.0) e a uma porta específica (como 9000), elas serão vinculadas a VIPAddress1:9000 e VIPAddress2:9000 e não haverá conflito.

Loopback virtual

Habilitar as configurações da política de loopback de Virtualização de IP da Área de Trabalho Remota da Citrix permite que cada sessão tenha seu próprio endereço de loopback para comunicação. Quando um aplicativo usa o endereço localhost (padrão = 127.0.0.1) em uma chamada Winsock, o recurso de loopback virtual simplesmente substitui 127.0.0.1 por 127.X.X.X, onde X.X.X é uma representação do ID da sessão + 1. Por exemplo, um ID de sessão de 7 é 127.0.0.8. No caso improvável de o ID da sessão exceder o quarto octeto (mais de 255), o endereço passa para o próximo octeto (127.0.1.0), até o máximo de 127.255.255.255.

Um processo requer loopback virtual em qualquer um dos seguintes casos:

  • O processo usa o endereço de loopback do soquete do Windows (localhost) (127.0.0.1)
  • O processo usa um número de porta TCP codificado

Use as configurações da política de loopback virtual para aplicativos que usam um endereço de loopback para comunicação entre processos. Nenhuma configuração adicional é necessária. O loopback virtual não tem dependência do IP Virtual, portanto, você não precisa configurar o servidor Microsoft.

  • Suporte a loopback de IP Virtual. Quando habilitada, essa configuração de política permite que cada sessão tenha seu próprio endereço de loopback virtual. Essa configuração é desabilitada por padrão. O recurso se aplica apenas a aplicativos especificados com a configuração de política de lista de programas de loopback virtual de IP Virtual.
  • Lista de programas de loopback virtual de IP Virtual. Essa configuração de política especifica os aplicativos que usam o recurso de loopback virtual de IP Virtual. Essa configuração se aplica apenas quando a configuração de política de suporte a loopback de IP Virtual está habilitada.
  • Exclusão de porta de loopback de IP Virtual. Quando um aplicativo chama o endereço de loopback nas portas especificadas nesta configuração, o loopback virtual não altera a chamada para o endereço de loopback específico da sessão.

Recurso relacionado

Você pode usar as seguintes configurações de registro para garantir que o loopback virtual tenha preferência sobre o IP virtual. Esse recurso é chamado de loopback preferencial. No entanto, prossiga com cautela:

  • Use o loopback preferencial somente se o IP Virtual e o loopback virtual estiverem habilitados. Caso contrário, você poderá ter resultados inesperados.
  • A edição incorreta do registro pode causar problemas sérios que podem exigir a reinstalação do seu sistema operacional. A Citrix não pode garantir que os problemas resultantes do uso incorreto do Editor do Registro possam ser resolvidos. Use o Editor do Registro por sua conta e risco. Certifique-se de fazer backup do registro antes de editá-lo.

Execute o regedit nos servidores onde os aplicativos residem.

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\VIP
  • Name: PreferLoopback, Type: REG_DWORD, Data: 1
  • Name: PreferLoopbackProcesses, Type: REG_MULTI_SZ, Data: <list of processes>
IP Virtual e loopback virtual