Si algún término del módulo no te suena, aquí tienes el contexto rápido para arrancar sin perderte. Estos son los conceptos clave que vas a ver más adelante.
- Hipervisor
- Software que permite a un servidor físico ejecutar varias máquinas virtuales. Proxmox VE es uno de ellos.
- VM
- Máquina virtual: una computadora completa simulada por software, con su propio SO, RAM, discos y red.
- Contenedor (LXC)
- VM "lite" que comparte el kernel del host. Arranca en segundos y pesa mucho menos que una VM completa.
- Bridge (vmbr0)
- Switch virtual dentro del host de Proxmox. Conecta las VMs entre sí y con la red física.
- Cluster
- Grupo de servidores Proxmox conectados que trabajan como uno solo. Si un nodo cae, los otros toman el relevo.
- ZFS
- Sistema de archivos avanzado que se usa cuando se quiere migración en vivo de VMs y redundancia entre nodos.
- NTP
- Sincronización horaria entre servidores. Crítico en clusters: si los relojes se desfasan, el cluster falla.
- Fail2Ban
- Servicio que monitorea los logs y bloquea IPs que intentan adivinar contraseñas (fuerza bruta).
Para la lista completa de términos del plan, abre el glosario en la barra lateral.
Este módulo está basado en la guía interna de implementación de cluster Proxmox del departamento. Los procedimientos reflejan las buenas prácticas utilizadas en las implementaciones reales.
4.1 Objetivos del módulo
- Instalar Proxmox VE desde cero en hardware físico del lab.
- Realizar la configuración post-instalación esencial.
- Instalar y configurar herramientas de diagnóstico y administración.
- Configurar la red de Proxmox (bridges, VLANs básicas).
- Optimizar las interfaces de red físicas del servidor.
- Configurar SSL, NTP y SSH hardening.
- Crear y gestionar las primeras VMs y contenedores.
- Configurar repositorios gratuitos (sin suscripción enterprise).
4.2 Prerrequisitos
- Módulo 3 completado: administración básica de Linux.
- Servidor físico del lab disponible: mínimo 8 GB RAM, 2 discos o 1 disco con suficiente espacio.
- USB de al menos 4 GB para crear el instalador.
- ISO de Proxmox VE descargada desde proxmox.com/en/downloads.
- Acceso a la red para actualizaciones post-instalación.
4.3 Instalación del sistema operativo
4.3.1 Preparación del instalador
- Descargar la ISO de Proxmox VE desde
proxmox.com/en/downloads. - Crear USB booteable con Ventoy (recomendado: permite múltiples ISOs) o Rufus.
- Configurar el boot order en BIOS/UEFI para arrancar desde USB.
- Iniciar la instalación y seleccionar "Install Proxmox VE (Terminal UI)".
4.3.2 Particionado y disco
El particionado es una de las decisiones más importantes en la instalación. Considerar:
- Servidores con un solo disco: usar ext4 con LVM. Proxmox creará partición root, swap y data-lvm automáticamente.
- Servidores con múltiples discos: instalar el SO en 1 disco (SSD si hay), y dejar los otros para storage de VMs (se configuran después).
- Clusters con 3+ nodos y alta disponibilidad: considerar ZFS o Ceph (temas avanzados fuera del alcance de este módulo).
4.3.3 La SWAP y su importancia en Proxmox
La SWAP actúa como memoria RAM de respaldo en disco. En Proxmox VE tiene implicaciones importantes:
- Si una VM usa más RAM de la disponible, el sistema puede usar SWAP en lugar de caer — esto da tiempo de reacción al administrador.
- Tamaño recomendado para lab: igual a la RAM del servidor (si tiene 16 GB RAM, crear 16 GB de SWAP).
- En producción con mucha RAM (128 GB+) puede reducirse, pero en el lab es mejor tenerla amplia.
- Proxmox también usa SWAP para el balanceo de memoria entre VMs.
4.3.4 Configuración durante la instalación
| Parámetro | Valor recomendado para el lab |
|---|---|
| Hostname | proxmox-lab01.dominio.local (FQDN) |
| IP Address | IP estática asignada al lab (ej: 192.168.1.10) |
| Gateway | IP del router de la red local |
| DNS | 1.1.1.1 o el DNS corporativo |
| Password root | Contraseña segura — documentar internamente |
Crear la entrada DNS del nodo (hostname → IP) ANTES de finalizar la instalación. Proxmox necesita resolver su propio hostname correctamente para el cluster.
4.4 Pasos post-instalación esenciales
4.4.1 Configuración de repositorios gratuitos
Proxmox VE tiene dos repositorios: enterprise (requiere suscripción) y no-subscription (gratuito). Para el lab, configurar el repositorio gratuito:
# Deshabilitar repositorio enterprise
nano /etc/apt/sources.list.d/pve-enterprise.list
# Comentar la línea con: deb https://enterprise.proxmox.com ...
# Habilitar repositorio gratuito
nano /etc/apt/sources.list
# Agregar al final:
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription
apt update && apt upgrade -y
4.4.2 Primeros comandos post-instalación
# Cambiar contraseña root si es necesario
passwd
# Actualizar paquetes
apt-get update && apt-get upgrade
# Configurar locales
dpkg-reconfigure locales
locale-gen
# Establecer zona horaria
timedatectl set-timezone America/Santo_Domingo
# o usar: tzselect para seleccionar interactivamente
# Reiniciar para aplicar todos los cambios
reboot
4.4.3 Instalación de herramientas de diagnóstico y administración
Instalar el conjunto base de herramientas para administración y diagnóstico del nodo:
apt update && apt install -y --no-install-recommends \
iproute2 iputils-arping bridge-utils ethtool tcpdump \
iperf3 fping nmap traceroute nload iftop iptraf-ng \
screen tmux net-tools curl wget \
htop glances lshw inxi smartmontools \
zip unzip p7zip-full parted jq figlet
| Herramienta | ¿Para qué sirve en Proxmox? |
|---|---|
htop | Monitor interactivo de procesos y uso de CPU/RAM. |
glances | Monitor completo: CPU, RAM, red, disco en una pantalla. |
iftop | Muestra conexiones activas y ancho de banda por host en una interfaz. |
iptraf-ng | Monitorea tráfico por interfaz en tiempo real. |
nload | Gráfico simple de tráfico entrante/saliente por interfaz. |
iperf3 | Mide ancho de banda y latencia entre dos hosts. |
smartmontools | Monitorea salud de discos. Esencial para detección temprana de fallos. |
ethtool | Ajusta y monitorea interfaces Ethernet físicas. |
tmux | Multiplexor de terminal moderno. Mantiene sesiones SSH activas. |
lshw / inxi | Inventario completo de hardware del nodo. |
jq | Procesa y filtra datos JSON (útil para la API de Proxmox). |
figlet | Genera texto ASCII decorativo. Identifica visualmente el nodo en CLI. |
4.4.4 Personalización del entorno root (.bashrc)
Configurar el entorno del usuario root para mejorar la productividad y reducir
errores en la administración del nodo Proxmox:
nano /root/.bashrc
Configuraciones recomendadas:
- Historial ampliado:
HISTSIZE=100000,HISTFILESIZE=200000,histappend. - Timestamp en historial:
export HISTTIMEFORMAT="[%F %T] " - Alias de seguridad:
rm='rm -i',cp='cp -i',mv='mv -i' - Alias de Proxmox:
qmlist='qm list',pvenodes='pvecm nodes',pvestatus='pvecm status' - Alias de monitoreo:
diskuse='df -hT',memuse='free -m -l -t' - Protección de reboot/poweroff: función
confirm_shutdownque pide el hostname antes de ejecutar.
La función confirm_shutdown obliga a escribir el hostname del nodo antes de
apagarlo, evitando apagados accidentales en producción.
4.5 Optimización de interfaces de red
4.5.1 Verificar características de las NICs
Antes de configurar la red, es importante conocer las capacidades reales de las interfaces:
# Ver interfaces disponibles
dmesg | grep eth
lspci | grep Eth
# Verificar capacidades de una interfaz (buffers de transmisión)
ethtool -g <interfaz>
# Verificar si la NIC soporta multiqueue
ethtool -l <interfaz>
# Verificar RSS (Receive Side Scaling)
ethtool -x <interfaz>
4.5.2 Liberar el estrangulamiento de interfaces (rc-local)
En servidores con NICs de alta capacidad, los buffers de transmisión pueden estar limitados. Para optimizarlos de forma persistente (se aplican en cada arranque):
# Crear servicio rc-local
nano /etc/systemd/system/rc-local.service
Contenido del servicio:
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
# Crear el script de optimización
nano /etc/rc.local
Contenido (adaptar a los nombres de interfaz del servidor):
#!/bin/bash -e
# Optimizar buffers de interfaces de red
ethtool -G enp3s0 tx 4096 rx 4096
# Agregar una línea por cada interfaz a optimizar
exit 0
chmod +x /etc/rc.local
systemctl enable rc-local
systemctl start rc-local
systemctl status rc-local
4.6 Configuración de red en Proxmox
La red de Proxmox se configura en el archivo /etc/network/interfaces. Proxmox
crea bridges (switches virtuales) que conectan las VMs y contenedores a la red física.
4.6.1 Conceptos de red en Proxmox
- Linux Bridge (vmbr): switch virtual al que se conectan las VMs. Puede estar vinculado a una interfaz física o ser una red interna aislada.
- VLAN: permite segmentar el tráfico de red lógicamente. En Proxmox se pueden crear VLANs sobre bridges existentes.
- Bonding: combinar varias NICs físicas para redundancia o mayor ancho de banda.
4.6.2 Configuración base para el lab
nano /etc/network/interfaces
auto lo
iface lo inet loopback
# Interfaz física principal
auto enp3s0
iface enp3s0 inet manual
# Bridge principal (para VMs con acceso a la red local)
auto vmbr0
iface vmbr0 inet static
address 192.168.1.10/24
gateway 192.168.1.1
bridge-ports enp3s0
bridge-stp off
bridge-fd 0
# Reiniciar networking
systemctl restart networking
En el lab se puede tener un solo bridge (vmbr0). Para entornos de producción
con múltiples redes y segmentación, se crean bridges adicionales (vmbr1,
vmbr2…) cada uno con su función específica.
4.7 Configuración de SSL
Por defecto, Proxmox usa un certificado SSL auto-firmado. Para entornos de lab esto es aceptable. Para producción con dominio público, se puede configurar Let's Encrypt directamente desde la GUI:
Desde la interfaz web de Proxmox: Datacenter → Node → Certificates → Add ACME (requiere dominio público y puerto 80 accesible desde internet). Para el lab, aceptar el certificado auto-firmado en el navegador es suficiente.
4.8 Configuración de NTP (sincronización horaria)
La sincronización horaria es crítica para clusters Proxmox. Un desfase de tiempo puede
causar problemas en corosync (protocolo de cluster) y en los logs.
# Verificar estado del tiempo
timedatectl status
# Instalar y configurar chrony (recomendado para Proxmox)
apt install chrony
# Verificar que NTP esté sincronizado
chronyc tracking
chronyc sources
4.9 Hardening de SSH y seguridad básica
nano /etc/ssh/sshd_config
Configuraciones de seguridad recomendadas:
PermitRootLogin prohibit-password # Solo llaves para root
PasswordAuthentication no # Deshabilitar contraseñas (solo llaves)
MaxAuthTries 3 # Máximo intentos de autenticación
LoginGraceTime 60 # Tiempo límite para autenticarse
X11Forwarding no # Deshabilitar forwarding gráfico
systemctl restart ssh
Fail2Ban — Protección contra ataques de fuerza bruta
apt install fail2ban
# Crear configuración local (no modificar .conf base)
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local
# Sección [sshd] — verificar que esté habilitado
[sshd]
enabled = true
maxretry = 5
bantime = 3600
# Habilitar y verificar
systemctl enable --now fail2ban
fail2ban-client status
4.10 Creación de la primera VM
- En la GUI de Proxmox (
https://ip_del_nodo:8006), loguearse comoroot. - Subir ISO: Storage → local → ISO Images → Upload.
- Crear VM: botón "Create VM" y seguir el asistente.
- Configurar: OS (seleccionar ISO), System (BIOS: SeaBIOS o UEFI), Disks, CPU, Memory, Network (
vmbr0). - Iniciar la VM y abrir consola desde la GUI.
- Completar la instalación del SO de la VM.
| Configuración | Valor mínimo para lab | Recomendado |
|---|---|---|
| vCPU | 1 | 2–4 (según carga) |
| RAM | 512 MB | 2–4 GB |
| Disco | 8 GB | 20–40 GB |
| Red | vmbr0 (VirtIO) | vmbr0 (VirtIO) |
| SO guest | Ubuntu Server 24.04 LTS | Depende del lab |
4.11 Laboratorio práctico
- Crear USB booteable con la ISO de Proxmox VE y realizar la instalación completa en el servidor físico del lab.
- Configurar repositorios gratuitos (sin suscripción enterprise) y realizar
apt upgrade. - Instalar el conjunto de herramientas de administración listadas en la sección 4.4.3.
- Personalizar el
.bashrcde root con los alias de Proxmox y la protección de reboot. - Verificar y configurar las interfaces de red del servidor (
ethtool). - Configurar el bridge
vmbr0conectado a la interfaz física del lab. - Configurar NTP y verificar sincronización horaria.
- Aplicar hardening SSH y configurar Fail2Ban.
- Crear una VM con Ubuntu Server 24.04 LTS y verificar conectividad de red.
- Crear un contenedor LXC (CT) con Alpine Linux y verificar funcionamiento.
Plantilla de seguimiento del nodo Proxmox
| Campo | Nodo 1 | Nodo 2 |
|---|---|---|
| Hostname (FQDN) | ||
| IP del nodo | ||
| Gateway | ||
| DNS | ||
| Versión Proxmox VE | ||
| Repositorios configurados | ||
| Bridge principal (vmbr0) | ||
| Interfaces físicas asociadas | ||
| SWAP configurado (GB) | ||
| RAID / Storage | ||
| NTP sincronizado (sí/no) | ||
| Fail2Ban activo (sí/no) | ||
| VMs creadas | ||
| Contenedores LXC creados | ||
| Notas |
4.12 Checklist de evaluación
- Instaló Proxmox VE desde cero en hardware físico sin asistencia.
- Configuró repositorios gratuitos y actualizó el sistema correctamente.
- Instaló las herramientas de diagnóstico y verifica que funcionan.
- Personalizó el
.bashrcde root con alias de Proxmox y la función de confirmación de reboot. - Configuró el bridge
vmbr0y verificó conectividad de red desde las VMs. - NTP sincronizado correctamente (
chronyc trackingmuestra sincronización). - Fail2Ban instalado y monitoreando el puerto SSH.
- Creó y gestionó al menos 1 VM y 1 contenedor LXC desde la GUI de Proxmox.
- Puede navegar la GUI de Proxmox y conoce las secciones principales.
4.13 Referencia rápida — Cheatsheet Proxmox
| Acción | Comando / Ruta |
|---|---|
| Ver VMs y estado | qm list |
| Iniciar VM | qm start <vmid> |
| Detener VM | qm stop <vmid> |
| Ver contenedores | pct list |
| Iniciar contenedor | pct start <ctid> |
| Entrar a contenedor | pct enter <ctid> |
| Ver nodos del cluster | pvecm nodes |
| Estado del cluster | pvecm status |
| Ver uso de disco | df -hT |
| Ver tareas recientes | tail -f /var/log/pve/tasks/index |
| Ver logs del nodo | journalctl -xe |
| GUI de Proxmox | https://ip_nodo:8006 |