Configuración de puentes de red en Debian 12 para QEMU: temporales y permanentes
Los puentes de red en Linux permiten que las máquinas virtuales se integren en la red local como nodos de pleno derecho. A diferencia del modo usuario de QEMU, el modo puente proporciona interacción directa con la LAN física. Se requiere conocimiento básico de las capas 1–3 de OSI y las diferencias entre switches y routers. Todos los comandos se ejecutan como root o con sudo.
Un puente actúa como un switch virtual con un número ilimitado de puertos. Sin interfaces añadidas, solo existe una interfaz virtual con el mismo nombre. Añadir puertos (físicos o tap) los convierte en parte del switch: las direcciones IP y MAC de las interfaces individuales se ignoran.
Ejemplo: tres NIC físicas + puente = cuatro puertos de switch, con una IP gestionada en el puente.
Creación temporal de un puente
Crear un puente llamado bridge0:
ip link add bridge0 type bridge
ip link set dev bridge0 up
Comprobar el estado con ip a. La interfaz pasa a UP cuando se añade un puerto activo (NIC física con enlace o tap de VM).
Añadir una interfaz, p. ej., enp2s0:
ip link set enp2s0 master bridge0
Para quitarla: ip link set enp2s0 nomaster. Funciona con Wi-Fi y NIC únicas: el host usa el puente con una nueva MAC.
La red se desconectará tras añadirla. Obtener una IP:
- DHCP:
dhclient -v bridge0 - Estática:
ip a add 172.16.5.2/24 dev bridge0 && ip route add default via 172.16.5.1 dev bridge0
La VM en modo puente obtendrá una IP de la red del host.
Para eliminar: ip link delete bridge0. Las interfaces vuelven a su estado original. El puente desaparece al reiniciar.
Configuración permanente mediante /etc/network/interfaces
Para que sea persistente, edita /etc/network/interfaces o un archivo en /etc/network/interfaces.d/.
Ejemplo básico para virtbr0 (IP estática, sin puertos por defecto):
auto virtbr0
iface virtbr0 inet static
address 10.15.15.1
netmask 255.255.255.0
bridge_fd 0
bridge_maxwait 0
bridge_ports none
bridge_hello 2
bridge_maxage 20
bridge_stp off
Parámetros clave:
auto/iface: inicio automático.inet static/dhcp/manual: tipo de IP (manual: sin IP, añadir manualmente).bridge_ports none: puente vacío; QEMU añade tap dinámicamente. O especifica enp2s0, etc.bridge_fd 0,bridge_maxwait 0: retrasos de activación (0 para casos simples).bridge_hello 2,bridge_maxage 20: BPDU para STP.bridge_stp off: desactiva Spanning Tree (para VMs de prueba).bridge_hw MAC: establece MAC del puente o copia de la interfaz.
Para una NIC física en el puente, cámbiala a manual (elimina dhcp).
Activar: systemctl restart networking.service. El puente existente no se elimina automáticamente: usa ip link delete o reinicia. Monitorea con ip a.
Integración con QEMU
Lanzar VM con puente:
-net nic,model=e1000e,macaddr=52:54:00:a9:2b:c7 -net bridge,br=bridge0
Desglose:
-net nic,...: emula NIC en el SO invitado (e1000e: Intel gigabit; MAC única para multi-VM).-net bridge,br=bridge0: crea tap en el host, lo añade al puente y lo conecta con un cable de parche.
La MAC del tap se ignora en el puente. Sin br=bridge0, la VM no arranca.
Puntos clave
- Puentes de bridge-utils (apt install): dinámicos; networking: persistentes.
- Estado UP solo con puertos activos;
ip apara diagnósticos. - Wi-Fi/NIC única: compatible, el host funciona vía puente.
- STP desactivado por simplicidad; hello/maxage: valores predeterminados.
- Tap de QEMU añadido automáticamente; MAC únicas en VMs.
— Editorial Team
Aún no hay comentarios.