Como fornecer conectividade de rede aos meus convidados KVM?

Como fornecer conectividade de rede aos meus convidados KVM?

Sou completamente novo no KVM e em toda a ideia de virtualização, mas tenho lido sobre isso há alguns dias e brincado com ele nas últimas horas.

Criar, instalar, clonar etc... tudo parece ótimo. Mas os convidados que eu faço acabam com "rede inacessível" quando tento fazer ping em 8.8.8.8

Estou usando o CentOS 6.5 para host e convidados.

ifconfig no convidado:

lo    Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Entendo que provavelmente é aí que reside o problema - deveria haver um dispositivo eth0, presumo? Por que não existe?

código de instalação:

virt-install \
--virt-type kvm \
--name sebweb2 \
--ram 16384 \
--cdrom /var/ISOs/CentOS-6.5-x86_64-minimal.iso \
--disk /var/lib/libvirt/images/sebweb2.img,format=qcow2 \
--network bridge=br0 \
--nographics \
--os-type linux \
--os-variant rhel6 \
--vcpus 12

Ifconfig do host:

br0   Link encap:Ethernet  HWaddr 16:AC:2D:A6:98:40
      inet addr:xxx.yyy.zzz.217  Bcast:xxx.yyy.zzz.255  Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:92172 errors:0 dropped:0 overruns:0 frame:0
      TX packets:58463 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:5428257 (5.1 MiB)  TX bytes:71953860 (68.6 MiB)

eth0  Link encap:Ethernet  HWaddr 16:AC:2D:A6:98:40
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:117592 errors:0 dropped:0 overruns:0 frame:0
      TX packets:79097 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:8766798 (8.3 MiB)  TX bytes:73073312 (69.6 MiB)
      Memory:fbc00000-fbd00000

lo    Link encap:Local Loopback
      inet addr:127.0.0.1  Mask:255.0.0.0
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:92 errors:0 dropped:0 overruns:0 frame:0
      TX packets:92 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:8172 (7.9 KiB)  TX bytes:8172 (7.9 KiB)

virbr0 Link encap:Ethernet  HWaddr 51:54:00:39:CA:A7
      inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:2 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:128 (128.0 b)  TX bytes:0 (0.0 b)

vnet0 Link encap:Ethernet  HWaddr 54:FE:00:F1:31:95
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:256 errors:0 dropped:0 overruns:1 carrier:0
      collisions:0 txqueuelen:500
      RX bytes:0 (0.0 b)  TX bytes:20835 (20.3 KiB)

vnet1 Link encap:Ethernet  HWaddr 54:FE:00:CD:CD:C4
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:11 errors:0 dropped:0 overruns:0 frame:0
      TX packets:1307 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:500
      RX bytes:2722 (2.6 KiB)  TX bytes:110215 (107.6 KiB)

Alguma outra informação relevante que devo fornecer?

Obrigado!

Responder1

Se "ifconfig -a" no convidado não mostrar uma eth0, execute "virt-manager" no host para obter uma interface gráfica agradável para editar os parâmetros da máquina virtual em vez de fazê-lo na linha de comando. Através dessa GUI você pode adicionar uma interface de rede, se precisar.

Depois de ter uma eth0 no convidado, você precisará especificar os parâmetros da interface no arquivo /etc/sysconfig/network-scripts/ifcfg-eth0 . Certifique-se de especificar um gateway padrão com a palavra-chave "GATEWAY". Aqui está um exemplo de script ifcfg para especificação manual de parâmetros (em vez de usar DHCP). É claro que você precisará fornecer os valores corretos de IPADDR, NETWORK, NETMASK e GATEWAY para sua rede.

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.110
NETWORK=192.168.1.0
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

Para colocar as alterações em ifcfg-eth0 em vigor, execute "reinicialização da rede de serviço".

Responder2

faça "brctl show" no host

para verificar se sua VM está conectada à ponte br0 e como seu br0 está tendo ip público (presumo que você comentou), atribua um ip público à sua VM convidada com gateway adequado.

ou

remova sua interface virtual do br0 e adicione-a ao virbr0.

no anfitrião

brctl delif br0 vifname 

brctl addif virbr0 vifname 

habilite o dhcp no seu convidado configurandoBOOTPROTO=dhcp.

Você obterá um endereço IP em 192.168.122.0 e poderá acessar externamente, desde que tenha regras NAT corretas criadas pela libvirt.

informação relacionada