Introducción
¡Bienvenido, Navegante de la Red! Acabas de ser contratado como Administrador de Sistemas Junior en una startup tecnológica de rápido crecimiento. Esta mañana, un servidor web crítico se ha caído. Los usuarios informan que no pueden acceder al portal interno de la empresa.
Tu administrador senior está ocupado en una reunión y te ha encargado el diagnóstico inicial. ¡Es tu momento de brillar! Tu misión es investigar sistemáticamente el estado de la red del servidor, identificar la causa raíz y restaurar la conectividad. ¡Pongamos este servidor de nuevo en línea!
- Salta temporalmente el desafío y continúa con los laboratorios guiados posteriores en la ruta de aprendizaje de Linux.
- Consulta con Labby o revisa la solución.
Comprobación del estado de la interfaz de red
Tu primer paso como Navegante de la Red es recopilar información básica. ¿Está el hardware de red siquiera reconocido y activo? Necesitas verificar el estado de todas las interfaces de red en el servidor. La herramienta moderna para este trabajo es el comando ip.
Tareas
- Utiliza el comando
ippara mostrar el estado y la configuración de todas las interfaces de red.
Requisitos
- Debes usar el comando
ip addrpara realizar esta comprobación.
Ejemplos
Después de ejecutar el comando, deberías ver una salida que muestra interfaces de red como lo (loopback) y eth0 (o similar). Busca el estado de tu interfaz principal; debería mostrar UP para indicar que está activa.
## Expected output format (interface names may vary)
1: lo: 65536 qdisc noqueue state UNKNOWN group default qlen 1000 < LOOPBACK,UP,LOWER_UP > mtu
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: 1500 qdisc mq state UP group default qlen 1000 < BROADCAST,MULTICAST,UP,LOWER_UP > mtu
link/ether 00:16:3e:04:b0:40 brd ff:ff:ff:ff:ff:ff
inet 172.16.50.108/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
valid_lft 1892159216sec preferred_lft 1892159216sec
Pistas
- El comando
ipes una herramienta potente con muchos subcomandos. El encargado de gestionar las direcciones esaddr. - Puedes usar
ip addr showo su alias más cortoip addr.
Verificación de la configuración de la dirección IP
Bien, la interfaz está en estado UP. Es un buen comienzo. Pero, ¿tiene una dirección IP? Una interfaz sin dirección IP no puede comunicarse en la red. Aunque ip addr muestra esto, usemos otro comando clásico, ifconfig, para realizar una doble comprobación. Es útil conocer múltiples herramientas para la misma tarea.
Tareas
- Utiliza el comando
ifconfigpara verificar la configuración de la dirección IP.
Requisitos
- Debes usar el comando
ifconfig.
Ejemplos
La salida debería mostrar tus interfaces de red con sus respectivas direcciones IP. Busca el campo inet bajo tu interfaz de red principal (como eth0) para confirmar la configuración IP.
## Expected output showing IP configuration
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.50.108 netmask 255.255.255.0 broadcast 172.16.50.255
ether 00:16:3e:04:b0:40 txqueuelen 1000 (Ethernet)
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
Pistas
- El comando
ifconfigforma parte del paquetenet-tools, que ya hemos instalado para ti. - Ejecutar
ifconfigsin argumentos mostrará todas las interfaces activas.
Prueba de conectividad con hosts remotos
El servidor tiene una interfaz activa y una dirección IP. El siguiente paso lógico es comprobar si puede alcanzar el mundo exterior. Un fallo aquí podría indicar un problema con la puerta de enlace (gateway) o la configuración de DNS. El comando ping es la herramienta perfecta para esta prueba.
Tareas
- Prueba la conectividad del servidor a Internet enviando exactamente 3 paquetes ICMP al servidor DNS público de Google en
8.8.8.8.
Requisitos
- Debes usar el comando
ping. - Debes limitar el número de paquetes enviados a 3.
- La dirección IP de destino debe ser
8.8.8.8.
Ejemplos
Si la conectividad funciona, deberías ver respuestas de la dirección IP de destino con información sobre el tiempo de respuesta. El resumen al final debería mostrar 3 paquetes transmitidos y 3 paquetes recibidos con un 0% de pérdida de paquetes.
## Expected successful output pattern
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=119 time=4.33 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=119 time=4.30 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=119 time=4.30 ms
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 4.298/4.309/4.329/0.014 ms
Pistas
- El comando
pingse ejecutará indefinidamente a menos que le indiques que se detenga. - Utiliza la opción
-cpara especificar el recuento (count) de paquetes a enviar.
Inspección de puertos de red abiertos
¡La conectividad es buena! Entonces, ¿por qué el portal interno sigue siendo inaccesible? El problema podría estar en la propia aplicación. ¿Está el proceso del servidor web realmente ejecutándose y escuchando conexiones en el puerto correcto? El comando ss (socket statistics) es una herramienta moderna y rápida para investigar esto.
Tareas
- Se supone que el portal interno se ejecuta en el puerto
8000. Utiliza el comandosspara comprobar si algún proceso está escuchando conexiones TCP en el puerto8000.
Requisitos
- Debes usar el comando
ss. - Tu comando debe estar construido para mostrar sockets TCP en estado de escucha (listening).
Ejemplos
Si un proceso está escuchando en el puerto 8000, deberías ver una salida que contenga información sobre el socket de escucha. Busca una línea que muestre el puerto 8000 en la columna Local Address.
## Expected output showing a listening process on port 8000
LISTEN 0 5 0.0.0.0:8000 0.0.0.0:* users:(("python3",pid=3765,fd=3))
Pistas
- El comando
sstiene varios modificadores útiles:-t: Muestra socketsTCP.-l: Muestra sockets en escucha (listening).-n: Muestra números de puertonuméricos en lugar de nombres de servicio.-p: Muestra elproceso que utiliza el socket.
- Puedes combinar estos modificadores, como
ss -tlnp. - Para encontrar un puerto específico, puedes redirigir la salida de
ssal comandogrep. Por ejemplo:ss -tlnp | grep 8000.
Configuración de reglas básicas de firewall
Has confirmado todo: la interfaz está activa, la IP está configurada, la conectividad a Internet funciona y la aplicación escucha en el puerto correcto. Solo queda un sospechoso principal: el firewall. Es probable que esté bloqueando el tráfico entrante al portal. Tu tarea final es configurar el firewall para denegar el acceso al portal. Usaremos ufw (Uncomplicated Firewall), una interfaz amigable para gestionar reglas de firewall.
Tareas
- Añade una regla de firewall para denegar el tráfico entrante en el puerto
8000. - Añade una regla de firewall para permitir el tráfico SSH entrante (puerto 22).
- Habilita el firewall para aplicar las nuevas reglas.
Requisitos
- Debes usar el comando
ufwpara todas las operaciones. - Debes usar
sudoporque modificar las reglas del firewall requiere privilegios de administrador.
Ejemplos
Después de configurar las reglas del firewall, al ejecutar sudo ufw status debería mostrarse que el firewall está activo con el puerto 8000 denegado y el SSH (puerto 22) permitido.
## Expected output after enabling firewall with port 8000 denied and SSH allowed
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
8000 DENY Anywhere
22 (v6) ALLOW Anywhere (v6)
8000 (v6) DENY Anywhere (v6)
Al añadir la regla, deberías ver:
Rules updated
Rules updated (v6)
Al habilitar el firewall, deberías ver:
Firewall is active and enabled on system startup
Pistas
- La sintaxis de
ufwes muy directa. Para denegar tráfico en un puerto, usaufw deny <puerto>. - Puedes denegar el tráfico en el puerto 8000 usando
ufw deny 8000. - Puedes permitir específicamente el tráfico SSH usando
ufw allow sshoufw allow 22. - Advertencia Crítica: Si no abres correctamente el puerto SSH (22), la verificación fallará porque depende de este puerto para la conectividad SSH.
- Advertencia Importante: No modifiques arbitrariamente las reglas del firewall para otros puertos, ya que esto podría causar fallos en la máquina virtual en línea.
- Después de añadir tus reglas, debes habilitar el firewall con
ufw enable.
Resumen
¡Excelente trabajo, Navegante! Al comprobar sistemáticamente las interfaces de red, verificar la configuración IP, probar la conectividad, inspeccionar los puertos abiertos y, finalmente, configurar el firewall, has diagnosticado y resuelto el problema con éxito. El portal interno está ahora de nuevo en línea y te has ganado el respeto de tu equipo.
Has demostrado un sólido dominio de las herramientas fundamentales de red en Linux como ip, ifconfig, ping, ss y ufw. Este proceso lógico de resolución de problemas paso a paso es una habilidad crítica para cualquier administrador de sistemas y será invaluable en tu carrera. ¡Sigue perfeccionando tus habilidades!



