
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.