GDH Press: Blog » Configurando a rede no VirtualBox
 
RSS

Configurando a rede no VirtualBox

Publicado em 30/08/2008 – 11:07
por Carlos Morimoto

Se você tiver a curiosidade de checar a configuração da rede usando o "ipconfig" no Windows, dentro da máquina virtual verá que a máquina virtual recebe sempre um endereço IP dentro da faixa "10.0.2.x" e usa o endereço "10.0.2.2" como gateway padrão, configuração que é obtida automaticamente, via DHCP (mesmo que você não tenha um servidor DHCP na rede).

Isso acontece por que o VirtualBox cria uma interface de rede virtual entre o sistema convidado e o host, que é usada para permitir a comunicação entre os dois sistemas e também para compartilhar a conexão via NAT, permitindo que o sistema dentro na máquina virtual navegue e acesse outras máquinas da rede local.

Na hora de trocar arquivos entre os dois sistemas, você pode utilizar o recurso de compartilhamento de pastas, disponível através do "Dispositivos > Pastas Compartilhadas". Ele permite que você compartilhe pastas entre o sistema hospedeiro e o guest, especificando as permissões de acesso para cada uma:

As pastas compartilhadas aparecem no ambiente de redes, no "Toda a Rede > VirtualBox Shared Folders" e podem ser mapeadas, da mesma forma que um outro compartilhamento de redes qualquer. Como você pode imaginar, o VirtualBox cria na verdade um compartilhamento de rede oculto, que fica acessível apenas para o sistema dentro da máquina virtual.

Se você preferir fazer o caminho inverso, ou seja, fazer com que o Windows dentro da máquina virtual compartilhe as pastas, basta usar o compartilhamento de arquivos do Windows, criando os compartilhamentos desejados e em seguida acessando-os através do Nautilus, Konqueror ou Dolphin, no Linux.

Uma observação é que no Windows XP SP2 o firewall fica ativo por padrão, bloqueando os compartilhamentos. Para liberar o acesso, é preciso criar uma exceção para o compartilhamento de arquivos e impressoras na configuração do firewall do Windows.

Como viu, o sistema de compartilhamento de conexão do VirtualBox é bastante simples e funciona sem que você precise fazer nenhuma configuração adicional. A grande limitação é que você não conseguirá acessar a máquina virtual a partir de outros micros da rede.

Se a idéia é usar a máquina virtual para rodar um servidor, existe a possibilidade de configurar a rede virtual em modo bridge, onde a máquina virtual passa a ser ligada diretamente à rede principal, como se fosse um PC real ligado no hub. Esse recurso ainda não é bem suportado, por isso a configuração oferece um nível moderado de dificuldade, exigindo que você crie um bridge ligando a interface virtual à placa de rede e configure o VirtualBox para utilizá-lo.

O primeiro passo é instalar o pacote "bridge-utils" usando o gerenciador de pacotes, como em:

$ urpmi bridge-utils
ou:
$ sudo apt-get install bridge-utils

Em seguida, criamos o script que inicializará o bridge. No exemplo, estou criando o arquivo "/etc/init.d/bridge", mas você pode criar outro arquivo se preferir. O conteúdo do script é o seguinte:

#!/bin/sh

# Carrega o módulo e ajusta as permissões:
modprobe tun
chmod 666 /dev/net/tun

# Cria a interface br0, usada pelo bridge:
brctl addbr br0

# Adiciona a interface de rede no bridge:
ifconfig eth0 0.0.0.0 promisc
brctl addif br0 eth0

# Reconfigura a rede:
ifconfig br0 192.168.1.41 netmask 255.255.255.0
route add default gw 192.168.1.1 dev br0

# Adiciona a interface virtual ao bridge, especificando o usuário:
VBoxAddIF vbox1 gdh br0

Os parâmetros em negrito são os que você precisa alterar, de acordo com a sua configuração. O "eth0" na quinta linha indica a interface de rede que está sendo usada; o "192.168.1.41" na sétima indica o endereço IP, seguido pela máscara de sub-rede; o "192.168.1.1" na oitava linha indica o IP do gateway da rede, enquanto o "gdh" na décima indica o usuário de sistema que você usa para executar o VirtualBox.

Depois de criar e personalizar o script, marque a permissão de execução e execute-o como root:

# chmod +x /etc/init.d/bridge
# /etc/init.d/bridge

Você precisará executar o script a cada boot, antes de poder usar o VirtualBox. Se não quiser ficar executando-o manualmente, você pode adicionar o comando ao arquivo "/etc/rc.local", de forma que ele seja executado automaticamente durante o boot.

Continuando, acesse a opção "Rede" na configuração da máquina virtual e altere a opção "Ligado a" de "NAT" para "Interface do Hospedeiro" e, na opção "Nome da Placa de Rede (I)", informe o nome da interface especificada no último comando do script (vbox1 no exemplo):

Depois de inicializar a máquina virtual, configure o sistema guest para acessar a rede usando um endereço dentro da rede local, como se fosse outro PC e você perceberá que os outros micros da rede passarão a enxergá-lo diretamente. Como comentei, essa configuração permite até mesmo que a máquina virtual seja configurada como servidor, disponibilizando arquivos e outros recursos para as máquina da rede.

» Mais posts

  1. 14 respostas para “Configurando a rede no VirtualBox”

  2. Samarone em 16 set, 2008

    Muito bom… parabens

  3. Gilson Filho em 25 out, 2008

    Olá, eu testei esse tutorial e deu certo. Mas tive que reinstalar o sistema pelo motivo de que a partição estava pequena e redimensionei. Mas ao reconfigurar a rede está dando um erro, dizendo que o br0 já existe e o eth0 tbm:

    device br0 already exists; can't create bridge with the same name
    device eth0 is already a member of a bridge; can't enslave it to bridge br0.
    SIOCADDRT: O arquivo já existe

    o que posso fazer para concertar isso?

  4. Cláudio em 4 nov, 2008

    Parabéns.
    Eu tinha feito uma configuração parecida com esta no Debian porém no arquivo /etc/networks/interfaces. Agora que estou usando Slackware as coisas são diferentes e o seu script me serviu como uma luva.
    Obrigado.

  5. beto penna em 14 nov, 2008

    Perfeito, funcionou redondinho aqui na empresa onde presto serviço, mais uma vez muito obrigado pela sua atitude mais do que altruísta em compartilhar o teu conhecimento…

  6. Douglas C. R. Paes em 16 nov, 2008

    E aí Cláudio, blz?

    Cara, tentei fazer essas configurações, mas não consegui encontrar o tal do bridge-utils para o Slackware.
    Onde você conseguiu? Foi pacote pronto ou você compilou?

    Abraços

  7. Vinicius em 18 nov, 2008

    Muito Bom o Tutorial …

    Resolveu de primeira

    Obrigado …

  8. Ricardo em 14 jan, 2009

    Eu segui os passos, conforme descritos. A rede da máquina virtual funcionou, mas no sistema hospedeiro não.

    Me dá uma força!

  9. amanic em 1 fev, 2009

    ola,eu gostaria de saber qual a vrs do virtual box
    que vc usa nos ex. tenho a 1.6.2 e diferente não consigo configuar a rede se vc tiver um link pra download eu te agradeço se não so a vrs do prog.

  10. Paulo em 15 fev, 2009

    Só para acrescentar a partir da versão 2.1 no Virtualbox não é necessário fazer os passos acima, pois a bridge já vem instalada por padrão no Virtual…a unica configuração a ser feita é a seguinte.:

    Ir em Maquina/Configurações/Rede, escolher a opção
    Interface do Hospedeiro e escolher a opção eth0 ( interface do micro principal, verificar qual a sua ).
    Se o micro principal esta configurado como DHCP não precisa fazer mais nada, a maquina virtual também vai pegar o IP automaticamente, se não é só configurar a maquina virtual com os Ips da sua rede…espero ter ajudado.

    Paulo

  11. fernando em 30 mar, 2009

    E o invero? Tenho uma máquina windows XP emulando (VB) Ubuntu? Coloquei no vb interface do hospedeiro com ip 192.168.100.2 e no ubuntu 192.168.100.1. Elas não se comunicam.

  12. Mário em 19 mai, 2009

    olá, amigo estou com um problema, criei a interface e nescessito dela para 8 maquinas vituais que tenho que instalar no mesmo servidor,
    para a primeira funfou maravilhosamente bem, melhor até do que o esperado, mas. . .

    para as demais eu não consegui fazer a rede funfar nem a pau, nem configurando um outro ip fixo para elas.quando consigo ativar manualmente a rede "interface do hospedeiro" ele indica nome duplicado na rede, e agora o que eu faço?

  13. rarmor em 8 jul, 2009

    # Reconfigura a rede:
    ifconfig br0 192.168.1.4x netmask 255.255.255.0
    route add default gw 192.168.1.1 dev br0

    o número 192.168.1.41 deve ser mudado para outro endereço de ip, mude o octeto 41 para 42, 43 e assim por diante…

  14. magaiver em 1 out, 2009

    Muito bom, me ajudou muito! Parabens

  15. Marcola em 22 jan, 2010

    Muito bom o post!
    Realmente me ajudou, obrigado pela ajuda


Comente: