05 Redes en Linux

Published Apr 7, 2023

Linuxnetworking

🧠 Introducción

Aprender redes en Linux es una habilidad clave si quieres administrar servidores, desarrollar aplicaciones o realizar pruebas de seguridad (pentesting). Las redes son el canal de comunicación entre todos los dispositivos, y dominar cómo funcionan te da control total sobre tu entorno.

En esta lección, veremos los fundamentos de redes en Linux y aprenderás a configurar y diagnosticar redes usando herramientas como ip, ifconfig, ping y más.

1. ¿Qué es "Networking" en Linux?

En Linux, las conexiones de red se manejan a través de interfaces, que representan conexiones físicas (como un cable Ethernet) o virtuales (como la interfaz lo para pruebas locales).

Cada interfaz tiene parámetros clave:

  • Dirección IP: Identifica a tu dispositivo en una red.
  • Máscara de subred: Define cuántos dispositivos pueden estar en esa red.
  • Broadcast: Envía paquetes a todos los dispositivos de la red.
  • MAC Address: Identificador único de la tarjeta de red.

2. Comandos Básicos para Redes

🧰 ifconfig (herramienta clásica)

Aunque está en desuso, sigue disponible en muchas distribuciones. Se utiliza para ver y modificar la configuración de red.

ifconfig

Muestra interfaces como:

  • eth0: Conexión cableada (Ethernet)
  • lo: Loopback (localhost)
  • docker0: Interfaces creadas por Docker

Ejemplo: Cambiar IP y reiniciar la interfaz

sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
sudo ifconfig eth0 down
sudo ifconfig eth0 up

🧪 ip (herramienta moderna recomendada)

Reemplazo de ifconfig. Forma parte del paquete iproute2.

  • Ver interfaces:
ip addr show
  • Asignar IP:
sudo ip addr add 192.168.1.100/24 dev eth0
  • Ver gateway y rutas:
ip route show
  • Agregar gateway:
sudo ip route add default via 192.168.1.1

✅ Recomendación: Usa ip siempre que puedas. Es más completo y actualizado.

3. Conceptos Clave de Redes

📍 Dirección IP

Puede ser:

  • Privada: para redes internas. Ej:
    • 192.168.0.x
    • 10.x.x.x
    • 172.16.0.0 a 172.31.255.255
  • Pública: visible desde Internet, asignada por tu proveedor.

Cómo verlas:

  • IP privada:
ip addr show
  • IP pública:
curl ifconfig.me

🔎 Tip: Normalmente compartes una IP pública con otros dispositivos vía NAT.

🧮 Máscara de Subred

Define cuántos dispositivos puede haber en tu red. Se usa el formato CIDR (/24, /16, etc.).

Ejemplo: Para /24 hay 254 hosts disponibles:

hosts = (2**(32-24))-2
print(hosts)  # Resultado: 254

📡 Broadcast

Es la última IP del rango. Se usa para enviar mensajes a todos los dispositivos en una red local.

🆔 MAC Address

Es la dirección física única de tu tarjeta de red. Tiene el formato 00:11:22:33:44:55.

🔁 Loopback (lo)

Una interfaz interna del sistema, apunta a ti mismo. Útil para pruebas.

ping 127.0.0.1

🚪 Gateway

La IP del dispositivo (normalmente el router) que te permite salir a Internet.

ip route show
# Mira la línea que dice:
# default via 192.168.1.1 dev eth0

⚙️ DHCP y NAT

  • DHCP: asigna IPs automáticamente.
  • NAT: permite que varias IPs privadas compartan una IP pública para navegar por Internet.

🔌 nmcli (NetworkManager CLI)

Permite administrar conexiones y Wi-Fi desde la terminal.

nmcli device status
nmcli radio wifi off
nmcli radio wifi on

4. Diagnóstico de Conectividad

🔄 Ping

Verifica si hay respuesta desde otro dispositivo.

ping 8.8.8.8

⚠️ Algunos servidores desactivan respuestas ICMP por seguridad. No siempre que falle ping significa que no hay conexión.

🌍 Traceroute

Muestra los "saltos" que hace tu conexión hasta llegar a un destino.

traceroute google.com

🔎 Netstat

Muestra conexiones activas y puertos abiertos.

netstat -tuln

🌐 Curl y Wget

  • Ver cabeceras HTTP:
curl -I https://example.com
  • Descargar archivos:
wget https://example.com/file.zip

5. Ejemplo Completo: Cambiar Configuración de Red

🛠️ Cambiar IP y netmask

sudo ifconfig eth0 192.168.1.150 netmask 255.255.255.0

🧪 Probar conectividad

ping 192.168.1.1

🎭 Cambiar MAC Address (MAC Spoofing)

sudo ifconfig eth0 down
sudo ifconfig eth0 hw ether 02:42:ac:11:00:02
sudo ifconfig eth0 up

🔍 Verificar cambios

ifconfig eth0

🧠 Conclusión

Dominar redes en Linux te da superpoderes como administrador, desarrollador o pentester. Aprendiste a usar comandos esenciales, diagnosticar problemas de conectividad, y manipular configuraciones como IPs y direcciones MAC.

🧪 Práctica Recomendada

  1. Revisa tu IP privada con ip addr show.
  2. Cambia tu IP temporalmente con ip addr add.
  3. Usa ping y traceroute para probar conectividad.
  4. Cambia tu MAC Address con ifconfig y verifica el cambio.
  5. Explora nmcli y observa el estado de tus interfaces.

❗ Los cambios con ip o ifconfig se pierden al reiniciar. Si quieres hacerlos permanentes, deberás modificar archivos de configuración.

📘 Próximos Pasos

  • Practica configuraciones en una red local o entorno virtual seguro.
  • Investiga herramientas como tcpdump, ss, nmap y wireshark.
  • Aprende a configurar archivos en /etc/netplan/ o /etc/network/interfaces.
  • Consulta man ip, man ifconfig y man nmcli para más detalles.