Come raggiungere un servizio privato tramite una VPN in una macchina virtuale
Eseguite i due percorsi separatamente: la VPN dell'ospite su NAT e un ramo solo per l'host che usa il Mac. Inoltrate una sola porta, verificatela e poi scrivete il rollback.
Trattate l'ospite e il Mac come due reti separate unite da un'unica porta stretta. La macchina virtuale conserva il suo client VPN e il proprio percorso verso internet; il Mac raggiunge esattamente un servizio tramite un adattatore solo per l'host e un'unica porta inoltrata. Nient'altro deve passare. Seguite i passaggi in ordine e fermatevi quando uno fallisce, perché ogni passaggio successivo presuppone che i precedenti abbiano tenuto.
Annotate i due percorsi prima di cambiare qualsiasi cosa
Sull'ospite, ipconfig /all mostra l'adattatore che trasporta la VPN e l'indirizzo che ha ricevuto dal DHCP della rete virtuale. Sul Mac, annotate l'interfaccia virtuale creata dall'hypervisor per quel segmento; con VMware Fusion il dispositivo solo per l'host è di solito vmnet1, e Parallels dà al proprio un nome. Notate chi distribuisce gli indirizzi lì, poi scrivete tutto, perché la sottorete solo per l'host viene spesso riassegnata quando una rete virtuale viene ricreata. Controllate la modalità di rete della macchina virtuale nell'hypervisor, non nella vostra memoria di essa. La modalità condivisa o NAT per l'adattatore rivolto a internet più la modalità solo per l'host per l'adattatore rivolto al Mac è la disposizione che questi passaggi presuppongono.
Due adattatori, due scopi. Mescolarli in modo che un solo adattatore serva sia il Mac sia internet è ciò che trasforma una porta stretta in un percorso instradato.
Confermate prima la VPN propria dell'ospite
Avviate il client dentro Windows e confermate che termina, con qualunque test documenti il fornitore. Non proseguite finché l'ospite da solo non raggiunge il servizio privato, perché un problema di inoltro sovrapposto a un tunnel rotto ha due cause e nessun messaggio di errore utile. Annotate l'indirizzo privato a cui il servizio si risolve dall'interno dell'ospite. Quell'indirizzo è l'unica cosa che la regola di inoltro deve nominare.
Se il client spinge un tunnel completo, l'adattatore solo per l'host porta comunque traffico locale, ma verificate che la destinazione privata non venga catturata dal tunnel in modo da cambiarne l'indirizzo. Un profilo con tunnel diviso rende tutto più semplice e vale la pena chiederlo a chi possiede la VPN.
Aggiungete il ramo solo per l'host e provatelo da solo
Collegate un adattatore solo per l'host all'ospite, dategli un indirizzo statico su una sottorete che nessun altro usa e confermate che il Mac possa fargli ping. Provate con la VPN connessa e disconnessa, perché l'indirizzo deve sopravvivere a entrambe. Un ospite che risponde solo finché il suo tunnel è attivo ha un problema di instradamento che non avete ancora trovato.
Windows può classificare il nuovo adattatore come rete pubblica, il che blocca il traffico in entrata per impostazione predefinita. Impostate il profilo prima di eseguire il debug di qualsiasi altra cosa.
Inoltrate una porta, non la sottorete
Preferite un'unica porta inoltrata all'inoltro IP generale. Windows fornisce netsh interface portproxy, che inoltra una porta in ascolto verso un host e una porta di destinazione, e richiede che il servizio IP Helper sia in esecuzione.
Impostate sempre listenaddress sull'indirizzo solo per l'host. Ometterlo lega tutte le interfacce, il che espone il servizio a qualunque rete su cui si trovi la macchina virtuale. Aggiungete una regola del firewall limitata all'interfaccia solo per l'host e a quella sola porta, così che l'ascoltatore e il permesso coincidano. Un'applicazione consapevole del proxy potrebbe invece volere un piccolo proxy dentro l'ospite, che chiude la connessione e non richiede alcuna rotta di ritorno verso il Mac. Scegliete il proxy quando il protocollo lo consente, perché fallisce chiuso per costruzione.
Verificate, poi scrivete il rollback
Dal Mac, risolvete il nome privato, eseguite l'operazione prevista, poi fermate la VPN dell'ospite e confermate che l'operazione fallisce invece di tornare indietro in silenzio. È quest'ultimo controllo a dimostrare che il percorso è quello che avete costruito. Annotate quale identità vede il gateway e chi può usare l'inoltro.
Scrivete il rollback in tre passaggi: rimuovete la voce portproxy, rimuovete la regola del firewall, staccate l'adattatore solo per l'host. Poi eseguitelo una volta, prima di averne bisogno, e confermate che la VPN propria dell'ospite funzioni ancora dopo. Se la vostra organizzazione richiede che ogni Mac si registri in modo indipendente, fermatevi qui e usate invece quel modello, perché un punto di inoltro condiviso concentra l'accesso su un solo ospite. In ogni caso, mettete gli indirizzi e la porta nel registro delle modifiche; la persona successiva non vorrà riscoprirli.