Alias de IP para máquina virtual

1

Agradeço antecipadamente por qualquer ajuda que você possa dar. Eu pesquisei e pesquisei e não encontrei uma resposta para o meu problema. Não tenho certeza se isso deveria estar na virtualização ou na rede - já que é basicamente uma questão de rede, vou perguntar aqui.

Eu tenho um rent-a-server com um NIC e dois endereços IP reais. O primeiro IP, 69.xxx.xxx.xxx, é o endereço IP real do servidor. O segundo IP, 209.xxx.xxx.xxx, é um alias de IP. A interface é definida da seguinte forma:

# loopback interface

auto lo
iface lo inet loopback

# ethernet interface

auto eth0
iface eth0 inet static
  address 69.xxx.xxx.xxx
  network 69.xxx.xxx.0
  netmask 255.255.255.0
  broadcast 69.xxx.xxx.255
  gateway 69.xxx.xxx.1

# virtual interfaces

auto eth0:0
iface eth0:0 inet static
name Ethernet alias LAN card
address 209.xxx.xxx.xxx
netmask 255.255.255.255

O endereço 69.xxx.xxx.xxx possui um servidor da Web e diversos serviços funcionais. O endereço 209.xxx.xxx.xxx é um endereço comprado recentemente. É "pings" como definido acima. Eu não tenho experiência anterior com IP aliaes, mas como eu a entendo, o endereço não está associado a uma rede em tudo. Não há transmissão ou gateway associado ao endereço.

Estou tentando instalar um produto que funciona em uma máquina virtual hospedada no mesmo servidor. Eu quero que a máquina virtual seja endereçada pelo endereço 209.xxx.xxx.xxx. A máquina virtual baseada em VMWare pré-construída obtém seu IP através do DHCP. Tanto o host e a máquina virtual são o servidor Ubuntu 10.04. Eu preferiria alterar a VM para usar o IP estático 209.xxx.xxx.xxx, mas não tenho idéia de como configurá-lo, pois não há rede / difusão / gateway reais. Quando eu tento configurar o dhcp3-server no host, ele falha ao iniciar, emitindo a mensagem de erro: "Nenhuma declaração de sub-rede para eth0: 0 (0.0.0.0). ** Ignorando solicitações em eth0: 0." como se a interface eth0: 0 não estivesse ativa. A eth0: 0 está, no entanto, em alta.

Host: versão do servidor Ubuntu 10.04 LTS VM: VMWare Server 2.02, versão do servidor convidado do Ubuntu 10.04 LTS

Alguém sabe como configurar o cenário acima? É possível até mesmo com um alias de IP?

    
por gregintexas 06.11.2012 / 22:21

2 respostas

1

Normalmente, você faria da eth0 uma interface de ponte, definiria a interface virtual no VMWare para usar essa ponte e, em seguida, configuraria o IP estático 209.xyz no guest normalmente (ou seja, você nem precisa criar um alias entrada para 209.xyz no host).

Então, seu /etc/network/interfaces no host mudaria para algo como:

auto br0
iface br0 inet static
  address 69.xxx.xxx.xxx
  network 69.xxx.xxx.0
  netmask 255.255.255.0
  broadcast 69.xxx.xxx.255
  gateway 69.xxx.xxx.1
  bridge_ports eth0
  bridge_fd 2

Não sei exatamente como você configura o VMWare para usar br0 (eu uso o KVM com libvirt), mas tenho certeza que isso deve ser possível.

    
por Will Daniels 07.11.2012 / 03:38
0

A partir de uma pesquisa rápida na Internet, parece que o VMPlayer tem problemas para configurar o dispositivo virtual no Ubuntu. O KVM parece ser capaz de executar imagens VMWare. Em qualquer caso, o primeiro problema a ser resolvido é configurar seu convidado para usar um endereço fixo. Depois de saber os endereços IP, você pode fazer o resto de forma simples.

Uma solução seria resolver o problema com seu novo endereço estático e, em seguida, usar as tabelas de IP para o tráfego DNAT para a máquina virtual. Uma ferramenta como Shorewall (disponível como um pacote Ubuntu) faria isso simplesmente. A documentação de Shorewall cobre muito bem o NAT.

Como alternativa, você pode mover o endereço para a máquina virtual conforme desejado. Substitua 192.0.2.10 no seguinte pelo endereço IP do seu servidor virtual. Eu adicionaria o endereço em um dos blocos de endereços particulares (10.0.0.0/8, 172.16.0.0/12 ou 192.168.0.0/16). Espero que seu contêiner de servidor virtual use um desses por padrão. Se configurar um servidor DHCP, você poderá adicionar um endereço estático a essa rede fora do intervalo de endereços DHCP.

Mova a definição eth0:0 para o servidor virtual. (Eu acredito que você deve remover a linha name que pode estar causando problemas. Em qualquer caso, não é necessário.)

Rotear o tráfego de 209.xxx.xxx.xxx para a máquina virtual com o comando:

ip route add 209.xxx.xxx.xxx via 192.0.2.10

Esse comando precisará ser executado após o dispositivo de rede usado para a máquina virtual ter sido criado. Se você puder criar a rede no seu arquivo /etc/network/interfaces , você pode adicioná-la como post-up .

Um segundo método para mover o endereço seria configurá-lo como um endereço ponto a ponto na máquina virtual. Você deve poder usar eth0:0 em vez de eth0 no seguinte. No cliente virtual /etc/network/interfaces block seria como:

auto eth0
iface eth0 inet static
    address 209.xxx.xxx.xxx.xxx
    pointopoint 69.xxx.xxx.xxx
    netmask 255.255.255.255

A rede ponto a ponto deve funcionar como sua rota padrão se você não tiver uma rota padrão alternativa. Eu não verifiquei isso. No entanto, se você tiver uma rota padrão, ela deverá lidar com o tráfego corretamente.

Você precisará de uma rota de ponto a ponto. Um comando como essa rota funciona como o seu dispositivo de rede para a rede virtual é br0 . Use o dispositivo correto para o seu servidor.

ip route 209.xxx.xxx.xxx dev br0

Daniels está correto sobre o uso de um dispositivo de ponte para a rede da máquina virtual. Seu dispositivo eth0 não precisa fazer parte da ponte. No meu caso, não consigo conectar meu dispositivo eth0 à ponte, pois tenho várias pontes. Eu documentei minha Rede manual para o KVM . Se o seu dispositivo eth0 não estiver associado à ponte, você precisará ativar o encaminhamento de IP. (O ShoreWall faz isso por mim.) Você deve ser capaz de criar e remover com segurança dispositivos de bridge que não estejam conectados à sua interface de rede.

Como você mencionou este é o seu servidor de produção, recomendamos que você tente configurar primeiro a configuração necessária em um servidor que não seja de produção. Você pode atribuir endereços de partes não utilizadas das zonas da rede privada para testes. Em seguida, use os endereços corretos na configuração de produção.

    
por BillThor 07.11.2012 / 03:21