ubuntu 10.04; rede em ponte kvm não funciona com endereços IP públicos

2

Eu tenho uma caixa de servidor hospedada dedicada com o ubuntu 10.04 64 bit instalado. Eu gostaria de executar o kvm com o Ubuntu 8.04 instalado para alguns aplicativos compatíveis com php 5.2 (eles não funcionam bem com o php 5.3, o padrão no Ubuntu 10.04).

Eu instalei o KVM como instruído no link . Eu instalei o vm usando o virt-manager. Eu nunca consegui descobrir como usar o virt-install ou qualquer um desses instaladores automatizados. Acabei de instalar usando o disco. Eu configurei a ligação em rede de acordo com o link . No entanto, a conexão em ponte não funciona.

Aqui está meu / etc / network / interfaces no host, executando o Ubuntu 10.04. (com ip público específico em branco)

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address xx.xx.xx.xx
        netmask 255.255.255.248
        gateway xx.xx.xx.xa
        bridge_ports eth0
        bridge_stp on
        bridge_fd 0
        bridge_maxwait 10
'

Aqui está meu / etc / network / interfaces no guest, rodando o Ubuntu 8.04.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address xx.xx.xx.xy
netmask 255.255.255.248
gateway xx.xx.xx.xa

As duas VMs podem se comunicar umas com as outras. Mas o hóspede não pode acessar ninguém no mundo real.

Aqui está meu /etc/libvirt/qemu/store_804.xml

<domain type='kvm'>
  <name>store_804</name>
  <uuid>27acfb75-4f90-a34c-9a0b-70a6927ae84c</uuid>
  <memory>2097152</memory>
  <currentMemory>2097152</currentMemory>
  <vcpu>2</vcpu>
  <os>
            <type arch='x86_64' machine='pc-0.12'>hvm</type>
            <boot dev='hd'/>
              </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
      <on_crash>restart</on_crash>
      <devices>
            <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/var/lib/libvirt/images/store_804.img'/>
      <target dev='hda' bus='ide'/>
    </disk>
    <disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
            </disk>
                    <interface type='bridge'>
      <mac address='52:54:00:26:0b:c6'/>
      <source bridge='br0'/>
      <model type='virtio'/>
        </interface>
    <console type='pty'>
      <target port='0'/>
    </console>
    <console type='pty'>
      <target port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes'/>
            <sound model='es1370'/>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
    </video>
  </devices>
</domain>

Alguma idéia de onde eu errei?

    
por senorsmile 11.01.2011 / 05:43

2 respostas

2

Você não pode usar o modo bridge em tal ambiente, você pode estar quase certo de que o parceiro de hospedagem bloqueará todo o tráfego que não seja originado do endereço MAC da NIC real em seu servidor. Você precisará configurar uma configuração roteada, na qual todo o tráfego para / de convidados da VM seja enviado por meio de seu host. Uma maneira de fazer isso é usar o suporte nativo do Libvirt de rede roteada ("forward mode=" route "na configuração XML da rede).

Há uma empresa alemã de hospedagem de servidores que escreveu alguns guias sobre o assunto, você pode usar o Google Tradutor para traduzi-lo para o inglês, caso você não entenda alemão :) link

    
por 15.01.2011 / 22:05
0

O convidado também precisa de uma rota padrão. Você tem isso?

Então, você está fazendo tudo isso apenas para obter uma versão nova (desatualizada) de um aplicativo? Por que não apenas construir (ou encontrar, ou instalar a partir do código fonte) um pacote PHP 6.2 no host?

    
por 11.01.2011 / 08:47