Topologia de servidor / cliente do Virtualbox

2

Eu tenho o Ubuntu 14.04 desktop machine que o VirtualBox instalado nele. Eu faço duas máquinas virtuais, um servidor Ubuntu, o outro é o cliente Lubuntu. A configuração padrão permite-me obter Internet de convidados para a Internet através de modem 3G conectado à máquina host porque os convidados usam NAT por padrão, mas não consigo acessar de um cliente para outro.

Eu quero colocar os dois convidados em rede separada e permitir que o servidor convidado se conecte à Internet através do NAT com outra interface de rede e faça o cliente convidado se conectar à Internet através do servidor convidado.

Eu fiz o seguinte:

  • No servidor convidado, adicionei duas interfaces de rede, uma para rede local e outra para NAT.
  • No cliente convidado, adicionei somente a interface de rede local.

O que devo fazer para que o servidor convidado alcance a Internet e faça com que o cliente convidado também acesse a Internet, mas por meio do servidor convidado?

    
por user281814 09.07.2014 / 10:56

1 resposta

4

Você tem uma lista de modos de rede do VirtualBox em sua documentação.

O que você precisa em ambos os sistemas é Rede interna . Você tem que dar um nome, você pode criar várias redes neste modo. O VirtualBox conectará todos os hóspedes na mesma rede interna, portanto, os nomes devem corresponder nas duas máquinas virtuais. O padrão deve funcionar imediatamente.

O servidor precisa de uma rede interna com o mesmo nome e outra que se conecte ao mundo, no seu caso NAT .

Agora, o servidor convidado deve poder se conectar à Internet por meio da interface NAT .

Dar IPs às máquinas

Para que o cliente e o servidor cheguem um ao outro, suas interfaces devem ser configuradas na mesma rede . Você pode fazer isso manualmente (endereços estáticos) ou configurar um servidor DHCP na máquina do servidor.

Estas são as etapas para fazer isso manualmente:

root@server:~# ifconfig eth0 192.168.1.1 netmask 255.255.255.0
root@client:~# ifconfig eth0 192.168.1.5 netmask 255.255.255.0

Você pode definir qualquer IP desejado, mas eles devem estar na mesma rede. Aqui, eth0 na máquina do servidor refere-se à interface Interna , se você definir a interface 1 como Interna e 2 como NAT , o acima os comandos funcionarão bem.

Agora você deve ser capaz de ping , mas os pacotes da máquina cliente não poderão viajar através da máquina do servidor, apenas para o servidor.

Nota: Estas mudanças serão perdidas na próxima reinicialização, para tornar as mudanças permanentes você tem que edita e configura /etc/network/interfaces . Se você estiver configurando o cliente com GUI na área de trabalho, ignore a configuração da CLI.

Configurar o encaminhamento

Você precisa configurar o encaminhamento . Você poderia simplesmente fazer

root@server:~# echo 1 > /proc/sys/net/ipv4/ip_forward

mas isso só funcionaria até você reiniciar a máquina. Você precisa editar /etc/sysctl.conf e descomentar #net.ipv4.ip_forward=1 para que pareça:

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

Isso configurará a máquina do servidor para encaminhar pacotes (na próxima reinicialização).

Ativar o mascaramento

Isso configurará o servidor para fazer IP masquerading .

root@server:~# modprobe iptable_nat
root@server:~# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
root@server:~# iptables -A FORWARD -i eth0 -j ACCEPT

Tome cuidado com eth0 e eth1 , aqui a segunda linha deve ser -o NAT_interface e a terceira linha -i Internal_interface .

Configurar o cliente para passar pelo servidor

Essa configuração já deve ter sido definida no assistente da GUI ou editando /etc/network/interfaces/ . Apenas no caso de não ser aplicado, adicione a rota padrão através da máquina do servidor:

root@client:~# route add default gw 192.168.1.1

Configurar DNS

Agora você deve conseguir se comunicar a partir da máquina cliente, mas se você configurou os endereços IP manualmente, ainda precisará fornecer os servidores DNS para que possa resolver nomes.

Edite /etc/resolv.conf e adicione os servidores de que você gosta:

nameserver 4.2.2.1
nameserver 4.2.2.2
nameserver 8.8.8.8
nameserver 8.8.4.4

Se você configurou o DHCP na máquina do servidor, você já deve ter informado ao servidor DHCP quais servidores DNS usar (se não, faça isso agora).

Novamente, se você configurou o cliente com um assistente de GUI, apenas verifique se o DNS é válido e pule esta seção.

    
por CijcoSistems 09.07.2014 / 12:22