
Soy completamente nuevo en KVM y en la idea de la virtualización, pero he estado leyendo sobre ello durante un par de días y jugando con él durante las últimas horas.
Crear, instalar, clonar, etc., todo parece genial. Pero los invitados que hago terminan con "red inalcanzable" cuando intento hacer ping a 8.8.8.8
Estoy usando CentOS 6.5 tanto para el anfitrión como para los invitados.
ifconfig en el invitado:
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)
Entiendo que probablemente aquí es donde radica el problema: supongo que debería haber un dispositivo eth0. ¿Por qué no está ahí?
código de instalación:
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 del anfitrión:
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)
¿Alguna otra información relevante que deba proporcionar?
¡Gracias!
Respuesta1
Si "ifconfig -a" en el invitado no muestra un eth0, ejecute "virt-manager" en el host para obtener una GUI agradable para editar los parámetros de la máquina virtual en lugar de hacerlo en la línea de comando. A través de esa GUI puede agregar una interfaz de red si la necesita.
Una vez que tenga un eth0 en el invitado, deberá especificar los parámetros de la interfaz en el archivo /etc/sysconfig/network-scripts/ifcfg-eth0. Asegúrese de especificar una puerta de enlace predeterminada con la palabra clave "GATEWAY". Aquí hay un script ifcfg de muestra para la especificación manual de parámetros (en lugar de usar DHCP). Por supuesto, deberá proporcionar los valores correctos de IPADDR, NETWORK, NETMASK y GATEWAY para su red.
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 que los cambios en ifcfg-eth0 entren en vigor, ejecute "reinicio de red de servicio".
Respuesta2
hacer "brctl show" en el host
para verificar que su máquina virtual esté conectada al puente br0 y dado que su br0 tiene una IP pública (supongo que ya que lo comentó), asigne una IP pública a su máquina virtual invitada con la puerta de enlace adecuada.
o
elimine su interfaz virtual de br0 y agréguela a virbr0.
en el anfitrión
brctl delif br0 vifname
brctl addif virbr0 vifname
habilite dhcp en su invitado configurandoBOOTPROTO=dhcp.
Obtendrá una dirección IP en 192.168.122.0 y debería poder acceder al exterior, siempre que tenga las reglas NAT correctas creadas por libvirt.