Instala OpenWrt en un host Proxmox VE con una sola NIC
Resultado
Sección titulada «Resultado»Podrás elegir la topología correcta en un host PVE con una sola NIC física:
- sin cambiar la dirección de administración de PVE;
- sin servir DHCP por accidente en
vmbr0; - con un resolvedor bypass o un laboratorio de LAN interna;
- y con acceso al host que sobrevive aunque se detenga la VM del router.
Entorno aplicable
Sección titulada «Entorno aplicable»- Proxmox VE 8.x/9.x con una NIC física;
vmbr0lleva tanto la dirección de administración de PVE como la puerta de enlace upstream. - Esta página está escrita para PVE 9.2.2, una NIC Realtek RTL8111,
vmbr0 192.168.50.2/24, puerta de enlace192.168.50.1. - Una sola NIC no puede separar físicamente WAN y LAN. No copies la disposición
enp1s0/enp2s0de las guías de doble NIC. Usa un servicio bypass o un puente interno de PVE. - Una segunda NIC o un switch con VLAN lo hace más fácil; esa topología queda fuera del alcance de esta página.
Dos topologías
Sección titulada «Dos topologías»A. DNS/puerta de enlace bypass (el cambio más pequeño)
Sección titulada «A. DNS/puerta de enlace bypass (el cambio más pequeño)»OpenWrt tiene una vNIC en vmbr0 con la dirección LAN 192.168.50.3/24, y DHCP está desactivado. Los clientes lo usan como DNS (o puerta de enlace) de forma manual; llega a internet a través de 192.168.50.1.
| Puerto físico | Bridge de PVE | NIC virtual | Interfaz de OpenWrt | Función |
|---|---|---|---|---|
| nic0 | vmbr0 | net0 | lan 192.168.50.3 | DNS/puerta de enlace bypass |
Sirve para validar DNS, AdGuard Home o el DNS/las reglas de OpenClash sin tocar el DHCP del router principal.
B. Laboratorio de LAN interna en PVE (recomendado para pruebas de enrutamiento)
Sección titulada «B. Laboratorio de LAN interna en PVE (recomendado para pruebas de enrutamiento)»OpenWrt tiene dos vNIC: net0 en vmbr0 como WAN (DHCP), net1 en vmbr1 como LAN (192.168.1.1/24). vmbr1 no tiene puertos físicos y solo lo usa una VM cliente de pruebas.
| Puerto físico | Bridge de PVE | NIC virtual | Interfaz de OpenWrt | Función |
|---|---|---|---|---|
| nic0 | vmbr0 | net0 | wan DHCP | upstream 192.168.50.1 |
| — | vmbr1 | net1 | lan 192.168.1.1 | cliente de prueba interno |
Esto valida enrutamiento, NAT, DHCP, DNS y «el host sigue accesible tras detener la VM del router» sin tocar la LAN física.
Antes de cambiar nada
Sección titulada «Antes de cambiar nada»ip -br linkip -br addrcat /etc/network/interfacesbridge linkqm listpvesm statusAnota la dirección de vmbr0, la puerta de enlace, el puerto físico y la lista de VM. En un host con una sola NIC, vmbr0 es tu única vía de administración; un error puede dejarte fuera.
EsperadoPuedes restaurar vmbr0 a partir de tus notas si algo falla.
Usa monitor y teclado, IPMI o VNC en la nube; no dependas solo de SSH. Después descarga la imagen x86_64 de OpenWrt en el host PVE:
cd /var/lib/vz/template/isowget https://downloads.openwrt.org/releases/25.12.6/targets/x86/64/openwrt-25.12.6-x86-64-generic-ext4-combined.img.gzwget https://downloads.openwrt.org/releases/25.12.6/targets/x86/64/sha256sumssha256sum -c sha256sums --ignore-missinggzip -d openwrt-25.12.6-x86-64-generic-ext4-combined.img.gzNo continúes si falla la suma de comprobación. Usa el nombre de archivo y la versión actuales de downloads.openwrt.org.
EsperadoSigues pudiendo acceder a PVE si SSH deja de funcionar.
Pasos mínimos
Sección titulada «Pasos mínimos»Empieza con un puente temporal; hazlo persistente solo después de comprobar que funciona:
ip link add name vmbr1 type bridgeip link set vmbr1 upip -br link show vmbr1ip -br addr show vmbr0vmbr1 no tiene puerto físico, por lo que no puede filtrar DHCP a la LAN doméstica. No ejecutes un servidor DHCP en vmbr0.
Esperadovmbr1 existe y está activo; las direcciones de vmbr0 no han cambiado.
qm create 200 --name openwrt-lab --memory 512 --cores 2 --ostype l26 \ --scsihw virtio-scsi-pci \ --net0 virtio,bridge=vmbr0 \ --net1 virtio,bridge=vmbr1 \ --serial0 socketqm importdisk 200 /var/lib/vz/template/iso/openwrt-25.12.6-x86-64-generic-ext4-combined.img local-lvmqm set 200 --scsi0 local-lvm:vm-200-disk-0qm set 200 --boot order=scsi0qm start 200Usa pvesm status para obtener el ID de almacenamiento real. Tras qm importdisk, confirma el nombre del disco en la salida del comando; puede ser vm-200-disk-0.
EsperadoLa VM 200 tiene un disco de arranque scsi0 y net0/net1.
qm terminal 200Si el puerto serie no muestra salida, usa la consola VNC de PVE. Dentro de OpenWrt:
ip link showip addr showuci show networkEl orden eth0/eth1 no tiene por qué coincidir con net0/net1; verifícalo por MAC/enlace y con uci show network. No supongas que eth0 es WAN. En este laboratorio, net0=eth0=WAN y net1=eth1=LAN, pero vuelve a comprobarlo en otro host.
EsperadoSabes qué interfaz es WAN y cuál es LAN.
En la consola de OpenWrt, reemplaza eth0/eth1 por las interfaces que verificaste:
uci set network.wan=interfaceuci set network.wan.proto='dhcp'uci set network.wan.device='eth0'uci set network.lan=interfaceuci set network.lan.proto='static'uci set network.lan.device='eth1'uci set network.lan.ipaddr='192.168.1.1'uci set network.lan.netmask='255.255.255.0'uci set dhcp.wan=dhcpuci set dhcp.wan.interface='wan'uci set dhcp.wan.ignore='1'uci commit networkuci commit dhcp/etc/init.d/network reloadConfirma dhcp.wan.ignore='1'; de lo contrario OpenWrt podría servir DHCP en el vmbr0 upstream y perturbar la red doméstica.
EsperadoWAN obtiene una dirección de 192.168.50.1; LAN es 192.168.1.1; no hay DHCP en vmbr0.
Crea una VM de prueba en vmbr1 (o conecta su NIC allí) y deja que obtenga una asignación de la LAN de OpenWrt. Después:
ip routeping 192.168.1.1ping 192.168.50.1nslookup openwrt.orgSi el cliente no obtiene asignación, revisa dhcp.lan y dnsmasq de OpenWrt antes de cambiar vmbr0.
EsperadoEl cliente llega a 192.168.1.1, a la puerta de enlace upstream y al DNS.
Verificación
Sección titulada «Verificación»
qm status 200está en ejecución;qm config 200muestranet0envmbr0,net1envmbr1.- Dentro de OpenWrt,
ip addr showmuestra WAN192.168.50.xy LAN192.168.1.1/24. - Cliente de prueba: la puerta de enlace por defecto es
192.168.1.1, puede hacer ping a192.168.50.1y resuelveopenwrt.org. - Host:
ssh [email protected]y la interfaz web de PVE siguen funcionando. - Detén la VM del router (
qm stop 200); la administración del host sigue funcionando;qm start 200lo restaura.
Ramas de fallo y recuperación
Sección titulada «Ramas de fallo y recuperación»El SSH del host es inaccesible
Sección titulada «El SSH del host es inaccesible»Deja de cambiar la red. Usa el monitor/teclado, IPMI o la consola en la nube y revisa:
ip -br addr show vmbr0cat /etc/network/interfacesbridge linkSi acabas de editar /etc/network/interfaces, restaura la copia de respaldo y recarga:
cp /etc/network/interfaces.bak.YYYY-MM-DD /etc/network/interfacesifreload -aSi solo el vmbr1 temporal causó el problema, primero confirma que ninguna otra VM lo usa:
grep -R "vmbr1" /etc/pve/qemu-serverElimínalo solo cuando ese comando no imprima nada:
ip link set vmbr1 downip link del vmbr1OpenWrt no tiene dirección WAN
Sección titulada «OpenWrt no tiene dirección WAN»qm config 200qm terminal 200Dentro de OpenWrt, revisa ip link show, uci show network y logread. Confirma que net0 está en vmbr0 y que nic0 está activa; no añadas un segundo servidor DHCP en vmbr0.
El cliente de prueba no obtiene una asignación 192.168.1.x
Sección titulada «El cliente de prueba no obtiene una asignación 192.168.1.x»Revisa dhcp.lan de OpenWrt y si dnsmasq está en ejecución; confirma que la VM de prueba está realmente conectada a vmbr1. No cambies las direcciones ni la puerta de enlace de vmbr0 para «arreglar» el laboratorio.
¿Sigues pudiendo acceder al host tras detener la VM del router?
Sección titulada «¿Sigues pudiendo acceder al host tras detener la VM del router?»Esa es la puerta de recuperación: tras qm stop 200, abre https://192.168.50.2:8006 y entra por SSH desde otra máquina. Si no puedes, tu vía de administración depende de OpenWrt; corrígelo antes de continuar.
Prueba de laboratorio E2 (2026-10-20)
Sección titulada «Prueba de laboratorio E2 (2026-10-20)»- Entorno: PVE 9.2.2, una Realtek RTL8111,
vmbr0 192.168.50.2/24; VM 200 x86_64 con OpenWrt 25.12.6, 512 MB/2 vCPU. - La WAN
eth0de OpenWrt recibió192.168.50.77por DHCP de192.168.50.1; la LANeth1es192.168.1.1/24. - Un cliente netns en el
vmbr1interno recibió192.168.1.191por DHCP, usó192.168.1.1como ruta por defecto, resolvióopenwrt.orgy obtuvo HTTP 200. - Tras
qm stop 200, una conexión SSH nueva al host PVE seguía funcionando;vmbr0se mantuvo en192.168.50.2/24. - Sin probar: clientes físicos de la LAN, disposición de doble NIC, estabilidad a largo plazo, upstream PPPoE/IPv6. Quedan fuera de este resultado E2.
Fuentes y revisión
Sección titulada «Fuentes y revisión»- Esta página es una prueba de laboratorio E2, no un borrador E1 puro; no ha sido revisada de forma independiente ni probada en una LAN física.
- Receta:
tests/recipes/pve-single-nic-25.12.md. Registra el SHA-256 de la imagen,qm config 200y los resultados del cliente. - Una sola NIC no es doble NIC: no conviertas esto en una guía de «separar físicamente WAN/LAN» sin una segunda NIC o un switch con VLAN.
Fuentes
Notas independientes sobre OpenWrt. Cada página indica el firmware, el dispositivo, el gestor de paquetes y la vía de retorno.
Iconos: Solar by 480 Design, CC BY 4.0