Normalmente utilizamos o VirtualBox para acessar nossos sistemas virtualizados utilizando as interfaces de rede configuradas para fazer NAT (Network Address Transalation) que além de ser a forma mais simples e rápida atende a boa parte de nossas necessidades, porém quando necessitamos de acesso externo através da rede para nossa virtual machine (isso normalmente acontece quando utilizamos servidores virtuais) é necessária a configuração de uma nova interface de rede virtual (Host Interface Network) utilizando configurações em bridge para acessar diretamente nossa interface “real”.
Existem diversos tutoriais disponíveis na internet, porém a grande maioria deles são referentes a configuração específica em Debian e Ubuntu, vou descrever abaixo alguns procedimentos genéricos para auxiliar na configuração em plataforma Linux em geral:
Primeiramente é necessário ter as ferramentas pertencentes ao pacote bridge-utils (disponível em grande parte das distribuições) instalado em seu sistema.
Para que seja possível a criação de interfaces virtuais é necessário ter o módulo “TUN” carregado no sistema e com as permissões de gravação e leitura liberadas para o usuário que roda o VirtualBox. Utilizando como exemplo:
# modprobe tun
# chmod 666 /dev/net/tun
Dica: Para quem utiliza ArchLinux ou outros sistemas com a configuração de hardware baseada em UDev, edite o arquivo /etc/udev/rules.d/60-vboxdrv.rules e adicione as seguintes linhas:
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root",\ GROUP="vboxusers", MODE="0660"
KERNEL=="tun", OWNER="root", GROUP="vboxusers", MODE="0660"
Lembrando que o módulo vboxdrv deve estar carregado e o grupo vboxusers deve estar disponível…
Crie uma nova bridge com:
# brctl addbr br0
No próximo passo será necessário retirar quaisquer configurações de rede presentes na interface e habilitar o modo “promiscuous” para aceitar frames ethernet vindos de diferentes endereços MAC. Exemplo:
# ifconfig eth0 0.0.0.0 promisc
Lembrando que a conectividade de rede é finalizada neste ponto!
# brctl addif br0 eth0
Agora com a interface atribuída restaure suas configurações de rede diretamente na br0 (com ifconfig mesmo), e caso esteja utilizando dhcp é necessário entrar com o hostname na configuração:
# dhcpcd -t 30 -h hostnamedamaquina br0
Para a criação de novas interfaces (em nosso caso “tap0″) utilize:
# tunctl -b -t tap0 -u username
# ip link set up dev tap0
# brctl addif br0 tap0
# ifconfig tap0 0.0.0.0 promisc
Lembrando que o username é referente ao usuário utilizado na execução do VirtualBox e tap0 deve ser atribuido como identificação da interface de sua virtual machine.
Extra Info:
Para automatizar o processo de criação e remoção de interfaces é possível criar 2 scripts, onde um deles é responsável pela criação e o outro pela remoção. Exemplo:
Script vbox_start:
#!/bin/sh
sudo /sbin/ifconfig $2 up
sudo /usr/sbin/brctl addif br0 $2
Script vbox_stop:
#!/bin/sh
sudo /usr/sbin/brctl delif br0 $2
Após a criação entre com as permissões apropriadas para a execução:
# chmod u+x vbox_start vbox_stop
Nas configurações de rede de sua máquina virtual selecione “Host Interface”, entre com os scripts em seus respectivos lugares e entre com o nome da interface (em nosso caso tap0).
Fala Luiz…
Belo tutorial faleu mano.
Abraço
Samuca
Fala Luiz…
Belo tutorial valeu mano.
Abraço
Samuca