05 Redes en Linux
Published Apr 7, 2023
🧠 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
a172.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
- Revisa tu IP privada con
ip addr show
. - Cambia tu IP temporalmente con
ip addr add
. - Usa
ping
ytraceroute
para probar conectividad. - Cambia tu MAC Address con
ifconfig
y verifica el cambio. - 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
ywireshark
. - Aprende a configurar archivos en
/etc/netplan/
o/etc/network/interfaces
. - Consulta
man ip
,man ifconfig
yman nmcli
para más detalles.