Dispositivos en la red 10.10.10.0/24 (vmbr1) tienen conectividad local pero no acceden a Internet ni resuelven DNS:
10.10.10.x) funciona8.8.8.8, 1.1.1.1) falla con timeoutnslookup google.com) falla con timeoutLa regla NAT para vmbr1 no está activa en iptables, aunque esté configurada en /etc/network/interfaces.
Las reglas post-up en /etc/network/interfaces solo se ejecutan cuando la interfaz se levanta. Si vmbr1 ya estaba UP cuando se agregaron las líneas de NAT, nunca se ejecutaron.
# Desde Proxmox, conectar a un cliente en vmbr1
ssh usuario@10.10.10.113
# Pruebas de conectividad
ping -c 2 10.10.10.1 # ✅ OK = red local funciona
ping -c 2 10.10.10.2 # ✅ OK = router accesible
ping -c 2 1.1.1.1 # ❌ FAIL = sin salida Internet
nslookup google.com # ❌ timeout = DNS no funciona
# Conectar a Proxmox
ssh root@proxmox.byolivia.work
# Buscar regla NAT para 10.10.10.0/24
iptables -t nat -L POSTROUTING -v -n | grep '10.10.10.0/24'
# Si no hay salida → regla NAT faltante ❌
cat /etc/network/interfaces | grep -A10 'auto vmbr1'
Debe contener las líneas de NAT:
auto vmbr1
iface vmbr1 inet static
address 10.10.10.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o ens4 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o ens4 -j MASQUERADE
Solución inmediata que no persiste tras reboot:
ssh root@proxmox.byolivia.work
# Agregar regla NAT
iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o ens4 -j MASQUERADE
# Verificar
iptables -t nat -L POSTROUTING -n | grep '10.10.10.0/24'
# Test desde cliente
ping -c 2 1.1.1.1
nslookup google.com
Esta regla se pierde tras reiniciar Proxmox. Usar solo como solución inmediata.
Aplica la configuración de /etc/network/interfaces de forma permanente:
ssh root@proxmox.byolivia.work
# Reiniciar servicio networking
systemctl restart networking
# Verificar VMs siguen running
qm list | grep running
# Verificar NAT activo
iptables -t nat -L POSTROUTING -n | grep '10.10.10.0/24'
Puede causar una interrupción breve de conectividad (10-30 segundos) en todas las redes.
Solución más invasiva pero garantiza configuración limpia:
ssh root@proxmox.byolivia.work
reboot
Downtime completo: ~2-5 minutos
Si has usado ifdown vmbr1 && ifup vmbr1 para reiniciar la interfaz, las VMs running pierden conexión con el bridge.
# Ver qué VMs deberían estar en vmbr1
grep 'bridge=vmbr1' /etc/pve/qemu-server/*.conf | cut -d: -f1
# Ver qué está realmente conectado al bridge
brctl show vmbr1
Si falta alguna interfaz tapXXXiY, está desconectada.
Para cada VM en vmbr1 (ejemplo: VM 102, 200, 300):
# Encontrar interfaces tap
ip link show | grep tap102
ip link show | grep tap200
ip link show | grep tap300
# Conectar al bridge (ajustar según el número de NIC)
ip link set tap102i0 master vmbr1
ip link set tap200i1 master vmbr1
ip link set tap300i0 master vmbr1
# Verificar
brctl show vmbr1
NO usar ifdown vmbr1 && ifup vmbr1 con VMs running. Usa systemctl restart networking o reinicia Proxmox completo.
Crear /usr/local/bin/check-vmbr1-nat.sh:
#!/bin/bash
# Verificar NAT para vmbr1 activo
if ! iptables -t nat -L POSTROUTING -n | grep -q '10.10.10.0/24'; then
echo "⚠️ NAT faltante para vmbr1, agregando..."
iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o ens4 -j MASQUERADE
logger "NAT vmbr1 restaurado automáticamente"
else
echo "✅ NAT vmbr1 OK"
fi
# Hacer ejecutable
chmod +x /usr/local/bin/check-vmbr1-nat.sh
# Agregar a cron (ejecutar cada 5 minutos)
echo "*/5 * * * * root /usr/local/bin/check-vmbr1-nat.sh" > /etc/cron.d/check-nat
Crear /etc/systemd/system/vmbr1-nat.service:
[Unit]
Description=Ensure NAT for vmbr1 network
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'iptables -t nat -C POSTROUTING -s 10.10.10.0/24 -o ens4 -j MASQUERADE || iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o ens4 -j MASQUERADE'
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
# Activar service
systemctl daemon-reload
systemctl enable vmbr1-nat.service
systemctl start vmbr1-nat.service
# Verificar estado
systemctl status vmbr1-nat.service
Cuando tengas problemas de conectividad en 10.10.10.0/24:
10.10.10.x) funciona? → Red capa 2 OKiptables -t nat -L | grep 10.10.10 tiene salida? → NAT OKbrctl show vmbr1 muestra interfaces tap de VMs? → VMs conectadasip addr show vmbr1 muestra 10.10.10.1/24? → IP configuradaip route en cliente muestra default via 10.10.10.1? → Gateway OKVerificar configuración de CPU y modo de virtualización en la configuración de la VM.
# Ver uso de disco
df -h
# Ver qué volúmenes ocupan más espacio
pvesm status
# Limpiar logs antiguos
journalctl --vacuum-time=7d
Ver también: Configuración de Proxmox, OpenWrt en Proxmox