Un servicio SOCKS dentro de un invitado de VirtualBox tiene dos requisitos de accesibilidad distintos: VirtualBox debe entregar la conexión al invitado y el servicio del invitado debe aceptarla.

Para una VM cuyo primer adaptador usa NAT normal, VirtualBox 7.1 documenta una regla de reenvío de puertos con esta forma. Con la VM detenida:

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

Sustituye el nombre de la VM y los puertos según sea necesario. La aplicación del host selecciona entonces SOCKS en 127.0.0.1:1080. Vincular el lado del host a 127.0.0.1 limita este punto de entrada al propio host.

El campo vacío de dirección del invitado supone que el invitado usa la asignación DHCP integrada del motor NAT. Si el invitado usa una dirección estática, indica esa dirección en la regla. El 1080 final es el puerto del servicio del invitado; no tiene por qué coincidir con el puerto del host.

El receptor del invitado sigue siendo un servicio de red

Un proxy vinculado solo a 127.0.0.1 dentro del invitado acepta conexiones locales del invitado. El reenvío NAT no hace que ese receptor de loopback acepte el tráfico que llega por la interfaz virtual del invitado. Configura el servicio para escuchar en una interfaz adecuada del invitado y permite que el tráfico previsto pase por el cortafuegos del invitado y las reglas de acceso del proxy. Comprueba el acceso permitido y denegado del receptor después de cambiar ese límite.

Cuando falla, examina estos límites por separado: el puerto y la regla del host, la dirección del invitado seleccionada y el receptor dentro del invitado. Cambiar a red puente no puede reparar un servicio que sigue escuchando solo en el loopback del invitado.

Esta regla TCP cubre una conexión SOCKS sobre TCP. Por sí sola no proporciona la ruta UDP adicional que necesita un relay SOCKS5 UDP.

Artículos relacionados