qm guest cmd network-get-interfaces tiene un nombre demasiado largo para algo que hace una pregunta bastante humana.
¿Qué IP tiene esta VM ahora mismo?
No la IP que creo que tiene. No la que apunté en una nota hace tres semanas. No la que sale en una reserva DHCP que quizá ya no aplica. La que el sistema invitado está viendo desde dentro en este momento.
En un homelab con pocas máquinas puede parecer una tontería. En cuanto empiezas a tener varias VMs, plantillas, clones, redes de pruebas, servicios movidos y algún cambio de DHCP hecho con prisa, deja de serlo. La IP de una VM es uno de esos datos que parecen obvios hasta que no lo son.
Hace unos días publiqué mi guía base de Tailscale. Ahí contaba por qué dejé de pelearme con WireGuard puro para el acceso diario al homelab. Esa parte sigue siendo cierta. Instalar Tailscale sigue siendo ridículamente fácil. Lo que ya no me parece tan sencillo es diseñarlo bien cuando tu red deja de ser cuatro cacharros y empieza a parecer una pequeña jungla.
Ese es el punto en el que casi todas las guías se quedan cortas. Te enseñan a hacer tailscale up, ves el dispositivo en el panel y te vienes arriba. Luego pasan dos semanas, quieres acceder a un switch que no puede instalar el cliente, quieres sacar internet por casa cuando estás de viaje, o decides que igual no te hace gracia que todos los nodos hablen con todos. Ahí empieza el trabajo real.
Antes de Tailscale tenía un servidor WireGuard en casa. Funcionaba, pero mantenerlo era un trabajo constante: añadir peers a mano, gestionar claves, actualizar la configuración cada vez que un dispositivo cambiaba de IP. Cuando lo dejé de lado durante tres semanas y volví a intentar conectarme desde fuera, tardé una hora en recordar cómo había configurado todo.
Eso fue hace dos años. Desde entonces uso Tailscale y no he mirado atrás.
Tailscale es probablemente la herramienta que más ha cambiado cómo gestiono mi homelab. La idea es simple: crea una red mesh privada entre todos tus dispositivos usando WireGuard por debajo, sin que tengas que configurar ningún firewall ni abrir puertos. Funciona detrás de NAT, funciona con CGNAT, funciona en casi cualquier sitio.
El problema es que Tailscale, la empresa, controla el servidor de coordinación. Ese servidor no ve tu tráfico (está cifrado end-to-end), pero sí gestiona la autenticación y el intercambio de claves públicas. Si Tailscale cierra, cambia precios o decide que tu caso de uso no les interesa, tienes un problema.
Tengo un Mac mini que uso como servidor principal. Está siempre encendido. Pero también tengo tres ZimaBoards que forman parte de mi cluster K3s. Esas máquinas consumen poco (10W cada una), pero cuando no las necesito, las apago. El problema: cuando las necesito, están en otro cuarto.
Podría levantarme, ir al cuarto, pulsar el botón de encendido. O podría enviar un paquete mágico por la red que las despierta automáticamente. Segundo escenario, por favor.
Tengo 6 servicios expuestos a Internet desde mi homelab. Cero puertos abiertos. HTTPS automático. Protección DDoS gratis. Todo con Cloudflare Tunnels. Te cuento cómo.
Tengo 40+ dispositivos en una red mesh con Tailscale. Cero puertos abiertos, cero mantenimiento, y accedo a todo mi homelab desde cualquier parte del mundo. Te cuento cómo.