Bueno, resulta que entrando en el mundo de la virtualización, este es un tema de consulta permanente, así que merece la presente entrada.
Aplicable a: Fedora / CentOS / Redhat con KVM / qemu / libvirt
– Deshabilitar el Network Manager. Aparentemente el Network Manager no soporta el bridging.
# chkconfig NetworkManager off
# chkconfig network on
# service NetworkManager stop
# service network start
Otra opción para no deshabilitar el servicio es editar el /etc/sysconfig/network-scripts/ifcfg-eth0 y agregar la entrada: “NM_CONTROLLED=no”.
– Creamos las interfaces bridge:
Editar el /etc/sysconfig/network-scripts/ifcfg-eth0 y agregar la entrada:
BRIDGE=br0
Crear el archivo /etc/sysconfig/network-scripts/ifcfg-br0
con un contenido similar a este:
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
DELAY=0
Ojo que “Bridge” es case-sensitive y va como en el ejemplo.
– Restarteamos la red
# service network restart
– Configuramos las iptables para que permitan que el trafico sea redirigido forwarded a través del bridge:
# iptables -I FORWARD -m physdev –physdev-is-bridged -j ACCEPT
# service iptables save
# service iptables restart
Opcionalemente podemos evitar que el trafico del puente sea procesado por las reglas de las iptables. Esto lo hacemos modificando los parámetros del kernel en el /etc/sysctl.conf y agregando las siguientes líneas:
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
Luego, releemos los parametros del kernel:
# sysctl -p /etc/sysctl.conf
– Restarteamos el libvirt daemon:
# service libvirtd reload
Ahora, debería aparecer el “shared physical device” habilitado.
– Podemos chequear el bridge de la siguiente manera:
# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
br0 8000.000e0cb30550 no eth0
Ojo que este bridge es completamente independiente del virbr0.
El virbr0 se utiliza unicamente para hacer NAT.
Pingback: KVM: Administrando máquinas virtuales por consola / KVM with virsh | hvivani's website