migração física para virtual (kvm) com o salvamento do IP do convidado e sua reutilização no host

2

Eu quero fazer uma migração físico-virtual do servidor BSD, salvando o endereço IP. O host virtual de destino é o Linux / KVM.

A configuração atual: Eu tinha um servidor BSD com hardware com falha. Acabei de substituí-lo por um novo servidor e seu HardWare é novo demais para ser usado diretamente pelo BSD.

Então, eu tenho o Linux no novo servidor e quero mover o BSD para a virtualização com o KVM.

Eu tenho um HDD completo do servidor antigo.

O problema é: eu tenho apenas IP real e eu devo usar este IP tanto no guest como no host.

Eu quero usar o IP no convidado porque ele é um servidor de e-mail e quero que meu IP real seja usado nos cabeçalhos de e-mail.

O uso do IP no host é porque não tenho nenhum outro IP.

Os serviços TCP das máquinas são:

  • sshd no host na porta não padrão;
  • sshd on guest
  • smtp do convidado, POP3 / IMAP do convidado.
  • As solicitações SMTP de saída, HTTP, FTP devem ser ativadas a partir do convidado.

As portas 22,25,53,110 serão encaminhadas do host para o convidado usando o iptables. Se for possível, eu também enviaria o servidor DNS do convidado para o IP real.

Como devo configurar a rede KVM e a libvirt para obter o mesmo uso de IP no guest e no host?

    
por osgx 29.07.2011 / 11:44

4 respostas

5

Ugh ... isso não é a maneira sugerida de fazer as coisas, mas o que deveria funcionar seria:

  • ativar o encaminhamento de IP no host
  • atribua IP real ao host
  • atribua IP real a uma interface de loopback no guest
  • atribuir IPs em uma sub-rede privada entre host e guest
  • configure o NAT no host para DNAT conexões de entrada para o IP privado do convidado
  • configure o NAT no host para conexões de saída SNAT do IP privado do convidado para o IP real
  • configure o NAT no convidado para DNAT conexões de entrada para o IP real
  • configurar o NAT no convidado para SNAT conexões de saída para o IP privado do convidado

É complicado e feio, mas provavelmente funcionará. Dessa forma, o IP real pode aparecer, por exemplo, em cabeçalhos de e-mail, e o convidado pensará que é o proprietário do IP real.

    
por 05.08.2011 / 02:13
3

Para conseguir isso:

  1. Os sistemas host precisam ser configurados com seu "IP REAL"
  2. Seu sistema operacional convidado precisará ser configurado com a rede NAT
  3. Os serviços que você deseja que sejam atendidos pelo seu convidado precisarão ser encaminhados por porta pelo host.

Este é o único que consegui pensar em conseguir o que você quer, você não pode ter 2 máquinas físicas ou virtuais compartilhando o mesmo endereço IP.

    
por 29.07.2011 / 12:02
1

Em vez de configurar o host com o IP real e convidado com um IP privado, você pode fazer o contrário: Configure o convidado com o IP real (porque ele executa os serviços) e configure uma rede privada entre o host e o convidado. O host não precisa ter um endereço IP (real) vinculado à interface de ponte que conecta a interface de rede real ao convidado. Para acessar o host, você precisa primeiro passar pelo convidado.

O bom desta solução é que você não precisa do NAT e, portanto, o seu convidado pode executar qualquer protocolo sem problemas e sem configurar as regras NAT no host. Outra coisa é que seu host será mais seguro porque não será acessível diretamente pela Internet.

A desvantagem é que, se o convidado não funcionar, você não poderá usá-lo para se conectar ao host para solucionar o problema. Isso pode ser um problema se você não tiver outra maneira de acessar a máquina se ela estiver em um provedor de hospedagem, por exemplo. Usar o IP-KVM para acessar o host em emergências pode ser uma solução para acesso remoto nesse caso.

    
por 01.08.2011 / 21:32
1

Você precisa do host em um endereço IP apenas para fins de gerenciamento?

Você pode considerar algo como essa configuração:

  • Anexar IP real ao NIC virtual na VM BSD
  • Adicione a segunda NIC virtual à VM BSD, crie uma sub-rede (IP privada) apenas para isso, atribua um IP estático nesse intervalo ao VNIC
  • Anexar a NIC do host à sub-rede privada em um IP diferente

Dependendo da sua plataforma de virtualização, isso pode envolver diferentes quantidades de trabalho. Eu fiz algo parecido com isso para firewall um host ESXi exposto a um IP público, quando eu não tinha acesso a um firewall de hardware (colocando uma VM no IP público, o host ESXi só é acessível através da rede vswitch).

MUITO IMPORTANTE - Com esta configuração, você precisaria se conectar através da VM BSD para executar a manutenção remota no próprio host. Se o host tiver problemas e você perder a conectividade, você precisará de acesso KVM para resolver. Também não é uma solução bonita.

[EDITAR] Eu acabei de perceber que o snap havia postado essa mesma resposta acima de mim - woops, eu não li todos os posts antes de responder ... Eu vou marcar com +1 o post dele.

    
por 05.08.2011 / 23:06