Hay momentos en que un usuario feliz de una máquina virtual pública puede encontrarse con el hecho de que la máquina virtual no tiene acceso a Internet. El usuario cuenta con un procesador, memoria, un disco con un sistema operativo, interfaces básicas, un puerto de acceso remoto, y eso es todo.
En este caso, también se puede entender al proveedor de alojamiento, es más fácil para él desactivar el acceso a Internet hoy para no tener problemas en el cerebro mañana sobre la actividad del usuario en Internet, ya que varios ofendidos y ofendidos por el usuario comenzarán a resolver las cosas con el proveedor de alojamiento. Por ejemplo, en algunos países, la práctica del bloqueo previo a la prueba de las direcciones IP del host está muy extendida, lo que no afecta al usuario malintencionado, sino a los usuarios inocentes.
Nuevo método de internet
Anteriormente, para llevar una máquina virtual sin red a Internet, el cliente solo podía reenviar un dispositivo USB físico que distribuye Internet desde su dirección: módem, adaptador de red.
Hoy, un usuario puede reenviar puertos a un servidor VPN o Proxy por analogía con SSH. Para esto, es necesario que los tres lados del cliente, el host y la máquina virtual se ensamblen sobre la base del código FlexVDI, es decir, es necesario reconstruir e instalar paquetes de software que se utilizan para el acceso remoto a través del protocolo Spice.
FlexVDI es una versión mejorada del protocolo de acceso remoto abierto SPICE y una capa adicional de abstracción de la compañía del mismo nombre. Todo el código necesario está disponible en los repositorios de github .
Conexión
Para recibir un cliente spice de FlexVDI, un usuario de Linux puede compilar el cliente manualmente o realizar varias acciones en la imagen de imagen de la aplicación del cliente:
Primero debe descargar la imagen de la aplicación appImage del cliente desde el sitio oficial, convertirla en un archivo ejecutable y descomprimirla con el comando:
./flexvdi-linux-client-2.2.15-x86_64.AppImage --appimage-extract
Después de ejecutar el comando, los archivos de imagen se ubicarán en el directorio squashfs-root en el directorio con el archivo. Estamos interesados en el cliente picante, pero la ejecución directa del archivo falla porque la aplicación está tratando de usar bibliotecas ubicadas en el sistema y no en la imagen. Para ejecutar picante, cree una copia del archivo AppRun. En el archivo de copia al final, comente o elimine la línea:
./python2.7 ./flexvdi_launcher.pyc "$@"
y en su lugar agregamos una línea del formulario:
./spicy --uri=spice://vpla.umvirt.com?port=6060 -R 3128:127.0.0.1:3128 --spice-debug
Aquí puede configurar la conexión al puerto de acceso remoto a través del protocolo spice a la máquina virtual pública RetroGamer en el servidor vpla.umvirt.com y reenviar el puerto 3128 desde el calamar a la máquina virtual con la salida de información de depuración.
Guardamos el archivo, instalamos el servidor proxy Squid y verificamos su operatividad utilizando un navegador.
A continuación se muestra una captura de pantalla de la ventana de configuración del servidor Proxy para Firefox:

Si el navegador funciona con el proxy correctamente, reserve el acceso a la máquina virtual y ejecute el archivo de inicio creado con la salida redirigida al archivo, por ejemplo, así:
./myApp > spicy.log
Los siguientes mensajes deberían aparecer en el archivo de registro:
(spicy:10702): GSpice-DEBUG: port-forward.c:183 Created new port forwarder
y
(spicy:10702): GSpice-DEBUG: port-forward.c:231 Associate guest (null), port 3128 -> 127.0.0.1 port 3128
Si el mensaje no aparece, significa que en el host o en la máquina virtual, el código de los paquetes de especias originales no se reemplaza por el código Flexvdi.
En una máquina virtual:
- comprobamos el reenvío de puertos con el comando:
ss -atnl
- comprobamos la falta de una red con el comando:
ip addr
En la configuración del navegador, prescribimos los mismos parámetros para el servidor proxy.

Comprobando el acceso a la red
Verificamos la dirección IP, por ejemplo, en http://umvirt.com/agentinfo

Verificamos la posibilidad de abrir sitios, por ejemplo, abrir el sitio de minería en línea " Coinhive ".

Como puede ver, la máquina virtual no solo se conectó en línea desde la dirección del cliente, sino que también permitió iniciar el proceso de minería.
Un video del proceso de conexión está disponible en Youtube .