Alcançar um servidor SOCKS dentro de um convidado NAT do VirtualBox
Encaminhe uma porta loopback do host para o proxy do convidado e verifique se o ouvinte do convidado aceita conexões na sua interface de rede virtual.
Um serviço SOCKS dentro de um convidado VirtualBox tem dois requisitos de alcançabilidade distintos: o VirtualBox deve entregar a conexão ao convidado, e o serviço do convidado deve aceitá-la.
Para uma VM cujo primeiro adaptador usa NAT comum, o VirtualBox 7.1 documenta uma regra de encaminhamento de porta nesta forma. Com a VM parada:
VBoxManage modifyvm "Proxy VM" --nat-pf1 "socks,tcp,127.0.0.1,1080,,1080"
Substitua o nome da VM e as portas conforme necessário. A aplicação do host seleciona então SOCKS em 127.0.0.1:1080. Vincular o lado do host a 127.0.0.1 limita este ponto de entrada ao próprio host.
O campo vazio de endereço do convidado pressupõe que o convidado usa a atribuição DHCP integrada do motor NAT. Se o convidado usar um endereço estático, informe esse endereço na regra. O 1080 final é a porta do serviço do convidado; não precisa ser igual à porta do host.
O ouvinte do convidado continua a ser um serviço de rede
Um proxy vinculado apenas a 127.0.0.1 dentro do convidado aceita conexões locais do convidado. O encaminhamento NAT não faz com que esse ouvinte de loopback aceite o tráfego que chega à interface virtual do convidado. Configure o serviço para escutar numa interface adequada do convidado e permita que o tráfego pretendido passe pela firewall do convidado e pelas regras de acesso do proxy. Verifique o acesso permitido e negado do ouvinte depois de alterar esse limite.
Quando falha, examine estes limites separadamente: a porta e a regra do host, o endereço do convidado escolhido e o ouvinte dentro do convidado. Mudar para rede em ponte não consegue reparar um serviço que continua a escutar apenas no loopback do convidado.
Esta regra TCP cobre uma conexão SOCKS sobre TCP. Por si só, não fornece o caminho UDP adicional de que um relay SOCKS5 UDP precisa.