Introducción.
Cuando se instala KVM se crea una red privada por defecto (192.168.122.0) para las máquinas virtuales las cuales sólo son accesibles desde el mismo huésped.
(revisar) Si lo que se desea, como en mi caso, es que las máquinas virtuales obtengan una dirección del servicio de DHCP y puedan ser accedidas desde la red LAN como un servidor real es necesario crear un puente en la interfaz de red del servidor para permitirle a las máquinas virtuales acceder a la red física a través de este.
El procedimiento para hacer esto es simple y se describe a continuación.
Advertencia acerca de la red inalámbrica.
Utilizando el método convencional para la creación de puentes no es posible utilizar interfaces de red inalámbricas ya que sus tarjetas no permiten realizar ip spoofing necesario para su implementación. Es necesario entonces contar con un acceso alámbrico a la red LAN para poder realizar el procedimiento descrito en este artículo.
Investigando en Internet encontré varios foros en los que se menciona que es posible dar solución a este problema sin utilizar el procedimiento estándar sino utilizando aproximaciones alternativas que no estarían supeditadas a la red alámbrica, sin embargo después de cuatro días de intentos y pruebas no me funcionaron así que tuve que utilizar la red cableada. Las aproximaciones alternativas que sugieren mayor posibilidad de éxito son las siguientes.
En mi caso lo que revisió mayor dificultad para realizar las pruebas de estos procedimientos resultó, mas que la implementación de los mismos que de por si es bastante simple, la configuración de las máquinas KVM (he utilizado libvirt para su manipulación) para que utilicen la nueva interfaz de red ya que los ejemplos mejor descritos que encontré hacían referencia a Virtualbox y para KVM su configuración es notoriamente diferente.
Procedimiento.
Configurar el huésped (servidor de máquinas virtuales).
Instalar el paquete de utilidades para la creación de puentes de red.
$ sudo apt-get install bridge-utils
Editar el archivo de configuración de interfaces de red para agregar la configuración del puente.
$ sudo vi /etc/network/interfaces
Este procedimiento se puede realizar de dos maneras: de manera estática especificando la información precisa de conexión a la red o de manera dinámica permitiendo adquirir la configuración automática desde un servidor DHCP.
De manera estática se realiza de la siguiente manera.
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
De manera dinámica se realiza de la siguiente manera.
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
En ambos casos se está creando el puente br0 para acceder a la red a través de la interfaz eth0 (red alámbrica).
Reiniciar la configuración de red para tomar en cuenta los cambios recién realizados.
$ sudo /etc/init.d/networking restart
Verificar el estado de los cambios.
$ ifconfig
br0 Link encap:Ethernet HWaddr 00:24:21:b6:12:11
inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::224:21ff:feb6:1211/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:991 errors:0 dropped:0 overruns:0 frame:0
TX packets:90 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:62573 (62.5 KB) TX bytes:14537 (14.5 KB)
eth0 Link encap:Ethernet HWaddr 00:24:21:b6:12:11
inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::224:21ff:feb6:1211/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:991 errors:0 dropped:0 overruns:0 frame:0
TX packets:898 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:77339 (77.3 KB) TX bytes:67197 (67.1 KB)
Interrupt:27
Nótese como aparece la nueva interfaz de red del puente (br0) que toma igual configuración de red de su destino (eth0).
Configurar el invitado (máquinas virtuales).
Editar la información de especificación de la máquina virtual.
$ virsh edit IDENTIFICADOR_DOMINIO
Modificar la sección de la configuración de red (<interface>) con el siguiente estilo.
<interface type=’bridge’>
<source bridge=’br0‘/>
<model type=’virtio’/>
<mac address=’00:11:22:33:44:55’/>
</interface>
Actualice la información de la máquina virtual en el Hypervisor e iníciela.
$ virsh -c qemu:///system define /etc/libvirt/qemu/IDENTIFICADOR_DOMINIO.xml
$ virsh -c qemu:///system start IDENTIFICADOR_DOMINIO
Para confirmar el éxito de la configuración, en la máquina virtual consulte su dirección IP, la cual deberá coincidir con la especificada durante la configuración (estática) o la proporcionada por el servidor DHCP (dinámica).

Acerca de la dirección MAC de las interfaces virtuales.
Siempre es conveniente especificar una dirección MAC y que esta sea única entre las diferentes máquinas virtuales para evitar cualquier tipo de confusión. Con respecto a esta dirección se recomienda que el primer valor sea par (como por ejemplo 00).
Para facilitar la generación de direcciones MAC al azar, la documentación de KVM en Ubuntu incluye un script muy útil.
$ sudo apt-get install randomize-lines
$ vi ~/bin/kvmGenMac # Almacénelo donde desee.
#!/bin/sh
echo -n "54:52:00"
for i in 1 2 3; do
echo -n ":"
for j in 1 2; do
for k in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do
echo $k
done|rl|sed -n 1p
done|while read m; do
echo -n $m
done
done
echo
$ chmod +x ~/bin/kvmGenMac
Para ejecutarlo simplemente invoque el shell y obtenga la dirección MAC al azar de la salida estándar.
$ ./bin/kvmGenMac
Enlaces.