Proxmox VE se ha consolidado como una de las plataformas más utilizadas por administradores de sistemas, laboratorios domésticos y empresas que buscan una alternativa abierta para virtualización. Su atractivo no está solo en permitir crear máquinas virtuales con KVM, sino en combinar dentro de la misma interfaz varios bloques de infraestructura: cómputo, almacenamiento, redes, clústeres, copias de seguridad y contenedores Linux.
Dentro de ese conjunto, Linux Containers, más conocidos como LXC, ocupan un lugar especial. No son máquinas virtuales tradicionales ni contenedores de aplicación al estilo Docker. Son contenedores de sistema operativo: entornos Linux aislados que comparten el kernel del host, pero tienen su propio sistema de ficheros, procesos, red, usuarios y servicios. En Proxmox, esto permite desplegar cargas muy ligeras, rápidas de arrancar y fáciles de gestionar desde la misma consola en la que se administran las máquinas virtuales.
Qué es LXC dentro de Proxmox
LXC es una tecnología de virtualización a nivel de sistema operativo. A diferencia de una máquina virtual completa, que emula hardware y ejecuta su propio kernel, un contenedor LXC comparte el kernel del nodo Proxmox. Esa diferencia técnica explica casi todas sus ventajas y limitaciones.
Un contenedor LXC consume menos recursos que una VM porque no necesita arrancar un sistema operativo completo desde cero. No hay BIOS virtual, no hay kernel invitado independiente y no hay una capa completa de virtualización de hardware. El resultado es un arranque más rápido, menor consumo de memoria y una densidad mayor de servicios por nodo.
| Característica | LXC en Proxmox | Máquina virtual KVM |
|---|---|---|
| Tipo de virtualización | A nivel de sistema operativo | Virtualización completa de hardware |
| Kernel | Comparte el kernel del host | Cada VM usa su propio kernel |
| Sistemas soportados | Distribuciones Linux | Linux, Windows, BSD y otros |
| Consumo de recursos | Más bajo | Más alto |
| Arranque | Muy rápido | Más lento |
| Aislamiento | Bueno, pero menor que una VM | Más fuerte |
| Uso habitual | Servicios Linux ligeros | Cargas críticas, Windows, appliances, aislamiento fuerte |
| Gestión en Proxmox | Integrada mediante interfaz web y pct | Integrada mediante interfaz web y qm |
Proxmox simplifica mucho el uso de LXC. Desde la interfaz web es posible descargar plantillas, crear contenedores, asignar CPU, memoria, disco, red, DNS, contraseña, claves SSH y almacenamiento. Desde consola, el comando principal es pct, que permite crear, arrancar, parar, clonar, migrar, hacer snapshots o entrar en un contenedor.
La base de cada contenedor es una plantilla. Esa plantilla contiene el sistema de ficheros de una distribución Linux, como Debian, Ubuntu, AlmaLinux, Rocky Linux, Fedora o Alpine, según disponibilidad. Al crear un contenedor, Proxmox clona esa plantilla sobre el almacenamiento elegido y genera un entorno Linux independiente en cuestión de segundos.
Un ejemplo simplificado de creación mediante línea de comandos sería:
pct create 101 local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst \
--hostname web-lxc-01 \
--cores 2 \
--memory 2048 \
--rootfs local-lvm:20 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp \
--unprivileged 1
El contenedor se podría arrancar después con:
pct start 101
Y entrar en él con:
pct enter 101
Esta sencillez es una de las razones por las que LXC encaja tan bien en Proxmox. Un administrador puede desplegar en minutos un servidor Nginx, un proxy, un DNS interno, un contenedor para monitorización, un pequeño servicio PHP, una base de datos ligera o una herramienta administrativa sin reservar los recursos que exigiría una VM completa.
Privileged y unprivileged: la decisión de seguridad
Una de las decisiones más importantes al crear un contenedor LXC en Proxmox es si será privilegiado o no privilegiado. Por defecto, en entornos modernos conviene priorizar contenedores no privilegiados siempre que sea posible.
En un contenedor privilegiado, el usuario root del contenedor tiene una correspondencia más directa con el root del host. Esto puede facilitar algunas operaciones, como montajes específicos o acceso a ciertos dispositivos, pero aumenta el impacto potencial si el contenedor se ve comprometido. En un contenedor no privilegiado, Proxmox usa user namespaces para mapear los usuarios internos del contenedor a identificadores sin privilegios reales en el host. Así, el root dentro del contenedor no equivale directamente al root del nodo.
| Tipo de contenedor | Ventaja | Riesgo o limitación |
| Privilegiado | Más compatible con ciertos montajes, dispositivos y servicios | Menor aislamiento frente al host |
| No privilegiado | Mejor postura de seguridad por separación de UID/GID | Puede complicar montajes, permisos y algunos servicios |
| Con nesting | Permite ciertos escenarios anidados, como Docker dentro de LXC | Aumenta complejidad y superficie de ataque |
| Con bind mounts | Facilita compartir directorios del host | Requiere controlar permisos y exposición de datos |
La recomendación técnica general es clara: usar contenedores no privilegiados para servicios estándar y reservar los privilegiados para casos justificados. Si un servicio necesita permisos especiales, acceso a dispositivos, montajes NFS/SMB o ejecución de Docker dentro de LXC, conviene analizar si realmente debe correr como contenedor o si una VM ofrece un límite de seguridad más adecuado.
Docker dentro de LXC merece una mención aparte. Es posible hacerlo en determinados escenarios, pero no siempre es la mejor arquitectura. Docker también usa namespaces, cgroups y mecanismos de aislamiento del kernel. Ejecutarlo dentro de LXC implica apilar capas de contenedorización y puede generar problemas con permisos, AppArmor, cgroups, almacenamiento overlay o actualizaciones. Para producción, muchos administradores prefieren ejecutar Docker dentro de una VM dedicada, especialmente si la carga es crítica.
Casos de uso: dónde LXC tiene más sentido
LXC brilla cuando se necesita desplegar muchos servicios Linux ligeros y bien delimitados. No sustituye a todas las máquinas virtuales, pero puede reducir consumo y simplificar operaciones en una amplia variedad de escenarios.
| Caso de uso | Encaje con LXC | Comentario técnico |
| Servidor web ligero | Muy alto | Nginx, Apache, Caddy o aplicaciones PHP sencillas |
| DNS interno | Muy alto | Pi-hole, Unbound, Bind o dnsmasq |
| Monitorización | Alto | Prometheus, Grafana, Uptime Kuma o exporters |
| Proxy inverso | Alto | Traefik, HAProxy, Nginx Proxy Manager |
| Servicios administrativos | Alto | Bastion hosts, herramientas internas, paneles ligeros |
| Bases de datos pequeñas | Medio | Válido para cargas modestas, revisar I/O y backups |
| Docker | Medio/bajo | Mejor en VM si la carga es importante |
| Windows Server | Nulo | LXC solo ejecuta entornos Linux |
| Appliances cerrados | Bajo | Normalmente requieren VM |
| Cargas multi-tenant sensibles | Bajo | Mejor VM por aislamiento |
Para laboratorios y pequeñas infraestructuras, LXC permite separar servicios sin desperdiciar recursos. Un nodo con 64 GB de RAM puede alojar muchas más cargas ligeras en contenedores que en VMs, siempre que el diseño de almacenamiento, red y backup esté bien resuelto.
En empresas, el uso debe ser más selectivo. LXC es muy útil para servicios auxiliares, herramientas internas, componentes de infraestructura y cargas Linux controladas. Para aplicaciones críticas, entornos regulados, multi-tenant, bases de datos de alto impacto o sistemas que requieren aislamiento fuerte, las máquinas virtuales siguen siendo una opción más prudente.
El almacenamiento es otro punto que conviene planificar desde el principio. Proxmox puede crear rootfs de contenedores sobre distintos backends, como LVM, ZFS, Ceph, NFS o directorios locales, según el diseño del clúster. La elección afecta a snapshots, replicación, rendimiento y migración. ZFS, por ejemplo, encaja muy bien con snapshots y clones rápidos en entornos locales; Ceph puede tener sentido en clústeres con almacenamiento distribuido, aunque exige más diseño y operación.
Las copias de seguridad también están integradas. Proxmox permite hacer backups de contenedores con vzdump, y Proxmox Backup Server añade deduplicación, compresión, cifrado y copias incrementales. Para LXC, esto resulta especialmente útil porque muchos servicios pequeños pueden protegerse de forma ordenada sin recurrir a scripts dispersos por cada máquina.
En red, lo habitual es conectar el contenedor a un bridge como vmbr0, igual que una VM. Puede usar DHCP o IP estática, VLANs y reglas de firewall. En entornos segmentados, conviene tratar cada contenedor como una unidad de seguridad propia: asignar solo la red necesaria, limitar exposición, activar firewall cuando proceda y evitar compartir directorios del host sin una razón clara.
Buenas prácticas para producción
LXC no debe usarse como una forma rápida de meter cualquier cosa en un servidor. Su eficiencia puede llevar a crear demasiados contenedores sin criterio, lo que complica mantenimiento, actualizaciones y seguridad. El enfoque adecuado es definir qué papel tendrá cada contenedor y documentarlo igual que se haría con una VM.
Una buena práctica es usar plantillas actualizadas, crear contenedores no privilegiados por defecto, asignar recursos máximos razonables, separar almacenamiento de datos persistentes, configurar backups desde el primer día y revisar logs de Proxmox y del propio sistema invitado. También conviene evitar contenedores “mascota” llenos de servicios mezclados. Si un contenedor empieza a acumular demasiadas funciones, probablemente debería dividirse o convertirse en una VM mejor definida.
| Recomendación | Motivo |
| Usar contenedores no privilegiados | Reduce el riesgo si el servicio se compromete |
| Mantener plantillas actualizadas | Evita partir de sistemas obsoletos |
| Separar servicios por contenedor | Facilita backup, mantenimiento y troubleshooting |
| Limitar CPU y memoria | Evita que una carga afecte al nodo completo |
| Evitar mounts innecesarios del host | Reduce exposición de datos |
| Documentar IP, función y backup | Mejora operación en equipos |
| Probar restauraciones | Un backup no validado no protege el servicio |
| Usar VM cuando haya duda de aislamiento | Mejor asumir más coste que menos seguridad |
La diferencia entre LXC y VM no debería plantearse como una guerra técnica. Son herramientas distintas. LXC ofrece rapidez, densidad y eficiencia para cargas Linux. KVM ofrece aislamiento más fuerte, compatibilidad con más sistemas operativos y una frontera más clara entre host e invitado. Proxmox destaca precisamente porque permite usar ambas opciones en la misma plataforma.
En un diseño maduro, lo habitual será combinar las dos. Las máquinas virtuales alojan cargas críticas, Windows, appliances, bases de datos importantes o servicios que requieren aislamiento fuerte. Los contenedores LXC ejecutan servicios Linux auxiliares, aplicaciones ligeras, proxies, monitorización, DNS, automatización o herramientas internas. Esa mezcla permite aprovechar mejor el hardware sin renunciar al control operativo.
Proxmox y LXC forman una combinación especialmente útil porque acercan la contenedorización de sistema operativo a administradores que no quieren depender solo de Kubernetes o Docker para todo. Para muchas organizaciones, el paso lógico no es convertir cada servicio en microservicio ni desplegar un clúster complejo, sino separar bien cargas Linux, reducir consumo y mantener una gestión sencilla. Ahí LXC tiene mucho sentido.
La clave está en saber dónde no usarlo. Un contenedor no es una VM pequeña. Comparte kernel, hereda parte de las decisiones del host y exige entender permisos, namespaces, almacenamiento y seguridad. Cuando se usa con ese conocimiento, puede ser una herramienta muy eficiente. Cuando se usa como atajo, puede acabar generando más problemas de los que resuelve.
Preguntas frecuentes
¿Qué es LXC en Proxmox?
LXC es una tecnología de contenedores Linux que permite ejecutar sistemas Linux aislados dentro de Proxmox, compartiendo el kernel del nodo anfitrión.
¿En qué se diferencia LXC de una máquina virtual?
Una VM virtualiza hardware y ejecuta su propio kernel. Un contenedor LXC comparte el kernel del host, consume menos recursos y arranca más rápido, pero ofrece menos aislamiento.
¿Se puede ejecutar Windows en un contenedor LXC?
No. LXC en Proxmox está pensado para distribuciones Linux. Para Windows, FreeBSD u otros sistemas operativos se debe usar una máquina virtual.
¿Es seguro usar LXC en producción?
Puede serlo si se usan contenedores no privilegiados, se limitan permisos, se configuran backups y se aplica una buena segmentación de red. Para cargas críticas o multi-tenant, una VM puede ser más adecuada.