Redes y conectividad (RSA-08)
En este apartado vamos a ver los comandos que te ayudan a entender y administrar la red en un sistema Linux.
Podrás comprobar la conexión, configurar interfaces, revisar puertos abiertos y diagnosticar problemas comunes de conectividad.
Comando: ip
Sintaxis Básica
Muestra información sobre interfaces de red, direcciones IP y estado de conexión.
Ejemplos:
$ ip a # Muestra interfaces y direcciones IP
$ ip link # Muestra el estado de cada interfaz
$ ip route # Muestra la tabla de enrutamiento
Sintaxis Avanzada
Permite modificar interfaces, añadir rutas o aplicar configuraciones temporales.
Ejemplos:
# ip link set eth0 down
# ip addr add 192.168.1.99/24 dev eth0
# ip route add default via 192.168.1.1
Comando: ping
Sintaxis Básica
Comprueba si un host está accesible y mide latencia de respuesta.
Ejemplos:
$ ping google.com
$ ping 8.8.8.8
Sintaxis Avanzada
Se usa con intervalos, cantidad de paquetes o condiciones de error.
Ejemplos:
$ ping -c 5 google.com
$ ping -i 0.2 servidor.local
$ ping -W 2 servidor_remoto
Comando: netstat / ss
Sintaxis Básica
Muestra las conexiones de red activas y los puertos en uso.
Ejemplos:
$ ss -tuln
$ netstat -tuln # Si está instalado
Sintaxis Avanzada
Usado para verificar servicios en escucha, conexiones abiertas y tráfico activo.
Ejemplos:
$ ss -tp | grep ssh
$ ss -s # Estadísticas resumidas
$ netstat -pant # Ver procesos conectados si está disponible
Comando: nmcli (NetworkManager)
Sintaxis Básica
Herramienta para administrar conexiones de red en sistemas con NetworkManager.
Ejemplos:
$ nmcli device status
$ nmcli connection show
Sintaxis Avanzada
Permite crear conexiones, configurar Wi-Fi, cambiar IPs y gestionar redes.
Ejemplos:
# nmcli con up id "WIFI_Hogar"
# nmcli con modify eth0 ipv4.addresses "192.168.1.10/24"
# nmcli device wifi list
Comando: curl / wget
Sintaxis Básica
Realizan solicitudes a servidores web y descargan archivos.
Ejemplos:
$ curl https://ejemplo.com
$ wget https://archivo.com/fichero.zip
Sintaxis Avanzada
Se usan en pruebas de respuesta, cabeceras HTTP, envío de datos o scripts automatizados.
Ejemplos:
$ curl -I https://ejemplo.com
$ curl -X POST -d "usuario=luisgulo" https://api.misitio.com/login
$ wget -r --no-parent https://sitio.com/documentacion/
Comando: traceroute / tracepath
Sintaxis Básica
Muestra el recorrido que siguen los paquetes hasta alcanzar un destino.
Ejemplos:
$ traceroute google.com
$ tracepath 8.8.8.8
Sintaxis Avanzada
Útil para diagnosticar problemas de salto o lentitud en conexiones.
Ejemplos:
$ traceroute -n sitio.com
$ tracepath -n servidor.local | tee ruta.log
Comando: dig / nslookup
Sintaxis Básica
Consulta información DNS de dominios y servidores.
Ejemplos:
$ dig ejemplo.com
$ nslookup ejemplo.com
Sintaxis Avanzada
Permite realizar consultas específicas, verificar registros MX, A, TXT o problemas de resolución.
Ejemplos:
$ dig +short ejemplo.com
$ dig ejemplo.com MX
$ nslookup -type=TXT ejemplo.com
Comandos para gestionar Wi-Fi
nmcli (NetworkManager)
Permite conectar, listar y configurar redes Wi-Fi desde la terminal.
Sintaxis Básica:
$ nmcli device wifi list
$ nmcli device wifi connect "SSID" password "clave_secreta"
Sintaxis Avanzada:
$ nmcli connection modify "SSID" ipv4.addresses "192.168.1.15/24"
$ nmcli connection up "SSID"
iwconfig
Muestra información sobre dispositivos inalámbricos en sistemas que usan herramientas wireless-tools
.
Sintaxis Básica:
$ iwconfig
Sintaxis Avanzada:
$ iwconfig wlan0 txpower 15 # Ajusta la potencia de transmisión
rfkill
Permite activar o desactivar dispositivos de red inalámbricos (Wi-Fi o Bluetooth).
Sintaxis Básica:
$ rfkill list
Sintaxis Avanzada:
# rfkill unblock wifi
# rfkill block bluetooth
Comandos para comprobar velocidad de red
speedtest-cli
Herramienta para medir velocidad de subida/bajada (requiere conexión a Internet).
Sintaxis Básica:
$ speedtest-cli
Sintaxis Avanzada:
$ speedtest-cli --bytes # Muestra resultados en bytes/s
$ speedtest-cli --share # Genera enlace con resultado
iperf3
Permite realizar pruebas de velocidad entre dos máquinas en red local.
Servidor:
$ iperf3 -s
Cliente (desde otro equipo):
$ iperf3 -c IP_DEL_SERVIDOR
Sintaxis Avanzada:
$ iperf3 -c IP_DEL_SERVIDOR -t 30 -i 5
$ iperf3 -c IP -u -b 100M # Prueba en modo UDP
Cerramos este apartado con tres bloques imprescindibles:
- Comandos de diagnóstico y visualización en tiempo real
- Captura de paquetes y herramientas de análisis de red
- Introducción breve a subredes y redes IP
Comandos de diagnóstico y visualización en tiempo real
tcpdump
Captura paquetes de red en tiempo real desde la terminal.
Sintaxis Básica:
# tcpdump -i eth0
Sintaxis Avanzada:
# tcpdump -i eth0 port 80 # Solo tráfico HTTP
# tcpdump -nn -v -i wlan0 # Sin resolución de nombres
# tcpdump -i any -w captura.pcap
iftop
Monitoriza el uso de ancho de banda por conexión activa (interfaz interactiva).
Ejemplo:
$ sudo iftop -i eth0
nload
Muestra en consola el tráfico de entrada y salida en tiempo real por interfaz.
Ejemplo:
$ sudo nload
bmon
Visualiza el tráfico por interfaz con gráficos ASCII.
Ejemplo:
$ bmon
Herramientas para análisis de redes
Wireshark
Analizador gráfico de protocolos. Permite ver el contenido de cada paquete.
- Captura en tiempo real o desde archivo
.pcap
- Filtrado por protocolos: TCP, UDP, DNS, TLS…
- Inspección detallada de cabeceras y cargas
tshark
Versión en línea de comandos de Wireshark.
$ tshark -i eth0
$ tshark -r captura.pcap -Y http
netdiscover / arp-scan
Detectan equipos conectados a la red local mediante peticiones ARP.
$ sudo netdiscover
$ sudo arp-scan --localnet
nmap
Escanea hosts y puertos para descubrir servicios expuestos.
$ nmap -sP 192.168.1.0/24 # Descubre hosts activos
$ nmap -sV -p 22,80 192.168.1.10 # Detecta versiones de servicios
$ nmap --script vuln 192.168.1.10
Introducción a subredes y redes IP
Una red IP está formada por dos partes:
- Identificador de red (network): define el segmento o subred
- Identificador de host: define el dispositivo específico dentro de esa red
La máscara de red determina cuántos bits pertenecen a cada parte.
Ejemplo
La dirección 192.168.1.10/24
:
192.168.1
→ red.10
→ host
La máscara /24
equivale a 255.255.255.0
, lo que permite hasta 254 hosts por red.
Otras máscaras comunes
CIDR | Máscara tradicional | Hosts disponibles | Clase |
---|---|---|---|
/8 | 255.0.0.0 | ~16 millones | A |
/16 | 255.255.0.0 | ~65 mil | B |
/24 | 255.255.255.0 | 254 | C |
/30 | 255.255.255.252 | 2 (para enlaces) | Subred pequeña |
Rango típico de red local
IP de red: 192.168.1.0
IP de router: 192.168.1.1
IP de broadcast: 192.168.1.255
Rango usable: 192.168.1.2 - 192.168.1.254
¿Para qué sirve subnetear?
- Separar grupos de equipos (red de oficina vs. red de servidores)
- Limitar el tamaño de una red para evitar congestión
- Aumentar la seguridad segmentando servicios
Herramientas para cálculo y visualización de subredes
ipcalc
Calculadora de subredes en terminal. Permite obtener información detallada sobre una red IP y su máscara.
Ejemplos:
$ ipcalc 192.168.1.10/24
Salida típica:
Address: 192.168.1.10
Netmask: 255.255.255.0 = 24
Network: 192.168.1.0
Broadcast: 192.168.1.255
HostMin: 192.168.1.1
HostMax: 192.168.1.254
Hosts/Net: 254
Opciones avanzadas:
$ ipcalc -b 10.0.0.0/16 # Muestra uso binario
$ ipcalc -n -m 192.168.2.33/27 # Muestra sólo red y máscara
subnetcalc
Herramienta similar a ipcalc
, especialmente útil en redes IPv6 o cálculos más técnicos.
Ejemplos:
$ subnetcalc 192.168.1.0/28
Opciones comunes:
$ subnetcalc --ipv6 2001:db8::/64
$ subnetcalc -i eth0 # Detecta IP de interfaz y calcula subred
Ruteo básico en Linux
Linux mantiene una tabla de rutas para saber por qué interfaz enviar cada paquete.
Ver tabla de rutas
$ ip route
Añadir o modificar rutas
# ip route add default via 192.168.1.1
# ip route add 192.168.2.0/24 via 192.168.1.254
Eliminar rutas
# ip route del 192.168.2.0/24
Rutas estáticas persistentes
En Debian/Ubuntu se definen en /etc/network/interfaces
o en NetworkManager. En Red Hat/CentOS suelen ir en archivos como /etc/sysconfig/network-scripts/route-<interfaz>
.
Ejemplo de subneteo sencillo
Caso: Dividir la red 192.168.1.0/24
en 4 subredes iguales
La red /24
tiene 256 direcciones. Si la dividimos en 4 subredes:
- Cada subred será de /26 → 64 direcciones (62 utilizables)
- Subredes generadas:
Subred | Rango de hosts | Broadcast |
---|---|---|
192.168.1.0/26 | 192.168.1.1 - 192.168.1.62 | 192.168.1.63 |
192.168.1.64/26 | 192.168.1.65 - 192.168.1.126 | 192.168.1.127 |
192.168.1.128/26 | 192.168.1.129 - 192.168.1.190 | 192.168.1.191 |
192.168.1.192/26 | 192.168.1.193 - 192.168.1.254 | 192.168.1.255 |
¿Cómo se calcula?
Usas ipcalc
o haces la división manual:
$ ipcalc 192.168.1.0/26
$ ipcalc 192.168.1.64/26
...
¿Para qué sirve?
- Separar áreas: red de usuarios, red de servidores, red para cámaras de seguridad
- Gestionar tráfico o aplicar reglas de firewall por segmentos
- Limitar rangos DHCP
¿Qué es una “red de cámaras”?
Una red de cámaras es un segmento de red donde se conectan múltiples dispositivos de videovigilancia —como cámaras IP— para que transmitan vídeo en tiempo real, graben imágenes, y sean gestionadas desde servidores, grabadores (NVR) o aplicaciones.
Características comunes:
- Rango separado o subred dedicada: suele usarse una subred específica (ej.
192.168.2.0/24
) para cámaras, separada de los equipos de usuario. - Consumo intensivo de ancho de banda: las cámaras transmiten vídeo, por lo que su tráfico puede afectar al rendimiento de la red si no se segmenta.
- Gestión centralizada: el tráfico se suele dirigir hacia un servidor de grabación, una consola web o software tipo ZoneMinder, iSpy, Milestone, etc.
- Acceso remoto protegido: mediante VPN, firewall o acceso externo restringido.
Ejemplo de red de cámaras en un esquema de red local:
- Red de usuarios:
192.168.1.0/24
- Red de cámaras:
192.168.2.0/24
- Un router conecta ambas redes, y puede aplicar reglas para limitar acceso entre ellas.
Segmentar una red así permite mejorar la seguridad (las cámaras son vulnerables si están mal configuradas), gestionar la calidad del vídeo, y evitar que se mezclen con el tráfico de navegación de usuarios.
Tabla comparativa de herramientas comunes de red
Herramienta | Función principal | Uso básico | Entorno típico |
---|---|---|---|
ping | Comprobar conectividad y latencia | ping ejemplo.com | Diagnóstico rápido |
traceroute | Ver recorrido de paquetes hasta destino | traceroute google.com | Problemas de salto/lentitud |
ss / netstat | Ver puertos y conexiones activas | ss -tuln / netstat -tuln | Auditoría y seguridad |
nmcli | Configurar interfaces (NetworkManager) | nmcli device status | Entornos de escritorio |
ip | Ver y modificar configuración IP | ip a , ip route | Administración de red |
dig / nslookup | Consultar DNS | dig dominio.com / nslookup dominio | Fallos en resolución DNS |
nmap | Escaneo de puertos y servicios | nmap -sP 192.168.1.0/24 | Auditoría y pentesting |
tcpdump | Captura de paquetes | tcpdump -i eth0 | Análisis profundo de tráfico |
iperf3 | Medir velocidad entre dos equipos | iperf3 -s / iperf3 -c IP | Redes internas |
speedtest-cli | Medir velocidad contra Internet | speedtest-cli | Velocidad pública |
wifi / iwconfig | Ver info y ajustar Wi-Fi | iwconfig wlan0 | Sistemas ligeros o portátiles |