Servidor de virtualização super leve com Debian 11 bullseye + Virtualbox WEB

Com VirtualBox é possível executar diversos sistemas operacionais (Windows, Linux, UNIX, BSD) simultaneamente no mesmo hardware, que são chamados de máquinas virtuais. Uma das características é o mascaramento dos recursos físicos (incluindo processadores, quantidade de memória, interfaces de rede), o que permite diminuir a administração de drivers nas máquinas virtuais, e transferir uma máquina virtual entre servidores físicos diferentes.

Existem várias ferramentas de virtualização disponíveis.

Microsoft Virtual Server 2005 R2 – disponível para plataforma x86 e x86_64 bits. Suporte: Somente Windows.
Qemu – ferramenta de virtualização de código aberto disponível para windows, mac e Linux.
Vmware – Disponível para Windows e Linux.
VirtualBox – Aplicativo de código aberto disponível para Windows, Mac, Linux e Solaris.
Xen – Suporta Windows, bem como distribuições Linux.

O VirtualBox inicialmente foi lançado sob licença proprietária, mas mais tarde (2007) a Oracle Corporation começou a lançá-lo sob GNU General Public License. Escrito completamente em C, C ++ e Assembly Language está disponível para Windows, OS X, Linux e Solaris.

Recomendo já baixar a ISO nonfree: https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/

Requerimentos

Debian 11 (Bullseye) 64 bits instalação mínima pronta

Adicione o repositório do virtualbox
Acesse seu servidor e vire root.

Certifique-se que seu repositório esteja usando os repositórios nonfree e contrib.

Ao final de cada linha verifique se consta: nonfree e contrib, se não tiver adicione, ficando assim:

Atualize o repositório

Vamos fazer uns ajustes nas parametrizações do kernel para otimizar algumas coisas.

Reinicia a máquina para carregar os novos módulos do kernel.

Acesse seu servidor novamente e vire root.

Faça download dos pacotes extras:

Instale os pacotes extras

Responta Yes (y)

Vamos executá-lo como o nosso usuário vbox, porque ele não precisa acessar o resto do seu sistema.

Defina uma senha para seu usuario vbox

Diga ao seu sistema qual usuário vai executar o VirtualBox.

Faça com que o vboxweb-service inicie no boot. Como dito acima nosso usuário não precisa ter acesso total ao sistema. Adicione no /etc/rc.local o comando para iniciar junto com o boot.

Adicione

Alterare as permissões:

Vamos instalar o serviço web + php

Por segurança recomendo remover a assinatura do servidor, para isso:

Vamos também configurar nosso domínio virtual para acessar o servidor via domínio (ex vbox.remontti.com.br) e restringir ele apenas para nossos IP de gerencia.

Faça as devidas alterações, não esqueça de alterar em Require ip para os IPs que você vai autorizar as conexões.

Habilite os módulos

phpVirtualbox

O phpVirtualbox oficial até a data desta publicação (abril/2022) a versão 5.2, porém ela já não é mais instalável no Debian 11, então iremos utilizar um fork compatível com o phpVirtualbox 6.1.

Vamos configurar o projeto phpvirtualbox, dentro do diretório padrão do apache.

É altamente recomendado que você tenha um firewall em cima da range de portas 9000 a 9100, pois é onde será possível fazer acesso remoto, e recomendo que depois da instalação sempre desative o acesso remoto a VM, segue um exemplo de firewall com nftables que já é o padrão no Debian 11 substituindo o antigo iptables, no exemplo já irei proteger também a porta do SSH, lembre-se de deixar seus IPs na ACL de permissões.

Modelo fechando as portas do SSH [22] e a range de acesso remoto [9000-9100], você pode personalizar de acordo com sua instalação.

Reinicie o nftables e verifique se o mesmo foi carregado:

Adicione o usuario vbox ao grupo, inicialize o servi web service e reinicie a máquina.

Agora acesse:
https://DOMINIO/
Usuário: admin
Senha: admin

Não esqueça de alterar a senha do usuário admin!

O mais legal que você está usando quase nada do hardware da máquina para “subir” seu sistema de virtualização.

Virtulabox peca em não dar uma solução para inicialização automática, mas é muito fácil fazer isso incluindo no rc.local. Use o comando:

Vai ser listado os ID das suas VMs. Ex:
“DNS-SERVER” {d288884d-a3d4-4903-b84e-5c6039af13b5}
“ZABBIX-SERVER” {a2893475-atd4-4973-b81e-6039af13bss5}

Agora que você ja tem as IDs adicione em /etc/rc.local: da seguinte forma, alterando pelas suas ID.

Agora quando o servidor reiniciar suas VMs vão iniciar automaticamente, (Não esqueça de quando for desligar o servidor fazer o processo de desligamento de cada VM)

Uma das vantagens deste servidor é que é o virtualbox é muito simples!!! Dentro de /home/vbox/ vão estar suas imagens sendo muito facil de fazer uma copia e migrada para algum outro servidor em caso de “pau”. É claro tenha sempre redundância de hardware em seu servidor, faça sempre pelo menos um RAID1 (espelhamento de disco) eu gosto de fazer RAID10 com pelo menos 5 SSDs, onde 1 dos SSDs eu instalo o sistema e os outros 4 (ou 6 ou 8 …) somo ex 2 (RAID0) e espelho nos outros 2 (RAID1) logo temos o RAID10.

Acesso remoto
No windows você pode usar o famoso mstsc e informar seu IP:PORTA, no linux tem um pacote chamado vinagre basta instala-lo.

Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!

Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.

Abraço!

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

9 Resultados

  1. Faustino disse:

    Funcionou quase tudo perfeito
    Somente o acesso remoto que não consegui fazer funcionar
    no config.php fiz teste com varios ips

    var $vrdeaddress = ‘0.0.0.0’; , deixei o ip do micro (192.168.15.1), 127.0.0.1 e nenhum funcionou

  2. Andre Freire disse:

    Bom dia !

    Parabéns pelo artigo, belo trabalho.

    O console está desativado. Sabe como posso ativá-lo?

  3. LuisE disse:

    He instalado 2 veces desde 0 y cuando voy a iniciar session el admin/admin no es correcto, hay un mensaje de error

  4. leonald disse:

    Tento de todas as maneiras usar o mstsc mas por algum motivo nao consigo usar a area de trabalho remota! ja tentei habilitar e desativar todo tipo de firewall. Debian 11 sem interface grafica

  5. Wellington Rodrigues disse:

    Belo tutorial, parabéns pelo conteúdo.
    Só uma dúvida, por que não usar a versão 6.1 do phpVirtualbox? Ela não é estável?

    • Henri disse:

      Eu acho que ele só fez um fork do phpVirtualBox develop – que é a versão que está funcionando com o virtualbox 6.1, porque a master só suporta a versão 5.2 mesmo, provavelmente ele fez isso pra não pegar alterações no branch develop dos cara.. eu acho..

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *