Há momentos em que um usuário feliz de uma máquina virtual pública pode encontrar o fato de que a máquina virtual não tem acesso à Internet. O usuário recebe um processador, memória, um disco com um sistema operacional, interfaces básicas, uma porta de acesso remoto e isso é tudo.
Nesse caso, o hoster também pode ser entendido, é mais fácil para ele desativar o acesso à Internet hoje para não estragar o cérebro amanhã sobre a atividade do usuário na Internet, já que vários ofendidos e ofendidos pelo usuário começarão a resolver as coisas com o hoster. Por exemplo, em alguns países, a prática de bloqueio pré-teste dos endereços IP do host é generalizada, o que não afeta o usuário mal-intencionado, mas os usuários inocentes.
Novo método da Internet
Anteriormente, para levar uma máquina virtual sem rede à Internet, o cliente só podia encaminhar um dispositivo USB físico que distribui a Internet a partir de seu endereço: modem, adaptador de rede.
Hoje, um usuário pode encaminhar portas para um servidor VPN ou Proxy por analogia com o SSH. Para isso, é necessário que todos os três lados do cliente, host e máquina virtual sejam montados com base no código FlexVDI, ou seja, é necessário reconstruir e instalar pacotes de software usados para acesso remoto por meio do protocolo Spice.
O FlexVDI é uma versão aprimorada do protocolo de acesso remoto aberto SPICE e uma camada adicional de abstração da empresa com o mesmo nome. Todo o código necessário está disponível nos repositórios do github .
Ligação
Para receber um cliente de especiarias do FlexVDI, um usuário do Linux pode compilar o cliente manualmente ou executar várias ações na imagem appImage do cliente:
Primeiro, você precisa baixar a imagem appImage do cliente no site oficial, transformá-lo em um arquivo executável e descompactá-lo usando o comando:
./flexvdi-linux-client-2.2.15-x86_64.AppImage --appimage-extract
Após a execução do comando, os arquivos de imagem serão localizados no diretório squashfs-root no diretório com o arquivo. Estamos interessados no cliente apimentado, mas a execução direta do arquivo falha porque o aplicativo está tentando usar bibliotecas localizadas no sistema e não na imagem. Para executar o picante, crie uma cópia do arquivo AppRun. No arquivo de cópia no final, comente ou exclua a linha:
./python2.7 ./flexvdi_launcher.pyc "$@"
e, em vez disso, adicionamos uma linha do formulário:
./spicy --uri=spice://vpla.umvirt.com?port=6060 -R 3128:127.0.0.1:3128 --spice-debug
Aqui você pode configurar a conexão com a porta de acesso remoto via protocolo spice à máquina virtual pública RetroGamer no servidor vpla.umvirt.com e encaminhar a porta 3128 do squid para a máquina virtual com saída de informações de depuração.
Nós salvamos o arquivo, instalamos o servidor proxy Squid e verificamos sua operacionalidade usando um navegador.
Abaixo está uma captura de tela da janela de configurações do servidor proxy para Firefox:

Se o navegador funcionar com o proxy com sucesso, reserve o acesso à máquina virtual e execute o arquivo de inicialização criado com a saída redirecionada para o arquivo, por exemplo:
./myApp > spicy.log
As seguintes mensagens devem aparecer no arquivo de log:
(spicy:10702): GSpice-DEBUG: port-forward.c:183 Created new port forwarder
e
(spicy:10702): GSpice-DEBUG: port-forward.c:231 Associate guest (null), port 3128 -> 127.0.0.1 port 3128
Se a mensagem não aparecer, significa que, no host ou na máquina virtual, o código dos pacotes de especiarias originais não é substituído pelo código Flexvdi.
Em uma máquina virtual:
- verificamos o encaminhamento de porta com o comando:
ss -atnl
- verificamos a falta de uma rede com o comando:
ip addr
Nas configurações do navegador, prescrevemos os mesmos parâmetros para o servidor proxy.

Verificando o acesso à rede
Verificamos o endereço IP, por exemplo, em http://umvirt.com/agentinfo

Verificamos a possibilidade de abrir sites, por exemplo, abrir o site de mineração online " Coinhive ".

Como você pode ver, a máquina virtual não apenas ficou on-line a partir do endereço do cliente, mas também permitiu iniciar o processo de mineração.
Um vídeo do processo de conexão está disponível no Youtube .