Configurar Wi-Fi en Linux

Septiembre 2017


Wi-Fi en Linux


Este tutorial está dirigido a las personas que utilizan las distribuciones Linux (ubuntu, xandros).

El tutorial se basa directamente en los gestores de paquetes en línea de comandos para librarse de la interfaz gráfica utilizada (KDE, gnomo), pero podríamos instalar estos paquetes vía synaptic, adept u otro asistente gráfico. Además, en este tutorial, te guiamos a modificar directamente los archivos de configuración de red para abstraerse de asistentes eventuales (como Network Manager) y de su interfaz gráfica.

Sin embargo, cada vez más Linux permite (si la tarjeta Wi-Fi funciona bien con Linux) conectarse a una red inalámbrica muy fácilmente. El objetivo de este tutorial es detallar paso a paso toda instalación manual del Wi-Fi en Debian u otra distribución derivada.

En este tutorial se hablará sólo de comandos que hay que ingresar en un terminal y se abstraerá completamente de la interfaz gráfica utilizada.

Se recomienda leer: Iniciar una Terminal

Primera etapa: diagnóstico

Las tarjetas Wi-Fi son cada vez más reconocidas y a menudo todo funciona directamente. El Wi-Fi se configura con iwconfig, que pertenece al paquete wireless-tools.

1) En Debian, este paquete no está presente por defecto (en Ubuntu pasar a la etapa 2). Para instalarlo:

sudo aptitude update     
sudo aptitude safe-upgrade
sudo aptitude install wireless-tools


Evidentemente, esto supone tener otro medio de conectarse (ethernet). Sino, encuentra la dirección de los paquetes que aptitude busca descargar, recupérela (por ejemplo en un sistema donde el Wi-Fi funciona) y ponla en /var/cache/apt/archivos. Luego reactiva el comando:

sudo aptitude install wireless-tools


2) Aparece en una lista ahora las tarjetas disponibles. En los portátiles, verifica que el interruptor de la tarjeta Wi-Fi esté activado (el diodo debería estar encendido aunque en Linux esto no quiere decir grande cosa):

(mando@cenedra) (~) $ /sbin/iwconfig     
lo no wireless extensions.

eth0 no wireless extensions.

wmaster0 no wireless extensions.

eth1 IEEE 802.11g ESSID:"xxxxx" Nickname:""
Mode:Managed Frequency:2.412 GHz Access Point: xx:xx:xx:xx:xx:xx
Bit Rate=48 Mb/s Tx-Power=27 dBm
Retry min limit:7 RTS thr:off Fragment thr=2346 B
Power Management:off
Link Quality=57/100 Signal level=-74 dBm Noise level=-96 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0


En este ejemplo, todo está bien, una tarjeta Wi-Fi nombrada eth1 ha sido encontrada. Según la máquina y la marca, la tarjeta puede llamarse de otro modo (eth2, wlan0, ra0, etc.) la única cosa que cuenta, es lo que aparece en iwconfig. Si la tarjeta no aparece en el iwconfig, es porque la tarjeta no ha sido detectada. En este caso, pasa a la segunda etapa, sino pasa directamente a la tercera etapa.

La segunda etapa: la tarjeta no es reconocida

Si la tarjeta no es reconocida directamente, hay que probar según la marca.

Si la tarjeta no es detectada, adopta la gestión siguiente.

1) Busca un driver Linux.

Para los ralink:

(mando@cenedra) (~) $ apt-cache search ralink     
rt2400-source - source for rt2400 wireless network driver
rt2500-source - source for rt2500 wireless network driver
rt2570-source - source for rt2570 wireless network driver


Para los ateros, utiliza por ejemplo madwifi.

Para los Intel, hay que instalar un firmware:

(mando@aldur) (~) $ apt-cache search firmware | grep -i intel | grep -i firmware     
firmware-ipw2x00 - Binary firmware for Intel Pro Wireless 2100, 2200 and 2915
firmware-iwlwifi - Binary firmware for Intel Wireless 3945 and 4965


2) Convertir el driver windows con ndiswrapper. Puedes seguir los pasos del enlace siguiente:
ndiswrapper

Tercera etapa: configurar la tarjeta

El punto de acceso distribuye dinámicamente (por DHCP) una dirección IP, rutas, DNS, lo que es el caso de la mayoría de los puntos de acceso Wi-Fi.

En las últimas distribuciones, en lugar de ir a modificar los archivos de configuración de control, utilizaremos una interfaz gráfica por ejemplo Network Manager. Esto significa que la mayoría de las veces, lo que será indicado a continuación no necesita ser realizado.

Si no deseas o no puedes usar Network Manager, el método "manual" es detallado a continuación.

En WEP

Basta con modificar el archivo /etc/network/interfaces conforme a este ejemplo escribiendo en root o con sudo:

sudo nano /etc/network/interfaces


Luego, se modifica la sección relativa a la tarjeta (aquí eth1) sin tocar el resto:

auto eth1     
iface eth1 inet dhcp
wireless-essid My_EssiD
wireless-key 1234567890ABCDEF


Donde 1234567890ABCDEF designa la clave WEP. Escribe bien el ESSID. Guardamos y salimos (Ctrl + X).

En WPA

Es apenas más complicado, pero hay que previamente instalar wpa_supplicant. Si sólo la conexión Ethernet es posible y este paquete falta, reproduce el paso propuesto en la primera etapa para recuperar wpa_supplicant y sus dependencias:

sudo aptitude install wpasupplicant


Enseguida, corrige /etc/network/interfaces:

sudo nano /etc/network/interfaces


Y modifica la sección correspondiente a la tarjeta Wi-Fi (aquí eth1):

auto eth1     
iface eth1 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf


Guardamos y salimos (Ctrl + X). Es necesario configurar wpa_supplicant:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf


En este archivo, escribe:

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

network={
ssid="Mon_EssiD"
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
psk=1234567890ABCDEF
priority=5
}


Donde 1234567890ABCDEF designa la clave WPA. Ten cuidado al ingresar el ESSID. Guardamos y salimos (Ctrl + X).

Nota: en las versiones recientes, parece que la clave WPA puede ser directamente configurado en /etc/network/interfaces y que no haya forzosamente necesidad de wpa_supplicant.

Cuarta etapa: conectarse al punto de acceso

1) Prepara el router:
  • Si posees un enrutador Wi-Fi efectuando un filtrado en la dirección MAC, añada previamente la dirección MAC de tu tarjeta Wi-Fi en la lista de las interfaces autorizadas por tu enrutador, conectándole en ethernet o USB a la interfaz de tu enrutador. Puedes recuperar esta dirección con el comando ifconfig:


(mando@cenedra) (~) $ /sbin/ifconfig     
...
eth1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet adr:192.168.0.13 Bcast:192.168.0.255 Masque:255.255.255.0
...


2) Conecta la interfaz.

Dado que /etc/network/interfaces está listo, podemos directamente utilizar ifup (conecta la interfaz) y ifdown (desconecta la interfaz):

sudo ifup eth1


Nota que esto equivale a:

sudo ifconfig eth1 up     
sudo dhclient eth1


Si todo funciona bien, esto debería parecerse a:

(mando@cenedra) (~) $ sudo dhclient eth1     
[sudo] password for root:
Internet Systems Consortium DHCP Client V3.0.6
Copyright 2004-2007 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

wmaster0: unknown hardware address type 801
wmaster0: unknown hardware address type 801
Listening on LPF/eth1/00:19:d2:4d:2e:f5
Sending on LPF/eth1/00:19:d2:4d:2e:f5
Sending on Socket/fallback
DHCPREQUEST of 192.168.0.13 on eth1 to 255.255.255.255 port 67
....
DHCPACK of 192.168.0.13 from 192.168.0.254
bound to 192.168.0.13 -- renewal in 343576 seconds


Aquí la tarjeta Wi-Fi recibió el IP local 192.168.0.13

A priori, si el DHCPACK funcionó, todo debería estar bien ya que se recibió rutas y DNS. Para asegurar:

/sbin/route -n     
cat /etc/resolv.conf


Se puede verificar que todo funciona bien:

nslookup www.google.fr     
ping -c2 www.google.fr

¿Aún tienes problemas?

Si aún tienes problemas basta con hacer una pregunta en el foro de Linux

Piense en precisar:
  • Tu modelo de tarjeta Wi-Fi
  • Tu distribución
  • Tu tipo de enrutador


Habrá también que reportar los resultados de los siguientes comandos de diagnóstico:

/sbin/iwconfig     
/sbin/ifconfig
/sbin/route -n
cat /etc/resolv.conf
nslookup www.google.fr
ping -c2 www.google.fr


Y el contenido de los archivos de configuración Wi-Fi:

cat /etc/network/interfaces     
cat /etc/wpa_supplicant/wpa_supplicant.conf


Puedes anonimizar las claves (WEP, WPA) que podrían aparecer durante el iwconfig y en los archivos de configuración.

Consulta también

Publicado por Carlos-vialfa. Última actualización: 13 de octubre de 2014 a las 21:09 por Jeff.
El documento «Configurar Wi-Fi en Linux» se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo libremente. No olvides citar a CCM (es.ccm.net) como tu fuente de información.