Cómo funciona realmente la conexión WiFi en Linux

Cuando conectas un sistema Linux a una red WiFi, no estás simplemente introduciendo una contraseña. En realidad intervienen varios componentes del sistema operativo que gestionan el hardware, la autenticación inalámbrica y la configuración de red.

Linux no tiene “WiFi” como una funcionalidad única. Lo que tiene son interfaces de red gestionadas por el kernel. Algunas de esas interfaces utilizan cable (Ethernet) y otras radiofrecuencia (WiFi), pero desde el punto de vista del sistema ambas funcionan de forma muy similar.

Capas que intervienen en una conexión WiFi

  • Kernel de Linux: controla el hardware de red.
  • Driver del adaptador inalámbrico.
  • wpa_supplicant: gestiona autenticación WPA/WPA2/WPA3.
  • NetworkManager o dhcpcd: gestionan la conexión.
  • Cliente DHCP: obtiene dirección IP.
  • Tabla de rutas del kernel.

Identificar interfaces de red

Antes de conectar a una red WiFi necesitamos conocer qué interfaz inalámbrica tiene el sistema.

ip link show

En el resultado aparecerán las interfaces disponibles. Las inalámbricas suelen tener nombres como wlan0 o wlp2s0.

El nombre moderno de interfaces sigue el sistema Predictable Network Interface Names. Por ejemplo:

  • wl → wireless
  • p2 → bus PCI
  • s0 → slot

Escanear redes WiFi disponibles

Si utilizamos NetworkManager podemos ver las redes disponibles con el siguiente comando:

nmcli device wifi list

Este comando ordena al adaptador inalámbrico que escanee los canales disponibles y muestre los puntos de acceso detectados junto con su nivel de señal y tipo de cifrado.

Conectarse a una red WiFi

Para conectarse a una red utilizando NetworkManager podemos usar el siguiente comando:

nmcli device wifi connect "NOMBRE_RED" password "CONTRASEÑA"

Este comando realiza automáticamente varias acciones:

  • crea un perfil de conexión
  • lanza wpa_supplicant para la autenticación WPA
  • solicita una dirección IP mediante DHCP
  • configura rutas y DNS

Los perfiles de conexión se almacenan normalmente en:

/etc/NetworkManager/system-connections/

Diagnóstico básico de red

Ver dirección IP

ip addr

Ver rutas de red

ip route

Probar conectividad

ping 8.8.8.8

Si responde, significa que la conectividad IP es correcta.

Configurar IP estática

En algunos casos puede ser necesario configurar una dirección IP fija en lugar de utilizar DHCP.

nmcli connection modify "MiRed" \
ipv4.method manual \
ipv4.addresses 192.168.1.50/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns 8.8.8.8

Después se reactiva la conexión:

nmcli connection up "MiRed"

Configuración en Raspberry Pi con dhcpcd

En Raspberry Pi OS la red suele gestionarse mediante wpa_supplicant y el cliente DHCP llamado dhcpcd.

El archivo de configuración principal es:

/etc/dhcpcd.conf

Ejemplo de IP estática:

interface wlan0
static ip_address=192.168.1.60/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8

Conexión manual con wpa_supplicant

En entornos minimalistas o servidores se puede configurar WiFi manualmente.

/etc/wpa_supplicant/wpa_supplicant.conf

Ejemplo de configuración:

network={
    ssid="MiRed"
    psk="contraseña"
}

Después iniciamos la conexión:

wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

Y obtenemos IP:

dhcpcd wlan0

Modo monitor WiFi (auditoría)

Los adaptadores WiFi pueden funcionar en distintos modos. El modo monitor permite escuchar todo el tráfico inalámbrico sin conectarse a una red.

iw list

Si el adaptador soporta monitor mode aparecerá listado en las capacidades.

Activar modo monitor

ip link set wlan0 down
iw dev wlan0 set type monitor
ip link set wlan0 up

Capturar tráfico

tcpdump -i wlan0

Esto permite analizar paquetes WiFi, canales, clientes conectados y tráfico broadcast.

Buenas prácticas

  • No guardes contraseñas WiFi en scripts.
  • En servidores evita redes inalámbricas si es posible.
  • Comprueba siempre IP, rutas y DNS cuando haya problemas de red.
  • Utiliza modo monitor solo en entornos de auditoría controlados.

Comentarios

Deja una respuesta

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

Nivel:

archivos arranque backup buscar completa conexiones configuración copiar copias de seguridad cortafuegos cpu deshabilitar disco escaneo espacio espacio ocupado filtrar firewall habilitar herramienta incremental inicio interfaz lectura listar log mantenimiento monitorización monousuario patrones procesos pruebas ram recursos red redes seguridad servicios sincronización sockets tcp texto udp uso ver

  • mkdir

    Descripción El comando mkdir (Make Directory) se utiliza para crear directorios en sistemas Linux y Unix. Es una de las herramientas más básicas y utilizadas…

  • hostnamectl

    Descripción El comando hostnamectl permite consultar y modificar el nombre del equipo (hostname) y otra información relacionada con el sistema en distribuciones Linux que utilizan…

  • uname

    Descripción El comando uname (Unix Name) se utiliza para mostrar información sobre el sistema operativo y el kernel en ejecución. Es una herramienta sencilla pero…

  • ack

    Descripción El comando ack es una herramienta de búsqueda de texto diseñada especialmente para desarrolladores y administradores de sistemas. Su objetivo es encontrar cadenas de…

  • find

    Descripción: El comando find se utiliza para buscar archivos y directorios dentro del sistema de archivos en Linux. Permite localizar elementos por nombre, tipo, tamaño,…

  • journalctl

    Descripción: El comando journalctl es la herramienta para consultar los registros del sistema gestionados por systemd-journald. Permite visualizar logs del sistema operativo, servicios, kernel, arranques…

  • nmap

    Descripción: El comando nmap (Network Mapper) es una herramienta avanzada para descubrimiento de hosts y escaneo de puertos. Permite identificar equipos activos en una red,…

  • ip

    Descripción: El comando ip (del paquete iproute2) es la herramienta moderna de Linux para administrar y diagnosticar la red: interfaces, direcciones IP, rutas, tabla ARP/vecinos…

  • tcpdump

    Descripción: El comando tcpdump es una herramienta de captura y análisis de tráfico de red en tiempo real. Permite inspeccionar paquetes que pasan por una…

  • top

    Herramienta de monitorización del sistema en tiempo real que muestra información sobre los procesos que se están ejecutando en un sistema Unix o Linux.