ArchiTecnologia

Aprendizaje abierto. Conocimiento libre.

ArchiTecnologia
CertificacionesLinuxLPITutorial

LPIC-1 Tema 109.3: resolución de problemas de redes

Siguiente entrega sobre la serie de artículos de las certificaciones LPIC-1. Esta es referente al tema 109.3, es decir, la parte que se encarga de comprobar las competencias básicas de los futuros sysadmins sobre resolución de problemas de red básicos. En este caso, serán problemas referentes a las redes del lado del cliente.

Las preguntas del examen relacionadas con este tema intentarán averiguar si si sabes utilizar herramientas como iproute2, tanto para solventar problemas con interfaces de red como para problemas con el enrutamiento. Y también se tratarán algunas otras herramientas «legacy» (net-tools).

Herramientas a conocer para diagnosis y resolución de problemas

Las herramientas que te serán útiles para poder diagnosticar problemas de red, y resolverlos (siempre que no se trate de problemas de hardware), son:

El paquete net-tools está en desuso. Éste incluye herramientas como hostname, ifconfig, netstat, route, arp, etc.

  • ip: el comando ifconfig está en desuso, y se ha sustituido por este en los sistemas operativos modernos. Con él puedes mostrar información y también modificarla. Por ejemplo:
#Mostrar información de las interfaces de red, como las IPs, puerta de enlace,...
ip address

#Mostrar información de una interfaz específica
ip address show wlp2s0

#Mostrar estadísticas del uso de dispositivos de red
ip -s link

#O para una interfaz particular
ip -s link eth0

#Ver enrutamiento
ip route

#Asignar una IP a una interfaz
ip a add 192.168.1.75/24 dev wlp2s0

#Eliminar una IP asociada a una interfaz
ip a del 192.168.1.50/24 dev wlp2s0

#Habilitar y deshabilitar una interfaz de red
ip link set wlp2s0 up
ip link set wlp2s0 down

#Monitorizar las interfaces
ip monitor

#Ver la MAC de dispositivos conectados
ip neighbour
  • ss: Socket Statistics es una herramienta que puede superar a netstat, y que sirve para mostrar información sobre el socket de red en un sistema. Por ejemplo:
#Mostrar todas las conexiones
ss

#Listar los puertos que escuchan y los que no
ss -a

#Listar sockets a la escucha
ss -l

#Listar conexiones todas las TCP y solo las que escuchan respectivamente
ss -t
ss -lt

#Listar todas las UDP 
ss -ua

#Mostrar el PID de los procesos de las conexiones de sockets
ss -p
  • ping / ping6: estos comandos se usan para hacer ping (ICMP ECHO_REQUEST), es decir, enviar paquetes a una IP. El primero para IPv4, mientras que el segundo es para IPv6 (también se puede usar las opciones -4 y -6 para ping). Este comando es muy útil para comprobar si hay conexión o para determinar los tiempos de latencia. Por ejemplo:
#Comprobar la red local (los tres son equivalentes)
ping localhost
ping 0
ping 127.0.0.1

#Comprobar que existen conexión con otra máquina especificando su hostname o su IP
ping 192.168.1.7
ping google.es

#Especificar el tiempo de intervalos en los que se envía el ping a medio segundo
ping -i 0.5 google.es

#Especificar el tamaño de los paquetes enviados en bytes
ping -s 1000 192.168.6.4

#Limitar el número de paquetes enviados a 10
ping -c 10 google.es

#Ping audibles
ping -a 192.168.6.4
  • tracepath / tracepath6: rastrea la ruta a un host de red de forma similar a traceroute (pero a diferencia de éste, no necesita privilegios), pero también puede descubrir el MTU a través de el camino recorrido por los paquetes. Uno es para IPv4 y otro para IPv6 respectivamente.
#Seguir la ruta en y MTU usando el nombre de dominio o la IP
tracepath google.es
tracepath 192.168.4.7

#Puedes hacer que se imprima primero la IP numérica, o que se impriman la IP y el nombre de dominio respectivamente
tracepath -n google.es
tracepath -b google.es

#Especifica el máximo de hops a 4
tracepath -m 4 192.168.1.0

#Puede desingar el puerto destino inicial
tracepath -p 80 www.dominio.es

Ahora bien, en cuanto a las herramientas que están en desuso, pero que deberías conocer:

  • traceroute / traceroute6: muestra la ruta o saltos que siguen los paquetes desde el host. Nuevamente existen uno específico para IPv6. Puede servir de ayuda para identificar dónde está fallando una conexión, es decir, hasta donde llegan los paquetes y donde se están perdiendo o bloqueando. Por ejemplo:
#Enviar paquetes para listar la ruta que siguen
traceroute google.es
traceroute 192.168.44.4

#Se puede configurar también el tiempo de respuesta en segundos, en este caso medio segundo (0.5)
traceroute google.es -w 0.5

#Limitar el número de consultas a 10
traceroute 192.168.7.4 -q 10
  • netstat: es similar a ss, aunque más limitada. Pero sirve para lo mismo, permite ver estadísticas básicas de redes. Por ejemplo:
#Ver estadísticas del protocolo ICMP
netstat -s -p icmp

#Consultar datos de la interfaz de red cada 2 segundos
netstat -e 2

#Listar todos los puertos abiertos y conexiones activas
netstat -ano
  • netcat o nc: es una conocida herramienta para el análisis de red. Bastante conocida en el mundo hacker por ser una especie de navaja suiza de las redes. Por ejemplo:
#Puedes usarlo desde el lado de un servidor y dejar un puerto 2389 a la escucha
nc -l 2389

#Y desde otra máquina, o desde el lado del cliente, conectarse a dicho puerto. Puedes escribir mensajes para que lleguen al lado del servidor y viceversa. Es útil para comprobar conexiones. 
nc localhost 2389

#También podrías enviar archivos (estos son los comandos desde el lado del servidor y desde el lado del cliente respectivamente)
nc -l 2389 > test
cat testfile | nc localhost 2389

#Más información
man netcat
  • route: este comando muestra la tabla de enrutameinto que reside en el kernel y también puede modificarla. Es decir, se puede ver cómo se enrutan los paquetes a un host o modificar la forma en la que se hace. Por ejemplo:
#Mostrar la tabla de enrutamiento
route -n

#El resultado será una tabla con campos como Destination (IP de red o host destino), Gateway o puerta de enlace desde la que se alcanza al destino, Genmask (destino de máscara de subred), Flags para indicar el estado actual de la ruta, e Iface para la interfaz. Para más información:
man route

#Añadir una ruta estática a la tabla de enrutamiento del sistema con la IP destino, la máscara de subred destino, la puerta de enlace de la red destino y la interfaz a través de la que se enrutarán los paquetes
route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.4.1 dev eth0

#Eliminar una ruta de la tabla
route del -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.4.1 dev eth0

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar