Esta wiki es tu segundo cerebro digital sobre infraestructura, virtualización, contenedores y servicios en Linux. Está construida a partir de la documentación disponible en las páginas web de PLEDIN, con resúmenes, conceptos y análisis que se van ampliando continuamente.
🔗 Enlaces Rápidos
- Blog/Microblog — Blog personal
- Plataforma — Plataforma de enseñanza
- Módulos — Cursos y módulos
📊 Análisis y Síntesis
- Utilidad de Pods en Podman — Orquestación local, generación YAML K8s, alternativa a Swarm
- OpenStack vs Proxmox VE: Análisis Comparativo — Cloud IaaS vs virtualización integrada, casos uso, escalabilidad, TCO
📰 Artículos y Recursos
- DNS para Balanceo de Carga — Round robin y delegación DNS, high availability, failover automático
- dnsmasq: Servidor DNS Ligero para Redes Locales — DNS forwarder con caching, DHCP integrado, alternativa simple a Bind9
- SPF, DKIM y DMARC - Profundización — Estándares de autenticación, implementación progresiva, reportes
- Vagrant - Introducción y Conceptos Fundamentales — Automatización de VMs, providers, provisioning, ciclo de vida
- Vagrant + libvirt - Configuración Completa de Networking y Almacenamiento — Networking, almacenamiento persistente, multi-VM, casos de uso
- Creación de Custom Boxes para Vagrant — Empaquetar, versionar, distribuir boxes, Vagrant Cloud
- Headscale: VPN Mesh - Instalación, Configuración y Seguridad — Control plane open-source, routing avanzado, DNS dinámico, ACLs y aislamiento
- KVM + cloud-init: Despliegue Automatizado de Máquinas Virtuales — Cloud images, cloud-config YAML, despliegue en <2 minutos, laboratorios y clusters
- Criptografía: Conceptos Fundamentales e Implementación con GPG — Simétrica vs asimétrica, firmas digitales, PKI, Web of Trust, GPG práctica
- SSH: Autenticación por Claves y Acceso Remoto Seguro — Claves RSA/EdDSA, ssh-copy-id, ssh-agent, automatización, múltiples claves
- nftables: Cortafuegos Moderno - Personal, NAT y Perimetral — Tables, chains, reglas, SNAT/DNAT, masquerade, forward, laboratorios educativos
- Proxmox + cloud-init: Despliegue Automatizado en Hypervisor — Templates, clonado, cloud-init en Proxmox VE, laboratorios escalables
📚 Conceptos (27)
Plataformas Principales (10)
- Docker — Plataforma de containerización con imágenes, registros, Compose
- Kubernetes — Orquestador cloud-native: master/worker, auto-scaling, rolling updates
- OpenShift — Distribución empresarial de Kubernetes con PaaS, ImageStream, BuildConfig, Routes
- Podman — Runtime daemonless, rootless nativo, Pods, Quadlet
- KVM (Kernel-based Virtual Machine) — Hipervisor integrado en Linux para virtualización
- Proxmox VE: Plataforma de Virtualización — Plataforma virtualización: KVM + LXC, gestión centralizada
- OpenStack — Plataforma cloud IaaS: compute, storage, networking, imágenes
- Helm — Package manager de Kubernetes: charts, templating, distribución
- Apache — Servidor web modular: virtual hosting, módulos, autenticación, proxy inverso
- Vagrant — Automatización de VMs: Infrastructure as Code, reproducibilidad, provisioning declarativo
OpenShift-specific Patterns (6)
- PaaS (Platform as a Service) — Modelo Platform as a Service: abstracción de infraestructura, automatización CI/CD
- ImageStream — Abstracción OpenShift: referencias a imágenes, triggers, gestión automática
- Build (BuildConfig en OpenShift) — CI/CD nativo en OpenShift: S2I, Docker build, webhook triggers
- Route — Exposición de servicios: TLS, hostname/path routing, alternativa a Ingress
- Template — Plantillas parametrizadas: aplicaciones complejas, variables, objetos preconfigurados
- DeploymentConfig — Despliegues con triggers, rolling updates, lifecycle hooks pre/post
Kubernetes Patterns (5)
- Deployment — Orquestación declarativa: rolling updates, rollbacks, replicación
- Service — Exposición de Pods: load balancing, DNS, múltiples tipos
- Pod — Unidad mínima: 1+ contenedores, network compartida, efímeros
- StatefulSet — Aplicaciones stateful: identidad persistente, almacenamiento dedicado
- Job — Tareas batch: completación garantizada, reintentos, ejecución paralela
Storage Patterns (2)
- Volume — Almacenamiento persistente e independiente (K8s, OpenStack, Proxmox, KVM)
- Snapshot — Captura punto-en-tiempo: backup, clones, rollback
Protocolos y Seguridad (6)
- HTTP — Protocolo request/response stateless: métodos GET/POST, códigos estado, cabeceras, negociación contenido
- TLS — Encriptación transport-layer: PKI, certificados X.509, handshake, HTTPS, openssl
- SPF (Sender Policy Framework) — Autenticación DNS para autorizar MTAs que envían correo
- DKIM — Firma digital criptográfica para validar autenticidad de correos
- DMARC — Política unificada: SPF + DKIM + reportes de fallos
- Configuración de Red en Linux — Herramientas para gestionar interfaces, IP, rutas, DNS
- Resolución de Nombres en Linux — /etc/resolv.conf, /etc/nsswitch.conf, systemd-resolved, mDNS
Correo (1)
- Postfix — Servidor MTA: enrutamiento, entrega y gestión de correo electrónico
Abstracciones Base (1)
- Contenedores — Virtualización a nivel SO con kernel compartido
🏗️ Infraestructura y Plataformas
KVM & libvirt
Introducción a KVM & libvirt
- Introducción a la Virtualización con KVM - libvirt — Virtualización completa, QEMU/KVM stack, arquitectura
- Instalación y Configuración de virt-manager — Instalación, configuración inicial, redes default, almacenamiento
- Creación de Máquinas Virtuales en virt-manager — Wizard instalación, Linux/Windows, hardware, detalles VM
- Almacenamiento en KVM - virt-manager — Storage pools, volúmenes, QCOW2, snapshots, thin provisioning
- Clonación de Máquinas Virtuales en KVM — Full clone vs linked clone, problemas identidad, gestión
- Redes en KVM - libvirt — NAT privadas, aisladas, bridge públicas, macvtap, configuración
- Acceso por Consola Serie en KVM — Acceso serie, getty, administración remota, bajo overhead
Profundización en KVM / libvirt
- Conceptos Avanzados de Virtualización en KVM — Aislamiento seguridad, benchmarking, disaster recovery, cloud computing
- QEMU — Virtualización anidada, CPU host-passthrough, requisitos hardware
- Gestión de Máquinas Virtuales con virsh — Gestión dominios XML, ciclo de vida, volúmenes, virt-viewer
- Almacenamiento en KVM - libvirt con virsh — Pool types (dir/lvm/zfs/nfs), qemu-img, snapshots
- Clonación Avanzada con virsh — virt-clone, virt-install, virt-customize, templates, batch
- Redes Virtuales con virsh — Definición XML, DHCP/DNS, bridges (virbr), leases
- Instalación de VMs por Red en KVM — virt-install —location, preseed/kickstart, automatización
Proxmox VE
- Introducción a la Virtualización con Proxmox VE — Virtualización, tipos de hipervisores (KVM, LXC), plataforma gestión
- Instalación de Proxmox VE — Requisitos, proceso instalación, GUI, estructura cluster, storage/red por defecto
- Creación de Máquinas Virtuales en Proxmox — ISO, dispositivos VirtIO, creación Linux/Windows, Qemu-guest-agent, acceso remoto
- Gestión de Almacenamiento en Proxmox — Tipos storage, Directory, LVM thin, adición discos, resize/move/detach, snapshots
- Clonación, Snapshots y Backups en Proxmox — Full/linked clone, plantillas, snapshots y rollback, backups (stop/suspend/snapshot)
- Trabajando con Linux Containers (LXC) en Proxmox — Gestión LXC vs VMs, descarga plantillas, creación contenedores, ciclo de vida, mount points
- Gestión de Redes en Proxmox VE — Linux Bridge, vmbr0 público, redes internas, firewall 3 niveles (datacenter/nodo/VM)
- Gestión de Usuarios y Permisos en Proxmox VE — Autenticación (PAM, Proxmox), usuarios/grupos, roles, privilegios, pools de recursos, RBAC
OpenStack
- Introducción a OpenStack — Cloud IaaS, Horizon (web), OpenStack Client (CLI), claves SSH, grupos de seguridad
- Glance: Gestión de Imágenes en OpenStack — Catálogo de imágenes, formatos QCOW2/raw, snapshots, visibilidad
- Nova: Gestión de Instancias en OpenStack — Ciclo de vida VM, sabores (flavors), snapshots, redimensión, cloud-init
- Cinder: Gestión de Almacenamiento en OpenStack — Volúmenes persistentes, adjunción a instancias, snapshots, tipos storage
- Neutron: Gestión de Redes en OpenStack — Redes privadas, routers, Floating IPs, grupos de seguridad, SDN
Docker
- Introducción a Docker — Conceptos, diferencias con VMs, instalación
- Ejecución de Contenedores en Docker — docker run, ciclo de vida, mapeamiento de puertos
- Gestión de Imágenes en Docker — Capas, Docker Hub, comandos de gestión
- Almacenamiento en Docker — Volúmenes, bind mounts, tmpfs, persistencia
- Redes en Docker — Bridge, DNS, mapeamiento de puertos, SNAT/DNAT
- Docker Compose — Orquestación declarativa, servicios, volúmenes, variables
- Creación de Imágenes en Docker — Dockerfile, docker build, caching, multi-stage, best practices
- Docker Desktop — GUI para contenedores, imágenes, volúmenes, builds, extensiones
Podman
- Introducción a Podman — Daemonless, rootless nativo, Pods, Quadlet
- Ejecución de Contenedores con Podman — podman run, rootless vs rootful
- Gestión de Imágenes OCI en Podman — Pull, push, registros múltiples
- Almacenamiento y Redes en Podman — Volúmenes, bind mounts, redes bridge
- Gestión de Pods en Podman — Pods nativos, generación YAML Kubernetes
- Systemd y Quadlet: Gestión de Contenedores — Gestión de contenedores como servicios systemd
- Escenarios Multicontenedor con podman-compose — Escenarios multicontenedor, compose.yaml
- Construcción y Distribución de Imágenes OCI — Dockerfile, podman build, distribución
- Seguridad en Podman — Rootless, SELinux, AppArmor
- Casos Prácticos y Aplicaciones con Podman — WordPress, GuestBook, integración Kubernetes
Kubernetes
- Introducción a Kubernetes — Orquestación, arquitectura master/worker, por qué k8s
- Instalación de Kubernetes — minikube, kubeadm, kind, kubectl setup
- Pods: Contenedores en Kubernetes — Unidad mínima, efímeros, health checks
- ReplicaSets: Escalabilidad y Tolerancia a Fallos — Escalabilidad, auto-reparación, tolerancia a fallos
- Deployments: Ciclo de Vida Completo — Ciclo de vida, rolling updates, rollbacks
- Services: Acceso a Aplicaciones — ClusterIP, NodePort, LoadBalancer, Ingress, DNS
- Despliegues Parametrizados: ConfigMaps y Secrets — Parametrización, configuración, credenciales
- Almacenamiento en Kubernetes — PersistentVolumes, PVCs, provisioning
- Otras Cargas de Trabajo: StatefulSets, DaemonSets, Jobs — Cargas de trabajo especializadas
- Helm: Empaquetado y Despliegue de Aplicaciones — Charts, package manager, templating
OpenShift v4
Kubernetes y OpenShift
- Introducción a OpenShift v4 — Distribución K8s enterprise, Developer Sandbox, características
- Red Hat OpenShift Dedicated Developer Sandbox — Entorno cloud gratuito, proyectos, acceso web
- CRC (CodeReady Containers) — Code Ready Containers, instalación, requisitos, primeros pasos
- OpenShift como Distribución de Kubernetes — Recursos Kubernetes en OpenShift
- Acceso a las Aplicaciones — Acceso a aplicaciones, exposición, routing
- Despliegues Parametrizados — Parametrización, credenciales, configuración
- Almacenamiento en OpenShift v4 — Volumes, PersistentVolumes, PersistentVolumeClaims
- Otros Recursos para Manejar Aplicaciones — StatefulSet, DaemonSet, Jobs, CronJobs, HPA
- Ejemplo Final: Aplicación Citas — Despliegue multi-componente, microservices
OpenShift como PaaS
- Introducción a OpenShift v4 como PaaS — Características PaaS, abstracciones, flujos de trabajo
- Despliegue de Aplicaciones en OpenShift v4 — Image, Source-to-Image (S2I), Dockerfile, Templates
- ImageStreams: Gestión de Imágenes — Abstracción de imágenes, triggers automáticos, importación
- Builds: Construcción Automática de Imágenes — Construcción automatizada, S2I, Docker build, webhooks
- ImageStreams Avanzado: Etiquetas y Actualizaciones — ImagePullSecrets, registros privados, seguridad
- DeployConfig y Rolling Updates — Despliegues avanzados, hooks lifecycle, rollbacks
- Acceso a Aplicaciones: Services y Routes — Exposición de aplicaciones, TLS, balanceo de carga
- Extensiones de OpenShift: Operadores, Knative, Tekton — Extensiones, serverless, CI/CD declarativa
- Monitorización y Observabilidad — Prometheus, Grafana, logs, alertas, health checks
- Seguridad en OpenShift — Control de acceso, aislamiento red, Secrets, SecurityContext
🌐 Servicios y Aplicaciones
Configuración de Red en Linux
- ifupdown: Configuración Tradicional de Red — Ficheros /etc/network/interfaces, hooks, modular
- NetworkManager — Gestor dinámico con nmcli, nmtui, GUI (desktops/WiFi)
- systemd-networkd — Configuración declarativa con .network, bridges, VLAN
- netplan — Abstracción YAML con múltiples renderers (networkd/NetworkManager)
- Resolución de Nombres en Linux — DNS, /etc/resolv.conf, /etc/nsswitch.conf, systemd-resolved
Apache2
- Fundamentos de Apache — HTTP, introducción, instalación en Debian/Ubuntu
- Configuración de Apache — Ficheros config, directivas clave, contextos Directory
- Virtual Hosting en Apache — Múltiples dominios, NameVhost, a2ensite/a2dissite
- Directorios y URLs en Apache — Options, Alias, Redirect, DirectoryIndex, negociación
- Autenticación en Apache — Control acceso, auth básica/digest, .htaccess, políticas Require
- Módulos en Apache — a2enmod/a2dismod, mod_userdir, mod_dav, mod_rewrite, MPM
- Aplicaciones Web en Apache — mod_php, PHP-FPM, Python/WSGI, Node.js
- HTTPS en Apache — mod_ssl, certificados, Let’s Encrypt, CAcert, configuración TLS
- Seguridad en Apache — mod_security2, hardening, headers, permisos, logs
- Proxy Inverso y Análisis de Logs en Apache — mod_proxy, balanceo carga, AWStats
Bind9: Servidor DNS
- Fundamentos de DNS — Protocolo DNS, FQDN, zonas, autoridad, registros (A, MX, CNAME, NS, SOA), resolución recursiva
- Configuración de Bind9 — Instalación, zonas directas e inversas, ficheros de zona, integración DHCP
- Esclavo en Bind9 — Replicación de zonas, transferencia, sincronización con serial SOA
- Subdominios en Bind9 — Subdominios virtuales y delegación a servidores DNS separados
- Vistas en Bind9 — Split-horizon DNS, respuestas diferentes según cliente (interno/externo)
Postfix: Correo Electrónico
- Fundamentos de Correo Electrónico — Agentes (MUA/MTA/MDA), protocolos (SMTP/POP3/IMAP), viaje del email
- Envío de Correo con Postfix — Autenticación (SPF, DKIM, DMARC), seguridad en tránsito
- Recepción de Correo con Postfix — Registros MX, usuarios locales/virtuales, validación
- Instalación y Configuración de Postfix — Opciones instalación, parámetros esenciales, tipos servidor
- Configuración Avanzada de Postfix — SMTPd restrictions, SPF verificación, antivirus (ClamAV), spam (SpamAssassin)
- Clientes Remotos: POP3, IMAP y SMTP 587 — Recepción/envío remoto, Dovecot, TLS, autenticación SASL