Ir al contenido principal

Virtualización en Ubuntu 11.04 con KVM y puente de red

A continuación mostraré los pasos necesarios para crear una máquina virtual con KVM (requiere soporte del procesador) como hipervisor, usando Ubuntu 11.04.

  1. Instalación de paquetes
  2. Configuración del puente
  3. Creación de la máquina virtual
  4. Agregar el puente a la máquina virtual

Para esta configuración necesitamos instalar unos cuantos paquetes

apt-get install qemu-kvm libvirt-bin

Para dar una conectividad directa a la máquina virtual (sin NAT), debemos crear un puente de red. Para esto lo podemos hacer mediante brctl, sin embargo es preferible editar directamente el archivo de configuración /etc/network/interfaces, de tal manera que quede así:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 192.168.1.10
        network 192.168.1.0
        netmask 255.255.255.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

No olvidar ajustar la red acorde a las circunstancias. Se reinicia la máquina y se comprueba, mediante ifconfig -a, que el puente de red existe y funciona:

br0       Link encap:Ethernet  HWaddr 00:12:34:56:78:90  
          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: 0101::202:34fe:fea7:ad52/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2125 errors:0 dropped:0 overruns:0 frame:0
          TX packets:186 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:203157 (203.1 KB)  TX bytes:28287 (28.2 KB)

eth0      Link encap:Ethernet  HWaddr 00:12:34:56:78:90  
          inet6 addr: 0101::202:34fe:fea7:ad52/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2591 errors:0 dropped:0 overruns:0 frame:0
          TX packets:261 errors:0 dropped:0 overruns:0 carrier:1
          collisions:0 txqueuelen:1000 
          RX bytes:318889 (318.8 KB)  TX bytes:38664 (38.6 KB)
          Interrupt:44 

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)


Para la creación de la máquina virtual, se recomienda usar virt-manager

Se procede a editar la definición XML de la máquina virtual. Éstas se ubican en /etc/libvirt/qemu/. Se busca dentro de su contenido las etiquetas:


    <interface type='network'>
      <mac address='00:11:22:33:44:55'/>
      <source network='default'/>
    </interface>

Y se cambian para que se lea:

    <interface type='bridge'>
      <mac address='00:11:22:33:44:55'/>
      <source bridge='br0'/>
    </interface>

Se guardan los cambios, se reinicia nuevamente, y al arrancar la máquina virtual, vemos que, usando brctl show, su interfaz virtual se conecta al puente, y a través de éste, a eth0, donde ya puede conectarse con otras máquinas como si fuera una máquina real.

bridge name bridge id STP enabled interfaces
br0 8000.003067a7ad52 no eth0
vnet0

Y listo, eso fué todo.


Comentarios

Entradas populares de este blog

Partición de archivos grandes en piezas pequeñas usando TAR

A continuación mostraré los pasos necesarios para dividir un archivo grande en partes iguales, y luego reconstruirlo. Por ejemplo, tenemos un archivo de 200MB que queremos dividir en dos partes de 100 MB. Sabemos que 100 MB = 102400 kilobytes. tar -cML 102400 -f split.tar archivo A continuación, vamos a ver que TAR nos pregunta por el volumen donde debe seguir escribiendo el archivo. Como TAR no está operando sobre una cinta sino sobre un archivo, especificamos el nombre del mismo de la siguiente manera: n split2.tar Se repite el proceso tantas veces como sea necesario. Finalmente, para reconstruir el contenido, se usa el comando: tar -xM -f split.tar El cual irá preguntando parte por parte, y nosotros las iremos ingresando de igual manera: n split2.tar n split3.tar  Y así hasta llegar a la última pieza.

Asterisk en Ubuntu Server 10.04 LTS desde Digium

A continuación explico cómo se instala Asterisk en un sistema Ubuntu Server 10.04 LTS previamente preparado. Recientemente, Digium Inc., los fabricantes de Asterisk, han empezado a publicar paquetes .deb para distribuciones basadas en Debian.  En la dirección http://packages.asterisk.org/  se pueden encontrar los paquetes para las distintas distribuciones de Linux.  Para añadir este repositorio a nuestro sistema, basta con editar el archivo /etc/apt/sources.list, y agregamos al final las siguientes líneas: deb http://packages.asterisk.org/deb lucid main deb-src http://packages.asterisk.org/deb lucid main Posteriormente se agrega la llave pública con la que Digium firma los paquetes apt-key adv --keyserver pgp.mit.edu --recv-keys 175E41DF Se actualizan los repositorios aptitude update Y se instala la última versión de Asterisk 1.8 aptitude install asterisk-1.8