Un servizio SOCKS dentro un guest VirtualBox ha due requisiti di raggiungibilità distinti: VirtualBox deve consegnare la connessione al guest e il servizio del guest deve accettarla.

Per una VM il cui primo adattatore usa NAT ordinario, VirtualBox 7.1 documenta una regola di inoltro porta in questa forma. Con la VM arrestata:

VBoxManage modifyvm "Proxy VM" --nat-pf1 "socks,tcp,127.0.0.1,1080,,1080"

Sostituisci il nome della VM e le porte secondo necessità. L'applicazione host seleziona quindi SOCKS su 127.0.0.1:1080. Vincolare il lato host a 127.0.0.1 limita questo punto di ingresso all'host stesso.

Il campo vuoto dell'indirizzo guest presuppone che il guest usi l'assegnazione DHCP integrata del motore NAT. Se il guest usa invece un indirizzo statico, indica quell'indirizzo nella regola. L'ultimo 1080 è la porta del servizio del guest; non deve necessariamente coincidere con la porta dell'host.

Il listener del guest resta un servizio di rete

Un proxy vincolato solo a 127.0.0.1 dentro il guest accetta connessioni locali al guest. L'inoltro NAT non fa sì che quel listener di loopback accetti il traffico che arriva sull'interfaccia virtuale del guest. Configura il servizio per ascoltare su un'interfaccia guest adeguata e consenti al traffico previsto di passare attraverso il firewall del guest e le regole di accesso del proxy. Controlla gli accessi consentiti e negati del listener dopo aver modificato quel confine.

Quando non funziona, esamina questi confini separatamente: la porta e la regola dell'host, l'indirizzo guest scelto e il listener dentro il guest. Passare alla rete bridged non può riparare un servizio che ascolta ancora solo sul loopback del guest.

Questa regola TCP copre una connessione SOCKS su TCP. Da sola non fornisce il percorso UDP aggiuntivo necessario a un relay SOCKS5 UDP.

Articoli correlati