Configurar conexión wifi en Linux por línea de comandos

  Es sabido que se conoce como wifi a una tecnología que permite la interconexión inalámbrica de dispositivos electrónicos. El término wifi como sustantivo común, escrito normalmente en redonda (sin comillas ni cursiva), proviene de la marca comercial Wi-Fi, que es una marca de la Alianza Wi-Fi, la organización comercial que cumple con los estándares 802.11 relacionados con redes inalámbricas de área local.
  Cada vez se hace más estandarizada la presencia de dispositivos habilitados con wifi (tales como ordenadores personales, teléfonos, televisores, videoconsolas, reproductores de música...), que pueden conectarse entre sí o a internet a través de un punto de acceso de red inalámbrica.
  Generalmente, los dispositivos informáticos poseen interfaz gráfica de escritorio donde es más sencillo configurar la tarjeta de red inalámbrica para que se conecte a la red wifi, pero, a veces, esa opción no existe, por lo que se debe configurar ésta desde una consola o una interfaz totalmente de línea de comandos.
  Si, además, el sistema operativo del dispositivo es de Linux, igual resulta más complicado al usuario realizar las configuraciones necesarias para que tenga este tipo de red.

PREPARATIVOS PREVIOS

   En primer lugar, dado que el equipo estará desconectado de la red inalámbrica, es necesario conectarlo por cable a algún dispositivo de distribución de red (punto de acceso, como el módem, repetidor o enrutador).
  En segundo lugar, se debe actualizar el propio sistema operativo mediante los comandos apt update y apt upgrade con permisos de administrador.
  En tercer lugar, se deben instalar los siguientes paquetes [comando apt install <nombre del paquete> con permisos de administrador (puede usarse el comando poniendo los nombres de los paquetes separados por un espacio)]:
  • wireless-tools (si no está instalado predeterminadamente).
  • net-tools (si no está instalado por defecto).
  • wpasupplicant.
  • Algún editor de texto de línea de comandos si el que hay no le parece apropiado al usuario (nano, vim, joe...).

DIAGNÓSTICO

   Es necesario asegurarse que el dispositivo detecta la tarjeta de red inalámbrica, lo que puede hacerse mediante los comandos comando ipconfig -a (mostrará todas las interfaces de red del equipo),  iwconfig (mostrará las tarjetas de red inalámbricas), o ip a s (mostrará todas las interfaces de red de un equipo cuyo sistema operativo no admita alguno de los dos anteriores, como Debian 9 y superiores).
  Si aparece el nombre de la tarjeta de red inalámbrica (que, según el sistema operativo suele llamarse "eth2", "wlan0", "ra0", "wlp2s0", etc.) es que la detecta.
 En caso contrario, hay que probar según la marca. Si, aún así, no es detectada, se puede buscar un controlador de la tarjeta de red inalámbrica para Linux, las marcas más típicas son:
  •   Ratlink: Mediante el comando apt-cache search ralink (usado con permisos de administrador).
  •   Atheros: Se suelen utilizar las herramientas del paquete "madwifi-tools" (hay que instalarlo junto al paquete "hostapd").
  •   Intel: Se debe instalar un firmware mediante el comando apt-cache search firmware | grep -i intel | grep -i firmware (usado con permisos de administrador).
  Otra opción es utilizar algún programa (por ejemplo, "ndiswrapper") para convertir el controlador de Windows para esa tarjeta de red inalámbrica en uno compatible con Linux.

CONFIGURACIÓN DE LA TARJETA

  Dependiendo del nivel de seguridad de la tarjeta (WEP o WPA), ésta se configura de un modo u otro.

WEP
  La privacidad equivalente a cableado ["Wired Equivalent Privacy" ("WEP"), en inglés], es el sistema de cifrado incluido en el estándar IEEE 802.11 como protocolo para redes inalámbricas que permite cifrar la información que se transmite. Proporciona un cifrado a nivel, basado en el algoritmo de cifrado RC4 que utiliza claves de 64 bits (40 bits más 24 bits del vector de iniciación IV) o de 128 bits (104 bits más 24 bits del IV). Los mensajes de difusión de las redes inalámbricas se transmiten por ondas de radio, lo que los hace más susceptibles, frente a las redes cableadas, de ser captados con relativa facilidad.
   Basta con modificar el archivo "interfaces" en la ruta "/etc/network/" mediante un editor de texto de línea de comandos con el comando <editor de texto> interfaces con permisos de administrador (otra opción es crear un archivo con la  misma configuración dentro de la ruta "/etc/network/interfaces.d/"). La configuración dentro del archivo debe ser:

auto <nombre de tarjeta de red inalámbrica>
iface
<nombre de tarjeta de red inalámbrica> inet dhcp
wireless-essid <nombre de la red wifi>
wireless-key <contraseña de la red wifi>

WPA
  El acceso wifi protegido ["Wi-Fi Protected Access" ("WPA"), en inglés] es un sistema para proteger las redes inalámbricas; creado para corregir las deficiencias del sistema previo. Los investigadores han encontrado varias debilidades en el algoritmo WEP [tales como la reutilización del vector de inicialización (IV), del cual se derivan ataques estadísticos que permiten recuperar la clave WEP, entre otros]. WPA implementa la mayoría del estándar IEEE 802.11i, y fue creado como una medida intermedia para ocupar el lugar de WEP mientras 802.11i era finalizado.

  Aquí es necesario emplear las herramientas del paquete "wpa_supplicant".
  Primeramente, se debe modificar el archivo "interfaces" en la ruta "/etc/network/" mediante un editor de texto de línea de comandos con el comando <editor de texto> interfaces con permisos de administrador (otra opción es crear un archivo con la  misma configuración dentro de la ruta "/etc/network/interfaces.d/"). La configuración dentro del archivo debe ser:


auto <nombre de tarjeta de red inalámbrica>
iface
<nombre de tarjeta de red inalámbrica> inet dhcp 
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

  A continuación, se debe editar el archivo "wpa_supplicant.conf" en la ruta "/etc/wpa_supplicant/" utilizando un editor de texto de línea de comandos mediante el comando <editor de texto> wpa_supplicant.conf con permisos de administrador. La configuración básica es:

network={
ssid="<nombre de la red wifi>"
psk=
<contraseña de la red wifi> 
}

  Pero si esta no funciona, se debe utilizar la siguiente:

ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=1
fast_reauth=1

network={

ssid="<nombre de la red wifi>"
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK

psk=<contraseña de la red wifi>
 priority=5
}

  Para mayor seguridad, es mejor restringir los permisos del archivo donde se encuentra la configuración de red ("interfaces" u otro) mediante el comando chmod 0600 <nombre del archivo> con permisos de administrador. Además, dado que las configuraciones van en un archivo de texto plano, se debe encriptar la contraseña mediante otra herramienta del wpa_supplicant y añadirla al archivo "wpa_supplicant.conf" [comando <su o sudo> -l -c "<contraseña encriptada> <nombre de la wifi> <contraseña de la red wifi> > /etc/wpa_supplicant/wpa_supplicant.conf" con permisos de administrador, pero sin haber iniciado sesión con un usuario administrador (si no se especifica una contraseña encriptada, el programa añadirá una aleatoria al añadir "wpa_passphrase" al principio del comando en lugar de la misma)]; esto comentará la línea "psk=<contraseña de la red wifi>", pondrá entre comillas la contraseña de red wifi, y  añadirá la siguiente línea bajo la misma:

psk=<contraseña encriptada>

  Después, se debe reiniciar el wpa_supplicant (comandos systemctl reenable wpa_supplicant.service y systemctl restart wpa_supplicant.service con permisos de administrador) y la red (comando systemctl restart networking.service con permisos de administrador).

  Si todo está correctamente configurado, puede comprobarse el resultado simplemente con el comando ping <dirección ip o URL de destino>, o bien utilizando el comando nslookup <URL de destino>.

  Espero que la presente entrada haya sido interesante para el lector. Si es así, aguardo que éste la comente y/o la comparta, por favor.

1 comentario:

  1. Es sabido que se conoce como wifi a una tecnología que permite la interconexión inalámbrica de dispositivos electrónicos. consejoscomunales.net/conquista-del-tahuantinsuyo-o-imperio-inca/

    ResponderEliminar

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.