CodeGym /Cursos /Docker SELF /Configuración de rutas: comandos `ip route`, `netstat`, `...

Configuración de rutas: comandos `ip route`, `netstat`, `ss`

Docker SELF
Nivel 4 , Lección 1
Disponible

Configuración de rutas: comandos ip route, netstat, ss

1. Concepto de enrutamiento

Hoy nos adentramos aún más: vamos a configurar rutas, analizar conexiones de red y entender los puertos. Aquí comienza la verdadera magia de la administración de redes: entenderemos hacia dónde y cómo viajan los paquetes, y por qué es importante ser el "jefe de las rutas".

El enrutamiento no es solo algo que suena complicado, es la base de las bases de una red moderna. Imagina esto: tu computadora es un turista que quiere llegar a otra computadora (un hotel), y las rutas son los caminos y señales. Si no hay rutas, el turista estará perdido, preguntando direcciones a los transeúntes (y esos transeúntes pueden ser servidores DNS, pero eso no importa ahora), o se quedará en casa.

¿Para qué sirven las rutas?

Cada dispositivo en la red necesita saber cómo llegar a otros dispositivos. Por ejemplo, si tu computadora quiere enviar una solicitud al sitio web example.com, debe saber:

  1. A dónde enviar los paquetes.
  2. A través de qué gateway o interfaz hacerlo.

Existen dos tipos de rutas:

  • Rutas locales: instrucciones para dispositivos en tu subred (por ejemplo, tu computadora y la impresora).
  • Rutas externas: instrucciones para dispositivos fuera de tu subred (por ejemplo, un recurso en Internet).

2. Tabla de rutas

La tabla de rutas es una tabla con reglas que determinan a dónde enviar paquetes basándose en direcciones IP. Es como Google Maps para tu compu: "Si quieres llegar allí, ve por esta puerta de enlace".

Prueba a mostrar tu tabla de rutas:

ip route show

Ejemplo de salida:

default via 192.168.1.1 dev eth0 proto dhcp metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100

¿Qué significa esto?

  • default via 192.168.1.1: si no se especifica a dónde debe ir un paquete, envíalo a través de la puerta de enlace con la dirección 192.168.1.1.
  • dev eth0: usamos la interfaz eth0.
  • 192.168.1.0/24: esta es una ruta para toda la subred 192.168.1.0/24. Los paquetes se quedan "en casa" en la red local.
  • proto y metric: parámetros adicionales, hablaremos de ellos más adelante.

3. Comando ip route

Visualización de rutas

Para ver la tabla de enrutamiento ya usamos ip route show. Puedes añadir filtros, por ejemplo, para determinar una ruta solo para la red local:

ip route show match 192.168.1.0/24

Agregar rutas

Puedes agregar una ruta estática – es como si colocaras un cartel de tráfico tú mismo. Por ejemplo, para redirigir todas las solicitudes a la subred 10.0.0.0/24 a través de una puerta de enlace específica:

sudo ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0

Vamos a desglosarlo:

  • 10.0.0.0/24 – subred de destino.
  • via 192.168.1.1 – puerta de enlace a través de la cual se envían los paquetes.
  • dev eth0 – interfaz por la cual los paquetes salen.

Eliminación de rutas

Si ya no quieres que la ruta exista, elimínala con el comando:

sudo ip route del 10.0.0.0/24

4. Práctica: Configuración de una ruta estática

  1. Asegúrate de que tienes acceso a otra subred.
  2. Añade una ruta:
sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
  1. Verifica la tabla de enrutamiento:
ip route show
  1. Elimina la ruta si ya no la necesitas.

5. Comando netstat

Cuando se trata de analizar conexiones actuales, netstat es el viejo amigo confiable del administrador del sistema (aunque ya tiene una alternativa más moderna – ss, de la que hablaremos más adelante).

Verificación de conexiones activas

netstat -tun

¿Qué significa esto?:

  • -t – muestra conexiones TCP.
  • -u – muestra conexiones UDP.
  • -n – usa direcciones numéricas (en lugar de nombres de host).

Ejemplo de salida:

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 192.168.1.100:22        192.168.1.50:50240      ESTABLISHED

¿Qué significa esto?:

  • Dirección local 192.168.1.100:22 – es tu computadora escuchando en el puerto 22 (SSH).
  • Dirección remota 192.168.1.50:50240 – es el host remoto que está conectado a tu puerto.
  • ESTABLISHED – es una conexión activa, se están transfiriendo datos.

Puertos en escucha

Para ver qué puertos están "escuchando" en tu computadora:

netstat -ltn

La bandera -l muestra solo los puertos en escucha, y -t y -n ya los discutimos.


6. El comando ss

Si netstat es un dinosaurio, entonces ss es como un DeLorean del futuro: funciona más rápido y proporciona más información.

Comprobación de conexiones activas

ss -tun

El output de ejemplo es similar a netstat, pero con mayor velocidad y más detalles.

Puertos de escucha

ss -tln

Es lo mismo que con netstat, pero usar ss es más cómodo y moderno.


7. Monitoreo de conexiones

  1. Usa netstat o ss para ver qué puertos está escuchando tu computadora.
  2. Abre una conexión SSH en otro dispositivo y verifica si aparece en la lista de conexiones.
  3. Intenta interpretar la salida de los comandos.

Nos hemos sumergido en el mundo del enrutamiento y monitoreo de conexiones: ahora puedes usar ip route para gestionar la tabla de rutas y netstat/ss para analizar conexiones de red. Estas herramientas son tu navaja suiza para resolver los problemas de red más complicados. ¿Tu amigo se queja de que "el internet no funciona"? ¡Saca tus nuevas habilidades y demuestra lo que sabes!

En la próxima clase será aún más interesante: vamos a explorar DNS y su magia. Mientras tanto, practica con ip route y mira cómo los paquetes encuentran su camino a casa.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION