É possível ter várias máquinas virtuais com o mesmo ip (guest) no mesmo host?

2

O que eu tento alcançar:

Várias máquinas virtuais (virtualbox) em um host da Debian que se comunicam com outro servidor (não entre si ou com o host). Todas as VMs precisam ter as mesmas configurações de rede estática (para que eu possa clonar e usá-las sem alterar as configurações no guest). Cada tentativa de rede das VMs tem que ser redirecionada para o servidor mencionado acima.

Minha configuração atual:

  1. Eu crio um toque no host para cada VM e uso a rede em ponte para conectar as VMs com o toque correspondente
  2. Todos os toques estão conectados a uma ponte. A bridge tem um endereço IP que é o gateway para as máquinas virtuais.
  3. O host como uma interface dedicada que o conecta ao servidor. Essa interface também está conectada com a ponte
  4. Uma regra SNAT do iptables nessa interface para conectar as VMs ao servidor
  5. Uma regra DNAT do iptables redireciona todo o tráfego da ponte para o servidor

Isso funciona até agora. Mas com essa configuração, as VMs não podem ter o mesmo endereço IP porque estão conectadas por meio da ponte. Eu tentei SNAT os endereços IP nos toques, mas isso não funcionou.

    
por johnbaum 31.03.2015 / 15:53

2 respostas

3

Você poderia configurar o NAT com cada convidado em sua rede privada. Primeiro, você precisaria parar de unir todas as suas interfaces de rede (afinal, se elas estão todas no mesmo switch, elas dificilmente estão em suas próprias redes privadas).

Então você configuraria as regras NAT, e talvez funcionaria. Mas provavelmente não - o caminho de saída deve funcionar, mas o caminho de retorno é um problema. O maquinário NAT recebe um pacote de resposta, o NAT volta para a fonte 192.168.0.2 (ou qualquer outra coisa). Então passa para o roteamento ... que manda para onde? Todos os convidados têm o mesmo endereço IP, todas as suas interfaces têm o mesmo endereço / máscara de sub-rede.

Portanto, precisamos corrigir o roteamento. Felizmente, isso é factível, com roteamento de políticas.

Se você adicionar em -t mangle regras para cada convidado (com base na porta de origem, por exemplo, o vnet0 ou qualquer outro), você poderá marcar as conexões. Então você pode direcionar a resposta de volta (usando ip rule ) com base nessa marca.

Isso é um monte de configuração, mas depois que você trabalha, é programável. Provavelmente funcionará. Eu não testei isso. Seja sã ou não, bem ... eu tentaria fazer com que o DHCP funcionasse corretamente. Considere o que a próxima pessoa a administrar pensará (o que pode muito bem ser você em alguns meses, depois de ter esquecido exatamente como ela funciona.)

    
por 31.03.2015 / 17:01
1

Resposta simples: não. O que você está tentando fazer é, de uma perspectiva de rede, idêntico a tentar ter vários hosts físicos com o mesmo IP. Não vai funcionar.

    
por 31.03.2015 / 15:55