IP virtuale e loopback virtuale

Last published : Nov 13, 2026
Importante:
Windows 10 Enterprise multi-session non supporta la virtualizzazione IP di Remote Desktop (IP virtuale) e non supportiamo l'IP virtuale né il loopback virtuale su Windows 10 Enterprise multi-session.
Le funzionalità IP virtuale e loopback virtuale sono supportate sulle macchine Windows Server 2016. Queste funzionalità non si applicano alle macchine con sistema operativo desktop Windows.
La funzionalità di indirizzo IP virtuale di Microsoft fornisce a un'applicazione pubblicata un indirizzo IP univoco assegnato dinamicamente per ogni sessione. La funzionalità di loopback virtuale di Citrix consente di configurare le applicazioni che dipendono dalle comunicazioni con localhost (127.0.0.1 per impostazione predefinita) per utilizzare un indirizzo di loopback virtuale univoco nell'intervallo localhost (127.*).
Alcune applicazioni, come CRM e CTI (Computer Telephony Integration), utilizzano un indirizzo IP per l'indirizzamento, la licenza, l'identificazione o altri scopi che richiedono un indirizzo IP univoco o un indirizzo di loopback. Altre applicazioni potrebbero associarsi a una porta statica, quindi i tentativi di avviare istanze aggiuntive di un'applicazione in un ambiente multiutente falliscono perché la porta è in uso. Affinché tali applicazioni funzionino correttamente in un ambiente Citrix Virtual Apps™, è necessario un indirizzo IP univoco per ogni dispositivo.
L'IP virtuale e il loopback virtuale sono funzionalità indipendenti. È possibile utilizzare l'uno o l'altro, o entrambi.
Sintesi delle azioni dell'amministratore:
  • Per utilizzare l'IP virtuale di Microsoft, abilitarlo e configurarlo sul server Windows. (Le impostazioni dei criteri Citrix® non sono necessarie.)
  • Per utilizzare il loopback virtuale di Citrix, configurare due impostazioni in un criterio Citrix.

IP virtuale

Quando l'IP virtuale è abilitato e configurato sul server Windows, ogni applicazione configurata in esecuzione in una sessione sembra avere un indirizzo univoco. Gli utenti accedono a queste applicazioni su un server Citrix Virtual Apps nello stesso modo in cui accedono a qualsiasi altra applicazione pubblicata. Un processo richiede l'IP virtuale in uno dei seguenti casi:
  • Il processo utilizza un numero di porta TCP hard-coded
  • Il processo utilizza i socket di Windows e richiede un indirizzo IP univoco o un numero di porta TCP specificato
Per determinare se un'applicazione deve utilizzare indirizzi IP virtuali:
  1. Ottieni lo strumento TCPView da Microsoft. Questo strumento elenca tutte le applicazioni che associano indirizzi IP e porte specifici.
  2. Disabilita la funzione Risolvi indirizzi IP in modo da visualizzare gli indirizzi anziché i nomi host.
  3. Avviare l'applicazione e utilizzare TCPView per vedere quali indirizzi IP e porte l'applicazione apre e quali nomi di processo stanno aprendo queste porte.
  4. Configura tutti i processi che aprono l'indirizzo IP del server, 0.0.0.0 o 127.0.0.1.
  5. Per garantire che un'applicazione non apra lo stesso indirizzo IP su una porta diversa, avviare un'altra istanza dell'applicazione.

Come funziona la virtualizzazione IP di Microsoft Remote Desktop (RD)

  • L'indirizzamento IP virtuale deve essere abilitato sul server Microsoft.
    Ad esempio, in un ambiente Windows Server 2016, da Server Manager, espandi Servizi Desktop remoto > Connessioni host sessione RD per abilitare la funzionalità di virtualizzazione IP RD e configurare le impostazioni per assegnare dinamicamente gli indirizzi IP utilizzando il server DHCP (Dynamic Host Configuration Protocol) su base per sessione o per programma. Consulta la documentazione Microsoft per le istruzioni.
  • Dopo l'abilitazione della funzionalità, all'avvio della sessione, il server richiede indirizzi IP assegnati dinamicamente dal server DHCP.
  • La funzionalità di virtualizzazione IP RD assegna indirizzi IP alle connessioni desktop remoto per sessione o per programma. Se assegni indirizzi IP per più programmi, questi condividono un indirizzo IP per sessione.
  • Dopo che un indirizzo è stato assegnato a una sessione, la sessione utilizza l'indirizzo virtuale anziché l'indirizzo IP primario per il sistema ogni volta che vengono effettuate le seguenti chiamate: bind¸closesocket¸connect, WSAConnect, WSAAccept, getpeername, getsockname, sendto, WSASendTo, WSASocketW, gethostbyaddr, getnameinfo, getaddrinfo.
Quando si utilizza la funzionalità di virtualizzazione IP di Microsoft all'interno della configurazione di hosting della sessione Desktop remoto, le applicazioni sono associate a indirizzi IP specifici inserendo un componente “filtro” tra l'applicazione e le chiamate di funzione Winsock. L'applicazione vede quindi solo l'indirizzo IP corretto da utilizzare. Qualsiasi tentativo da parte dell'applicazione di ascoltare le comunicazioni TCP o UDP viene automaticamente associato al suo indirizzo IP virtuale (o indirizzo di loopback) allocato. Qualsiasi connessione originaria aperta dall'applicazione proviene dall'indirizzo IP associato all'applicazione.
Nelle funzioni che restituiscono un indirizzo (come GetAddrInfo(), controllato da una policy di Windows), se viene richiesto l'indirizzo IP dell'host locale, l'IP virtuale esamina l'indirizzo IP restituito e lo modifica nell'indirizzo IP virtuale della sessione. Le applicazioni che tentano di ottenere l'indirizzo IP del server locale tramite tali funzioni di nome vedono solo l'indirizzo IP virtuale univoco assegnato a quella sessione. Questo indirizzo IP viene spesso utilizzato nelle successive chiamate socket, come bind o connect. Per ulteriori informazioni sulle policy di Windows, consultare Virtualizzazione IP RDS in Windows Server.
Spesso, un'applicazione richiede di associarsi a una porta per l'ascolto sull'indirizzo 0.0.0.0. Quando un'applicazione fa questo e utilizza una porta statica, non è possibile avviare più di un'istanza dell'applicazione. La funzionalità di indirizzo IP virtuale cerca anche 0.0.0.0 in questi tipi di chiamate e modifica la chiamata per ascoltare sull'indirizzo IP virtuale specifico, il che consente a più di un'applicazione di ascoltare sulla stessa porta sullo stesso computer perché stanno tutte ascoltando su indirizzi diversi. La chiamata viene modificata solo se si trova in una sessione ICA e la funzionalità di indirizzo IP virtuale è abilitata. Ad esempio, se due istanze di un'applicazione in esecuzione in sessioni diverse tentano entrambe di associarsi a tutte le interfacce (0.0.0.0) e a una porta specifica (come 9000), vengono associate a VIPAddress1:9000 e VIPAddress2:9000 e non c'è conflitto.

Loopback virtuale

L'abilitazione delle impostazioni dei criteri di loopback IP virtuale Citrix consente a ogni sessione di avere il proprio indirizzo di loopback per la comunicazione. Quando un'applicazione utilizza l'indirizzo localhost (predefinito = 127.0.0.1) in una chiamata Winsock, la funzionalità di loopback virtuale sostituisce semplicemente 127.0.0.1 con 127.X.X.X, dove X.X.X è una rappresentazione dell'ID sessione + 1. Ad esempio, un ID sessione di 7 è 127.0.0.8. Nell'improbabile eventualità che l'ID sessione superi il quarto ottetto (più di 255), l'indirizzo passa all'ottetto successivo (127.0.1.0), fino a un massimo di 127.255.255.255.
Un processo richiede il loopback virtuale in uno dei seguenti casi:
  • Il processo utilizza l'indirizzo di loopback (localhost) del socket Windows (127.0.0.1)
  • Il processo utilizza un numero di porta TCP hardcoded
Utilizzare le impostazioni dei criteri di loopback virtuale per le applicazioni che utilizzano un indirizzo di loopback per la comunicazione tra processi. Non è richiesta alcuna configurazione aggiuntiva. Il loopback virtuale non dipende da Virtual IP, quindi non è necessario configurare il server Microsoft.
  • Supporto loopback IP virtuale. Se abilitata, questa impostazione dei criteri consente a ogni sessione di avere il proprio indirizzo di loopback virtuale. Questa impostazione è disabilitata per impostazione predefinita. La funzionalità si applica solo alle applicazioni specificate con l'impostazione dei criteri dell'elenco di programmi di loopback virtuale IP virtuale.
  • Elenco di programmi di loopback virtuale IP virtuale. Questa impostazione dei criteri specifica le applicazioni che utilizzano la funzionalità di loopback IP virtuale. Questa impostazione si applica solo quando l'impostazione dei criteri di supporto loopback IP virtuale è abilitata.

Funzionalità correlata

È possibile utilizzare le seguenti impostazioni del registro per garantire che il loopback virtuale abbia la preferenza sull'IP virtuale. Questa funzionalità è chiamata loopback preferito. Tuttavia, procedere con cautela:
  • Utilizzare il loopback preferito solo se sia l'IP virtuale che il loopback virtuale sono abilitati. In caso contrario, si potrebbero ottenere risultati imprevisti.
  • La modifica errata del registro può causare seri problemi che potrebbero richiedere la reinstallazione del sistema operativo. Citrix non può garantire che i problemi derivanti dall'uso errato dell'Editor del Registro di sistema possano essere risolti. Utilizzare l'Editor del Registro di sistema a proprio rischio. Assicurarsi di eseguire il backup del registro prima di modificarlo.
Eseguire regedit sui server in cui risiedono le applicazioni.
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\VIP
  • Nome: PreferLoopback, Tipo: REG\_DWORD, Dati: 1
  • Nome: PreferLoopbackProcesses, Tipo: REG\_MULTI\_SZ, Dati: \<elenco di processi\>