Criando uma rede virtual com servidor de internet e estações utilizando VirtualBox

Neste artigo explicarei como montar sua rede virtual utilizando máquinas virtuais a partir do VirtualBox. É uma alternativa para iniciantes em servidores (como eu) para testes. Essa ferramenta pode ser muito útil no dia-a-dia de um técnico. Já me evitou catástrofes e vale a pena conferir!

[ Hits: 109.133 ]

Por: William Maggi Pardalz em 15/05/2012 | Blog: http://www.pardalz.xpg.com.br


Instalações e configurações



Primeiro de tudo gostaria de parabenizar o VOL pela vasta quantidade de artigos e dicas nas quais me ajudaram muito em minha vida linuxiniana. E "segundamente", gostaria de agradecer todas aquelas pessoas que me ajudaram tirando dúvidas quando precisei e até mesmo aquelas que tentaram, mas não obtiveram sucesso. Terceiramente, gostaria de pedir paciência, porque eu não sou um bom redator.

Primeiro passo - Instalando o VirtualBox

Vá ao site http://www.virtualbox.org/wiki/Linux_Downloads e baixe a versão apropriada para o seu sistema operacional e instale-a. Como a minha versão de Linux é Debian, eu posso facilmente baixar o .deb e instalar com o comando:

dpkg -i nomedopacote.deb

Como nunca usei outra distro que não seja Debian-like, portanto, não poderei instruí-los quanto à vossa instalação, mas existem muitos tutoriais no Google que mostra como fazê-la.

Segundo passo - Criando a primeira maquina virtual (servidor)

Vamos abrir o VirtualBox e clicar em "Novo".

Clique em "Próximo" e surgirá a tela onde você define o nome da máquina virtual e que tipo de sistema irá instalar. Vou instalar o Debian Lenny na minha.

Clique em "Próximo" e aparecerá a tela da escolha da quantidade de memória da máquina virtual. No meu caso 256MB está ótimo, CUIDADO ao escolher a quantidade, pois pode deixar seu computador mais lento na medida em que você aumenta. Clique em "Próximo".

Esta é a tela em que você cria seu disco virtual.

Marque "Disco Rígido de Boot Primário" e clique em "Novo". Surgirá a tela de criação de disco, clique em "Próximo". Agora você terá 2 opções:
  • O armazenamento dinamicamente expansível ocupa inicialmente um espaço bem pequeno no seu disco rígido físico e irá crescer dinamicamente (até o tamanho especificado) à medida em que o sistema operacional convidado exigir mais espaço;
  • O armazenamento de tamanho fixo não cresce. Ele é armazenado em um arquivo com o tamanho definido para o disco rígido virtual. A criação de um armazenamento de tamanho fixo pode demorar bastante tempo, dependendo do tamanho escolhido e da velocidade de seu disco rígido físico.

Eu prefiro o tamanho fixo, mas você pode escolher o que mais lhe agradar e clicar em "Próximo". Na "localização", deixe o nome que está e escolha o tamanho do HD virtual, vou deixar o meu com 2GB apenas, você pode colocar o tamanho que lhe agradar e clicar em "Próximo" e na próxima tela "Finalizar".

Você voltará para a tela de escolha do disco virtual, basta escolher o disco que você criou e clicar em "Próximo" de novo e "Finalizar".

Pronto, sua máquina virtual já foi criada. Vamos ao próximo passo, que é configurar.

Terceiro passo - Configurando a máquina virtual (servidor)

Para configurar a máquina virtual, basta clicar em cima do nome dela e clicar em "Configurações" na tela do VirtualBox. Nesta tela serão exibidas todas as configurações possíveis para sua máquina virtual, aqui você pode habilitar aceleração 3D, aumentar o tamanho da memória de vídeo (padrão é 12MB) etc.

Depois que você configurou a aba geral do jeito que lhe agrada, vá ate a opção "CD/DVD-ROM" que fica à esquerda do painel de configuração que você está.

Então será exibida as opções de utilização do drive de CD do seu computador, ou se você quer utilizar uma imagem de CD.

Como vou utilizar a imagem do Debian que eu baixei, vou clicar em "Arquivo de Imagem ISO" e no desenho de uma pastinha que fica logo na frente da opção.

Irá abrir outra tela, onde vou clicar em "Acrescentar", selecionarei a imagem do Debian que está salva no meu computador e clicarei em "Selecionar". Isso nos voltará para o painel de configurações. Lembrando que se você preferir instalar a partir da mídia também é possível.

Quarto passo - agora um ponto importante da nossa instalação, a configuração das interfaces de rede (servidor)

Como este será nosso servidor de internet, teremos que configurar duas placas de rede, uma que será a nossa interface interna e outra que será nossa interface externa.
  • Interface interna: Será a interface responsável por distribuir a internet para a estação virtual.
  • Interface externa: Será responsável por se conectar à internet de sua rede real e jogar para a sua rede virtual.

Na opção "Rede" vamos habilitar o Adaptador 1 com o tipo de placa "PCNET-Fast III" (normalmente o padrão), na outra opção "Conectado a:" selecione "Placa em Modo Bridge" e na última opção "Nome:" você irá selecionar a interface REAL do seu computador, ou seja, a interface FÍSICA, na qual seu computador utiliza para se conectar à internet.

Agora habilite o Adaptador 2 com o tipo de placa de rede "PCNET-Fast III" e desta vez, na opção "Conectado a:" iremos selecionar "Rede interna" e no nome, pode deixar o padrão.

O ideal seria que nós desabilitássemos o som, disquete e portas seriais, já que no servidor não precisaremos disso.

Nossa máquina servidor está configurada!

Quinto passo - Instalação do sistema operacional (servidor)

O próximo procedimento é a instalação do sistema operacional, na qual eu não vou abordar aqui por que este não é o foco do artigo.

Eu aconselho a instalação do Debian Lenny (5) porque é o sistema que eu uso e se surgir alguma dúvida quanto à este artigo eu poderei ajudar com mais precisão.

Então inicie a instalação e enquanto ele baixa os pacotes e instala o sistema, vamos criando a máquina virtual que será nossa estação.

    Próxima página

Páginas do artigo
   1. Instalações e configurações
   2. Instalação da estação e configuração da rede
   3. Configuração do Squid e firewall
Outros artigos deste autor

Endereço fixo para o seu IP dinâmico

Instalando Linux dentro do Windows

Utilizando ferramentas de virtualização para testar distros

Leitura recomendada

Chrome Remote Desktop - O serviço de acesso remoto do Google

Configurando roteador Linux com Velox

Usando 3G da Vivo no Slackware 13.1

A Desinformação em Época da Tecnologia de Informação

Enjaulando o Bind9 em um chroot

  
Comentários
[1] Comentário enviado por Smithux em 03/03/2010 - 05:45h

Show de bola kra!
Meus parabéns pelo artigo.
Vai ser de grande valia!!! :D
+Favoritos!

[2] Comentário enviado por pardalz em 03/03/2010 - 08:08h

Obrigado Smithux
Tem um erro ali, para reiniciar o servidor é init 6 e nao init 0, desculpa

[3] Comentário enviado por pherde em 03/03/2010 - 11:15h

Só não entendi o motivo de reiniciar o servidor! Se for para configurar a rede de acordo com o arquivo interfaces não basta levanta-las com um #ifup eth0 eth1 ??

[4] Comentário enviado por pardalz em 03/03/2010 - 13:20h

eu nao conhecia desta forma, obrigado pela dica.

[5] Comentário enviado por primoo em 04/03/2010 - 14:36h

Continue assim =)

[6] Comentário enviado por Primo NT em 13/03/2010 - 10:28h

Muito legal! ;D

[7] Comentário enviado por Paro em 31/03/2010 - 14:47h

Ótimo tutorial, parabéns!

[8] Comentário enviado por RCA_ITA em 13/04/2010 - 11:20h

Olá,

excelente tutorial!!

gostaria de tirar algumas dúvidas.
Primeiro é a respeito do sétimo passo:

como configurar para que o servidor(que está na máquina virtual) receba intenet em qualquer lugar que eu conectar meu notebook?

Teria como estabelecer comunicação entre servidor e estação de trabalho em modo offline?

A respeito do oitavo passo:
É necessário colocar os servidores de DNS?
O endereço 192.168.0.1 é o endereço do servidor?


Por fim, é necessário sempre conhecer os endereços reais do local em que estou acessando? como faço, se é que é possível?

mais uma vez, excelente tuto.

[9] Comentário enviado por pardalz em 13/04/2010 - 14:18h

Ok, vamos lá
como configurar para que o servidor(que está na máquina virtual) receba intenet em qualquer lugar que eu conectar meu notebook?
primeira pergunta: Para deixar sua interface de rede "externa" como DHCP
configure no /etc/network/interfaces

allow-hotplug eth0
iface eth0 inet dhcp
dns-nameservers 200.225.197.37 200.225.197.34 #alterar para o DNS LOCAL REAL

allow-hotplug eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255

Mas isso só irá funcionar se vc tiver um servidor DHCP na rede.

Teria como estabelecer comunicação entre servidor e estação de trabalho em modo offline?
nao entendi o que vc ker dizer com MODO OFFLINE.

É necessário colocar os servidores de DNS?
É

O endereço 192.168.0.1 é o endereço do servidor?
sim, é o endereço do servidor virtual!

Por fim, é necessário sempre conhecer os endereços reais do local em que estou acessando? como faço, se é que é possível?
o ideial é que vc conhecesse pelo menos a faixa de ip, mascara, gateway e DNS. ou seja, sim!

Obrigado pelos parabens!

[10] Comentário enviado por RCA_ITA em 14/04/2010 - 09:14h

Vlw. Os comentários foram tão bons quanto o artigo

Parabéns ajudou bastante

SO mais umas dúvidas

O servidor parece está ok. Pois quando dou ping "www.gmail.com" ele encontra o host.

Já a estação não reconhece nada.

Além disso, o ifconfig no servidor só mostra a interface eth0 e lo, nao mostra eth1

[11] Comentário enviado por RCA_ITA em 14/04/2010 - 11:31h

CONSEGUI!!!

o problema esta na definição do arquivo interfaces(servidor).

vlw pela ajuda.

[12] Comentário enviado por rogerhot1 em 10/05/2011 - 16:58h

Olá,

Estou com dificuldades em montar uma rede virtual no qaul o cenário é composto por 03 máquinas inicialmente, sendo 02 Desktops comuns e 01 Servidor através do qual os usuários acessariam a internet através deste Servidor.
Neste mesmo servidor estarei implementando um script de balancemanento e redundância, sendo que a intenção do primeiro é redirecionar os acessos conforme o uso pelo usuário separando downloads e acesso a e-mail por exemplo, e o outro redirecionará a conexão para o outro link, caso uma delas caia.
O Servidor possui 3 placas de Rede,s endo:
eth0 : destinada a rede interna;
eth1: destinada ao link 01 (Speedy);
eth2: destinada ao link 02 (Net Virtua);
Estou confuso sobre os IPs q devo atribuir a rede local e as q usarei no link, e tbm n/ão entendo bem a função do modo NAT e Bridge..poderia me auxiliar como deveria fazer para montar esta rede?

Grato

[13] Comentário enviado por pardalz em 11/05/2011 - 07:14h

olá, obrigado pelo comentário, é o seguinte, os usuários que você se refere são as duas estações virtuais ou você está montando mesmo um servidor virtual para toda a rede (incluindo máquinas físicas)?
quanto aos IP:
eth0: você vai colocar um IP válido para sua rede.
eth1: testa como dhcp provavelmente funcionará
eth2: testa como dhcp provavelmente funcionará

[14] Comentário enviado por rogerhot1 em 11/05/2011 - 11:56h

Olá,

Sim, quando digo "os usuários" refiro me as 02 estações virtuais.
Utilizando o VM Ware, eu criei um grupo, e definir cada máquina virtual da seguinte forma:
=================
SERVIDOR DE INTERNET
=================
- eth0 que é destinado Rede Interna, mantendo comunicação com as 02 outras máquinas Desktop.
- eth1 e eth2 são destinados a conexão a internet disponibilizado ao SERVIDOR DE INTERNET através da máquina HOST, através do qual estou usando o aplicativo para simular a rede virtual. Como a intenção é simular 1 link para Net e outro para Speedy, eu deinfi o IP da eth1 como 192.168.10.10 e a eth2 como 192.168.20.10.
Estas placas (eth1 e eth2) estão dentro da range de 2 placas virtuais que o VM Ware criou após a instalação dele. Assim, quando visualizo minhas Conexões de Rede, visualizo 4 Placas sendo:
- Conexão Local, que é a placa física que uso na minha rede;
- VirtualBox-Host Only Network..........(IP 192.168.56.1);
- VMware Network Adapter VMnet1.....(IP 192.168.10.1);
- VMware Network Adapter VMnet8.....(IP 192.168.20.1);

=========
DESKTOP01
=========
192.168.0.20 (IP)
255.255.255.0 (Masc)
192.168.0.10 (Gateway, contendo o IP do SERVIDOR DE INTERNET, para que acesse através dele)

=========
DESKTOP02
=========
192.168.0.30 (IP)
255.255.255.0 (Masc)
192.168.0.10 (Gateway, contendo o IP do SERVIDOR DE INTERNET, para que acesse através dele)
Minha preocupação principal é conseguir efetuar estas configurações, pois como se trata de um ambiente virtual, poderei simular a queda de conexão em um dos links simplesmente desativando temporariamente uma das placas vistuais criadas elo VM Ware, e que para melhor entendimento poderia renomear cada uma como "Link Speedy" e "Link Net Virtua" denttro das Conexões de Rede.
Isos é um TCM estamos patinando feio em conseguir colocar isso pra rodar. Sei que pode parecer coisa simples pra muitos daqui, mas estamos começando a mexer com scripts e por isso definimos isso em 2 etapas:
1ª) Colocar a Rede Virtual para funcionar;
2ª) Inseir os scripts de balanceamento e redundância que enconramos aqui no Viva O Linux e customizamos conforme a configuração dos IPs adotados.

Abs

[15] Comentário enviado por pardalz em 12/05/2011 - 11:06h

olá fera.
primeiramente: esqueça as placas de redes físicas criadas no seu computador. vamos trabalhar somente com o virtualbox.
o que vc deve fazer basicamente é:
-Deixar o servidor com 3 placas de rede;
--Modo Bridge (com a sua placa de rede da Net) - defina o IP DA NET ou deixe como DHCP
--Modo Bridge (com a sua placa de rede da Speedy) - defina o IP DA SPEEDY ou deixe como DHCP
--Rede Interna (somente sua rede virtual acessará) - 192.168.0.10/255.255.255.0

Dae, é so tu colocar nas estações virtuais estes ips que tu me passou.
Lembrando que nas estações tu tem que colocar a placa de rede como "REDE INTERNA"
Tente pingar o 192.168.0.10 pelas estações virtuais e me diga o que deu.

Boa Sorte.

[16] Comentário enviado por pardalz em 12/05/2011 - 11:07h

Posta o que der no ping

[17] Comentário enviado por rogerhot1 em 13/05/2011 - 16:01h

Eu vou seguir o tutorial desde o comecinho, pois estava utilizando o VM Ware e seria complicado conseguir identificar qual procedimento estava faltando.
No Quarto Passo menciona que deverei configurar a Placa 1 que fará a comunicação com a parte externa da rede, tendo acesso a internet. E pra isso, é indicado configurar o campo "Conectado a:" indicando a placa que meu computador utiliza para conectar a internet.
Devido a região onde moro, só tenho disponível o acesso via Modem 3G, e não vi esta opção para colocar.
Bom, mas eu vou testar na faculdade e posto as informações que surgirem. Acho q agora finalmente vai ..rss, prq tenho apresnetação deste projeto pro TCM na semana que vem...

Grato

[18] Comentário enviado por rogerhot1 em 14/05/2011 - 16:04h

Olá William,

Estou com novas dúvidas agora..rs. Mas refere-se ao script firewall.
Na linha 27, existe o seguinte comando:
$ipt -t nat -A PREROUTING -i $IF_INTERNA -p tcp -d ! 200.201.174.207 --dport 80 -j REDIRECT --to-port 3128
Devo alterar a numeração onde aparece 200.201.174.207?
Conecto a máquina que utilizo como Host através de um Modem 3G.
Comecei do zero a minha rede virtual e descartei o uso de 3 placas de rede, para que meu foco no momento estivesse em possibilitar o acesso das estações através do servidor
-----------------------------------------------------------------
O SERVIDOR está assim:
-----------------------------------------------------------------
eth0 (Rede Interna, onde estão tbm as estações virtuais)
address 192.168.15.10
netmask 255.255.255.0
gateway 192.168.15.10
network 192.168.15.0
broadcast 192.168.15.0

eth1 (Rede Externa, através da qual o SERVIDOR receberá o sinal de internet)
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.2 (este é o numero de IP da minha máquina q esta acessando a net)
network 192.168.0.0
broadcast 192.168.0.0
-----------------------------------------------------------------
ESTÃÇÃO01
-----------------------------------------------------------------
eth0 (Rede Interna, onde estão tbm as estações virtuais)
address 192.168.15.30
netmask 255.255.255.0
gateway 192.168.15.10
network 192.168.15.0
broadcast 192.168.15.0

Já coloquei o script para carregar na inicialização, reiniciei o servidor e ainda não consigo acesso pelas estações. Será que é algo naquele script que não defini corretamente?

Abs
Luiz

[19] Comentário enviado por rogerhot1 em 14/05/2011 - 16:12h

Segue abaixo como está o cotyeúdo do firewall.sh q coloquei no SERVIDOR.

#!/bin/sh

ipt=/sbin/iptables
cfg=/sbin/ifconfig
mod=/sbin/modprobe

LOOP=127.0.0.1
NET_BIOS="137:139"

IF_EXTERNA=eth1
IF_EXTERNA=eth2
IF_INTERNA=eth0

#Gateway da rede REAL
IP_ORIGEM=192.168.0.2

#FAIXA da rede Fictícia
LAN_INTERNA=192.168.15.0/24

$mod iptable_nat
$mod ip_conntrack
$mod ip_conntrack_ftp
$mod ip_nat_ftp
$mod ipt_LOG
$mod ipt_REJECT
$mod ipt_MASQUERADE

echo "1" > /proc/sys/net/ipv4/ip_forward

$ipt --flush
$ipt -X
$ipt -F -t nat
$ipt -X -t nat
$ipt -F -t mangle
$ipt -X -t mangle

$ipt -A POSTROUTING -t nat -o $IF_EXTERNA -s $LAN_INTERNA -j MASQUERADE
$ipt -A INPUT -p tcp --destination-port 80 -j ACCEPT

# Nesta etapa, eu alterei o IP 200.201.174.207 para o Ip do meu Servidor, pois o SERVIDOR não estava acessando a internet.
#$ipt -t nat -A PREROUTING -i $IF_INTERNA -p tcp -d ! 200.201.174.207 --dport 80 -j REDIRECT --to-port 3128
$ipt -t nat -A PREROUTING -i $IF_INTERNA -p tcp -d ! 192.168.15.010 --dport 80 -j REDIRECT --to-port 3128

$ipt -A INPUT -s $LOOP -j ACCEPT
$ipt -A INPUT -d $LOOP -j ACCEPT

$ipt -A INPUT -i $IF_INTERNA -j ACCEPT
$ipt -A FORWARD -i $IF_INTERNA -j ACCEPT

[20] Comentário enviado por pardalz em 16/05/2011 - 07:20h

bom dia fera, olha, com um modem 3G eu nunca configurei, e vc não ta configurando conforme o tutorial, eu expliquei ali que na placa de rede do servidor na qual as estações se conectam vc só coloca ip, mask, bc e network, não pode colocar gateway.
e provavelmente o modem 3g não ficará como eth1, ficará provavelmente como ppp0, ou wlan0... sei lá.. nunca configurei...
o ideal seria que você me postasse um ifconfig do seu servidor e da sua maquina física, para podermos matar isso de uma vez

[21] Comentário enviado por wagnobre em 20/11/2015 - 15:41h

Prezado,

É minha primeira vez, esse servidor debian é um servidor de internet?
não encontrei um artigo para instalação do mesmo.

Desculpe a forma leiga de perguntar rsrs

[22] Comentário enviado por FelipeeArc em 18/09/2018 - 23:30h

Muito bom! Estou estudando sistemas de arquitetura aberta e esse tutorial foi de grande ajuda. Muito obrigado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts