Introducción a los Servidores Linux y Modelo Cliente-Servidor
Un servidor es un sistema informático (hardware o máquina virtual) diseñado para alojar servicios, aplicaciones o recursos y responder a las peticiones continuas de múltiples clientes a través de una red local o de Internet.
Linux es el sistema operativo dominante indiscutible en la infraestructura de servidores mundial (la nube de AWS, Google Cloud, Azure, servidores web, bases de datos y contenedores Docker) debido a su estabilidad, seguridad, eficiencia de recursos y licencia libre de código abierto.
1. El Modelo Cliente-Servidor y Puertos de Red #
En el modelo cliente-servidor:
- El Servidor ejecuta procesos en segundo plano (demonios o servicios) que escuchan en puertos TCP/UDP específicos.
- El Cliente (navegador web, cliente SSH, base de datos) envía una solicitud (request) al socket
IP:Puerto. - El servidor procesa la petición y devuelve una respuesta (response).
1┌────────────────────────┐ ┌───────────────────────────────────┐ 2│ CLIENTE (User) │ │ SERVIDOR LINUX │ 3│ (Navegador, SSH, DB) │ │ (Demonios en segundo plano) │ 4├────────────────────────┤ ├───────────────────────────────────┤ 5│ Navegador Web │ ── HTTP (80) ──► │ Apache / Nginx (Puerto 80 / 443) │ 6│ Terminal Remota │ ── SSH (22) ──► │ OpenSSH Server (Puerto 22) │ 7│ Conexión PostgreSQL │ ── TCP (5432) ─► │ Postgres Daemon (Puerto 5432) │ 8└────────────────────────┘ └───────────────────────────────────┘
2. Gestión de Servicios con systemd y systemctl #
En las distribuciones modernas basadas en Debian, Ubuntu, Linux Mint o RHEL, el gestor de inicio y control de procesos del sistema es systemd.
Los comandos esenciales para administrar cualquier demonio son:
1# Iniciar, detener y reiniciar un servicio 2sudo systemctl start nombre_servicio 3sudo systemctl stop nombre_servicio 4sudo systemctl restart nombre_servicio 5 6 # Habilitar el arranque automático al encender el servidor 7sudo systemctl enable nombre_servicio 8 9 # Consultar el estado y logs en tiempo real 10sudo systemctl status nombre_servicio
3. Seguridad Básica y Cortafuegos con ufw #
Todo servidor expuesto a una red debe filtrar los puertos abiertos mediante un firewall (Uncomplicated Firewall):
1# Comprobar estado del cortafuegos 2sudo ufw status 3 4 # Permitir conexiones SSH antes de activar el firewall (vital para no perder acceso) 5sudo ufw allow 22/tcp 6 7 # Permitir tráfico web HTTP y HTTPS 8sudo ufw allow 80/tcp 9sudo ufw allow 443/tcp 10 11 # Habilitar el cortafuegos 12sudo ufw enable
Resumen del tema
Conceptos clave #
- Modelo Cliente-Servidor: arquitectura donde procesos servidores (demonios) escuchan peticiones en puertos de red estándar (
IP:Puerto). - Dominio de Linux en Servidores: fiabilidad 24/7, bajo consumo de recursos (sin interfaz gráfica obligatoria) y seguridad basada en permisos UNIX.
- Gestor
systemd: control unificado del ciclo de vida de los servicios mediantesystemctl (start, stop, restart, enable, status). - Protección con
ufw: filtrado estricto de puertos TCP/UDP para permitir únicamente tráfico autorizado.
Qué debes recordar #
Administrar un servidor Linux consiste en configurar demonios que escuchan en puertos específicos, controlar su ejecución con systemctl y proteger el acceso mediante reglas de firewall con ufw.