Multi IPs em uma VM Xen com ponte

1

Embora eu seja relativamente novo no XEN (rodando no Ubuntu 14.04), não tive problemas reais até agora. Eu configurei minha rede usando pontes e isso funcionou bem para muitas máquinas diferentes até agora. Normalmente, consigo encontrar minhas respostas em algum lugar, mas desta vez não consegui ajuda.

Eu tenho a VM cliente (DomU) que estou tentando configurar com um grande número de IPs e isso me causa muita dor. Aqui está a configuração:

A máquina host tem duas placas de rede, uma é usada para xenbr0 particular (10.10.10.x) e a outra é apenas ponte para IPS público (digamos x.y.z. *) xenbr1:

Abaixo está o meu arquivo /etc/networking/interfaces do host:

iface eth0 inet manual
auto xenbr0
iface xenbr0 inet static
    bridge_ports eth0
    address 10.10.10.112
    netmask 255.255.255.0
    network 10.10.10.0
    broadcast 10.10.10.255
    gateway 10.10.10.1

auto eth1
iface eth1 inet manual
auto xenbr1
iface xenbr1 inet manual
       bridge_ports eth1
       bridge_maxwait 1

Na VM do cliente também usa dois nic /etc/networking/interfaces :

auto eth0
iface eth0 inet  static
    address x.y.z.170
    netmask 255.255.255.240
    broadcast x.y.z.175
    gateway x.y.z.161

auto eth1
iface eth1 inet static
    address 10.10.10.155
    netmask 255.255.255.0
    broadcast 10.10.10.255
auto eth0:1                    
iface eth0:1 inet static       
        address x.y.z.162      
        netmask 255.255.255.240
        broadcast x.y.z.175    
auto eth0:2                    
iface eth0:2 inet static       
        address x.y.z.163      
        netmask 255.255.255.240
        broadcast x.y.z.175    
auto eth0:3                    
iface eth0:3 inet static       
        address x.y.z.164      
        netmask 255.255.255.240
        broadcast x.y.z.175    
etc…. up to 8 alaises.    

No meu arquivo de configuração xen eu tenho: vif = [ 'bridge=xenbr0', 'bridge=xenbr1' ]

Eu pretendo remover os IPs locais da VM quando tudo estiver configurado e funcionando.

Estou usando aliases, pois estou tentando migrar isso de uma máquina bare-metal para uma máquina virtual. Eventualmente, o uso excessivo de IPS será tratado, mas por várias razões eu não posso fazer isso ainda. De qualquer forma, quando eu inicializo a VM, apenas alguns dos IPs são pingáveis, a menos que eu faça um arping -U -I eth1 x.y.z.162 , etc para cada endereço IP. Então as coisas parecem pelo menos responder, mas o roteamento não funciona corretamente. Eu posso ssh e navegar para os IPs via http, mas sites virtuais não estão funcionando corretamente (ou seja, ele só me envia para um e ignora os outros) e reiniciar bind e alguns outros serviços não respondem corretamente. É como se o roteamento não estivesse configurado corretamente e enquanto os IPs respondem, não é realmente o IP solicitado que está respondendo, mas outro IP.
No entanto, isto é apenas em ALGUMAS dos IPS extras. Quando eu reinicio, o roteamento que o comando arp corrige é perdido. Então, Bind e alguns outros serviços na VM não funcionarão. Eu faço o comando arp e as coisas funcionam novamente.
Eu acho que o arping é apenas um band-aid, mas não conserta o problema real. Como o mesmo sistema funciona em uma máquina bare-metal, estou quase certo de que o problema está na minha configuração de rede XEN e não na configuração do switch ou no SO que estou tentando migrar.

Para isolar ainda mais o problema, configurei um guest limpo do Ubuntu 14.04 com vários IPs usando o mais moderno (e não depreciado aliasing de IP) show de instalação abaixo no arquivo /etc/networking/interfaces das VMs:

 auto eth0
allow-hotplug eth0
iface eth0 inet static
      address x.y.z.110
      netmask 255.255.255.240
      broadcast x.y.z.175
      gateway x.y.z.161
iface eth0 inet static
      address x.y.z 162
      netmask 255.255.255.240
      broadcast x.y.z.175
iface eth0 inet static
      address x.y.z 163
      netmask 255.255.255.240
      broadcast x.y.z.175
   and on with the other IPS

Tudo com os mesmos resultados. o que estou perdendo? Qualquer ajuda seria apreciada.

    
por Derf 02.05.2015 / 23:51

2 respostas

1

Eu descobri qual era o meu problema e estou postando aqui se alguém se deparar com um problema semelhante.

Na minha configuração do Xen, não coloquei um endereço MAC. IE eu tive:

vif = [ 'bridge=xenbr0', 'bridge=xenbr1' ]

Quando precisei de algo como:

vif = [ 'bridge=xenbr0', 'mac=00:11:5e:5n:2c:1c,bridge=xenbr1' ]

O roteamento para o endereço MAC não expirou imediatamente, então a execução desse comando ARP para cada IP fixou o roteamento: arping -U -I eth1 x.y.z.162

Suponho que, toda vez que a VM é inicializada, ela tem um novo endereço MAC e apenas algumas das tabelas de roteamento são atualizadas quando a VM é inicializada.

Agora que o endereço MAC não está mudando, tudo é bom.

    
por 30.07.2015 / 06:49
0

Tente trocar configurações de interface no DomU. De acordo com sua configuração do Dom0, você deve usar eth0 para private e eth1 para IPs públicos em sua DomU.

    
por 08.05.2015 / 12:13