Cómo configurar y conectar wifi en Linux: Ubuntu, Debian...
¿Utilizas distribuciones Linux (Ubuntu, Mint, Debian…) en tu PC? Si necesitas configurar y activar tu conexión wifi, en este tutorial te explicamos cómo hacerlo paso a paso desde la consola.
¿Cómo configurar y conectar el wifi desde la Terminal en tu PC Linux?
- Qué debes saber antes de empezar
Este tutorial se basa directamente en los gestores de paquetes en línea de comandos que permiten librarnos de la interfaz gráfica utilizada (KDE, gnomo...). Podríamos instalar estos paquetes vía synaptic, adept u otro asistente gráfico.
Aquí te guiamos para que seas capaz de modificar directamente los archivos de configuración de red para evitar los asistentes eventuales (como Network Manager) y su interfaz gráfica. Sin embargo, Linux permite cada vez más (si la tarjeta Wi-Fi funciona correctamente) conectarse a una red inalámbrica de manera sencilla.
El objetivo de este tutorial es detallar paso a paso toda instalación manual del Wi-Fi en Debian u otra distribución derivada. Te hablaremos solo de comandos que hay que ingresar en un terminal. Antes de empezar, te recomendamos leer: Iniciar una Terminal
- Primera etapa: diagnóstico
Las tarjetas Wi-Fi son cada vez más reconocidas y a menudo todo funciona sin problemas. 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
Esto supone tener otro medio para conectarse (cable ethernet). Si no, encuentra la dirección de los paquetes que aptitude busca descargar y recupérala (por ejemplo, en un sistema donde el Wi-Fi funciona) y sitúala en /var/cache/apt/archivos. A continuación reactiva el comando:
sudo aptitude install wireless-tools
2) Aparecen en una lista ahora las tarjetas disponibles. En los portátiles, verifica que el interruptor de la tarjeta Wi-Fi esté activado (el LED debería estar encendido, aunque en Linux esto no quiere decir gran 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 es correcto: 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.). Lo realmente importante es lo que aparece en iwconfig. Si la tarjeta no aparece en iwconfig es porque la tarjeta no ha sido detectada. En este caso, pasa a la segunda etapa o directamente a la tercera etapa.
- Segunda etapa: la tarjeta no es reconocida
Si la tarjeta no es reconocida directamente hay que probar según la marca. Si no es detectada, haz lo 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… Este 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 necesitará ser realizado. Si no deseas o no puedes usar Network Manager, el método "manual" es detallado a continuación:
En WEP
1) Basta con modificar el archivo /etc/network/interfaces conforme a este ejemplo escribiendo en root o con sudo:
sudo nano /etc/network/interfaces
2) A continuación 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
3) Donde 1234567890ABCDEF designa la clave WEP. Escribe bien el ESSID. Guardamos y salimos ( con Ctrl + X).
En WPA
1) Previamente hay que 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
2) Después corrige /etc/network/interfaces:
sudo nano /etc/network/interfaces
3) 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
4) Guardamos y salimos (Ctrl + X). Es necesario configurar wpa_supplicant:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
5) 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 }
6) 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 configurada 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ñade previamente la dirección MAC de tu tarjeta Wi-Fi en la lista de las interfaces autorizadas por tu enrutador conectándolo 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:
Cuando /etc/network/interfaces está listo,podemos utilizar ifup (conecta la interfaz) e ifdown (desconecta la interfaz) directamente:
sudo ifup eth1
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. Pues recibió rutas y DNS. Para asegurar:
/sbin/route -n cat /etc/resolv.conf
Se puede verificar que todo funciona bien con:
nslookup www.google.fr ping -c2 www.google.fr
¿Qué hacer si aún tienes problemas?
Si aún tienes problemas, puedes hacer una pregunta en el Foro de CCM en la sección dedicada a Linux.
Es importante precisar:
- Tu modelo de tarjeta Wi-Fi.
- Tu distribución.
- Tu tipo de enrutador.
Habrá que reportar también 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.