Gentoo Logo

Renuncia de responsabilidad: Este manual ha sido sustituido por una versión más reciente y no tendrá soporte de aquí en adelante.


[ << ] [ < ] [ Inicio ] [ > ] [ >> ]


4. Redes Inalámbricas

Contenido:

4.a. Introducción

Las redes inalámbricas en Linux, normalmente se configuran de forma fácil. Hay dos formas de realizar esta configuración: clientes gráficos y la línea de comandos.

La forma más fácil es usar el cliente gráfico, una vea haya instalado un entorno de escritorio. La mayoría de clientes gráficos, como wicd y NetworkManager, son bastante autoexplicativos. Ofrecen una interfaz del tipo apuntar y hacer clic que le conectan a una red en cuestión de segundos.

Nota: wicd ofrece una utilidad de línea de comandos además de la interfaz gráfica principal. Puede obtenerla haciendo emerge de wicd con el ajuste USE ncurses activado. Esta utilidad wicd-curses es particularmente útil para aquéllos que no usan un entrono de escritorio basado en gtk, pero quieren una herramienta de línea de comandos fácil que no requiere configuración a mano de los ficheros.

Sin embargo, si no quiere usar un cliente gráfico, puede configurar la red inalámbrica con la línea de comandos, editando unos pocos ficheros de configuración. Esto toma un poco más de tiempo, pero también requiere de menos paquetes que descargar e instalar. Ya que los clientes gráficos son en su mayoría autoexplicativos (con capturas de pantalla útiles en sus páginas oficiales), nos centraremos en las alternativas de línea de comandos.

Puede configurar una red inalámbrica usando la línea de comandos, instalando wireless-tools o wpa_supplicant. Lo importante a recordar es que puede configurar las redes locales de forma global, no dependiendo de la interfaz.

La mejor opción es wpa_supplicant. Para un listado de los controladores soportados, lea la página de wpa_supplicant. Además, actualmente, wpa_supplicant sólo puede conectarse a SSIDs para los cuales haya sido configurado.

Los wireless-tools soportan casi todas las tarjetas y controladores, pero no puede conectarse a PAs (puntos de acceso) con WPA solamente. Si sus redes ofrecen únicamente cifrado WEP o están completamente abiertas, puede que prefiera la simpleza de wireless-tools.

Aviso: Actualmente el controlador linux-wlan-ng no está soportado por baselayout. Esto es debido a que linux-wlan-ng tiene su propia configuración que es completamente diferente a las demás. Se rumorea que los desarrolladores de linux-wlan-ng están pensando en cambiar su configuración a wireless-tools. Cuando esto suceda, podremos utilizar linux-wlan-ng con baselayout.

Algunas tarjetas inalámbricas están desactivadas por defecto. Para activarlas, por favor, consulte la documentación de su hardware. Algunas de estas tarjetas se pueden desbloquear mediante la aplicación rfkill. Si es éste el caso, utilice "rfkill list" para ver las tarjetas disponibles y "rfkill unblock <index>" para activar la funcionalidad inalámbrica. En otro caso, puede que tenga que desbloquear la tarjeta inalámbrica mediante un botón, conmutador o combinación especial de teclas en su ordenador portátil.

4.b. WPA Supplicant

WPA Supplicant es un paquete que le permite conectarse a puntos de acceso habilitados con WPA.

Listado de Código 2.1: Instalación de wpa_supplicant

# emerge net-wireless/wpa_supplicant

Importante: Debe activar CONFIG_PACKET en su kernel para que funcione wpa_supplicant. Intente ejecutar grep CONFIG_PACKET /usr/src/linux/.config para comprobar si lo tiene activado en su núcleo.

Nota: Dependiendo de sus ajustes USE, wpa_supplicant puede instalar una interfaz gráfica escrita en Qt4, que se integrará de forma adecuada con KDE. Para obtenerla, ejecute echo "net-wireless/wpa_supplicant qt4" >> /etc/portage/package.use como root antes de hacer emerge de wpa_supplicant.

Ahora debemos configurar /etc/conf.d/net para elegir wpa_supplicant sobre wireless-tools (si ambos están instalados, wireless-tools será usado por defecto).

Listado de Código 2.2: Configurar /etc/conf.d/net para wpa_supplicant

# Preferimos wpa_supplicant sobre wireless-tools
modules="wpa_supplicant"

# Es importante decirle a wpa_supplicant cuál controlador
# debemos usar ya que todavía no adivina bien
wpa_supplicant_eth0="-Dmadwifi"

Nota: Si está usando el controlador host-ap, hará falta colocar el interfaz en modalidad gestión (Managed mode) antes de poder usarlo correctamente con wpa_supplicant. Para esto puede usar iwconfig_eth0="mode managed" en /etc/conf.d/net.

Eso fue sencillo, ¿verdad? Sin embargo, todavía nos queda configurar wpa_supplicant, que es algo más difícil, dependiendo de cuán seguros son los PAs a los cuales tratamos de conectarnos. A continuación mostramos un ejemplo simplificado del archivo /etc/wpa_supplicant.conf.example, parte del paquete wpa_supplicant.

Listado de Código 2.3: Un ejemplo de /etc/wpa_supplicant.conf

# No cambie la siguiente línea, a riesgo que no funcione
ctrl_interface=/var/run/wpa_supplicant

# Asegúrese que sólo root puede leer la configuración de WPA
ctrl_interface_group=0

# Permítale a wpa_supplicant encargarse del barrido y selección de los PA
ap_scan=1

# Caso sencillo: WPA-PSK, PSK como contraseña-frase ASCII,
# permitir todas las encriptaciones válidas
network={
  ssid="sencillo"
  psk="contraseña-frase muy secreta"
  # A mayor prioridad, más rápido nos conectaremos
  priority=5
}

# Igual que el ejemplo anterior, pero barriendo por un SSID
# específico (para los PAs que rechazan transmitir el SSID)
network={
  ssid="segundo ssid"
  scan_ssid=1
  psk="contraseña-frase muy secreta"
  priority=2
}

# Solamente estamos usando WPA-PSK. Se aceptada cualquier encriptación válida
network={
  ssid="ejemplo"
  proto=WPA
  key_mgmt=WPA-PSK
  pairwise=CCMP TKIP
  group=CCMP TKIP WEP104 WEP40
  psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
  priority=2
}

# Conexión sin encriptar (sin WPA, o IEEE 802.1X)
network={
  ssid="prueba-noencriptada"
  key_mgmt=NONE
}

# Conexión con clave WEP compartida (sin WPA, o IEEE 802.1X)
network={
  ssid="prueba-estatica-wep"
  key_mgmt=NONE
  # Claves entrecomilladas son ASCII
  wep_key0="abcde"
  # Claves sin comillas en hexadecimal
  wep_key1=0102030405
  wep_key2="1234567890123"
  wep_tx_keyidx=0
  priority=5
}

# Conexión con clave WEP compartida (sin WPA, o IEEE 802.1X)
# usando autentificación con clave compartida IEEE 802.11
network={
  ssid="prueba-estatica-wep2"
  key_mgmt=NONE
  wep_key0="abcde"
  wep_key1=0102030405
  wep_key2="1234567890123"
  wep_tx_keyidx=0
  priority=5
  auth_alg=SHARED
}

# Red IBSS/ad-hoc con WPA-None/TKIP
network={
  ssid="prueba adhoc"
  mode=1
  proto=WPA
  key_mgmt=WPA-NONE
  pairwise=NONE
  group=TKIP
  psk="contraseña-frase secreta"
}

4.c. Wireless Tools

Configuración inicial y modo manejado

Los Wireless Tools proveen una manera genérica para configurar los interfaces inalámbricos básicos hasta el nivel de seguridad WEP. Aunque WEP es un sistema de seguridad débil, también es el más prevalente.

La configuración de Wireless Tools es controlado por algunas variables principales. El archivo ejemplo de configuración a continuación deberá describir todo lo requerido. Algo para mantener presente es que ninguna configuración significa "conectarse al punto de acceso sin encriptación que tenga la señal más fuerte" - de manera que siempre tratará de conectarse con lo que sea.

Listado de Código 3.1: Instalar wireless-tools

# emerge net-wireless/wireless-tools

Nota: Aunque pueda almacenar su configuración inalámbrica en /etc/conf.d/wireless, esta guía le recomienda hacerlo en /etc/conf.d/net.

Importante: Hará falta consultar la documentación acerca de nombres de variables.

Listado de Código 3.2: Configuración ejemplo con iwconfig en /etc/conf.d/net

# Prefiera iwconfig sobre wpa_supplicant
modules="iwconfig"

# Configure las claves WEP para los PAs ESSID1 y ESSID2
# Pueden configurarse hasta 4 claves WEP, pero solo una puede
# estar activa a la vez, así que tenemos un índice por defecto
# de [1] para la clave [1] y luego otra vez para cambiar la clave activa a [1]
# Hacemos esto en caso que defina otros ESSIDs para usar claves WEP que no sean 1
#
# El prefijar la clave con s: significa que es una clave ASCII,
# porque sino es una clave HEX
#
# enc open especifica seguridad abierta (máxima seguridad)
# enc restricted especifica seguridad restringida (menos segura)
key_ESSID1="[1] s:suclaveaqui key [1] enc open"
key_ESSID2="[1] aaaa-bbbb-cccc-dd key [1] enc restricted"

# Los ejemplos a continuación solo funcionan una vez que se
# haya barrido para los PAs disponibles.

# A veces se registra más de un PA, así que hará falta definir
# un orden de preferencia para conectarse
preferred_aps="'ESSID1' 'ESSID2'"

Afinamiento en la selección de puntos de acceso

Puede agregar opciones adicionales para afinar la selección de puntos de acceso, pero normalmente esto no hace falta.

Puede decidirse si conectarse solamente a PAs preferidos o no. Por defecto, si falla todo lo configurado y nos podemos conectar a un PA no encriptado, entonces se hará. Esto puede ser controlado con la variable associate_order (orden asociado). Sigue una tabla de valores y como estos ejercen este control.

Valor Descripción
any (cualquiera) Comportamiento por defecto
preferredonly (solo preferidos) Solamente nos conectaremos a PAs visibles en la lista de preferidos
forcepreferred (obligado a preferidos) Nos conectaremos obligatoriamente a los PAs en el orden preferido aunque no se encuentren en un barrido
forcepreferredonly (solamente preferidos obligados) No barrer buscando PAs - solo tratar de conectar a cada uno en orden
forceany (obligar a cualquiera) Igual que forcepreferred y además se conecta a cualquier otro disponible

Finalmente podemos hacer una lista negra de PAs (blacklist_aps) y seleccionar un único PA (unique_ap). blacklist_aps funciona de manera similar a preferred_aps. unique_ap es un valor si o no (yes o no) que determina si un segundo interfaz inalámbrico se puede conectar al mismo punto de acceso que el primer interfaz.

Listado de Código 3.3: Ejemplo de blacklist_aps y de unique_ap

# A veces nunca queremos conectarnos a algunos PAs
blacklist_aps="'ESSID3' 'ESSID4'"

# Si tiene más de una tarjeta inalámbrica, puede determinar
# que cada interfaz se asocie al mismo PA o no
# Los valores son "yes" y "no"
# El valor por defecto es "yes"
unique_ap="yes"

Modos Ad-Hoc y Master

Si desea establecerse como un nodo Ad-Hoc al no lograr conectarse a algún PA en modo manejado, puede hacerlo también.

Listado de Código 3.4: Usar modo ad-hoc en caso de no conectar en modo manejado

adhoc_essid_eth0="This Adhoc Node"

Y ¿qué tal conectarse a redes Ad-Hoc o funcionar en modo Master para convertirse en PA? ¡Aquí tenemos una configuración justo para eso! Tal vez tenga que especificar alguna clave WEP como se muestra arriba.

Listado de Código 3.5: Ejemplo de configuración ad-hoc/master

# Establezca el modo - que puede ser manejado (por defecto), ad-hoc o master
# No todos los manejadores soportan todos los modos
mode_eth0="ad-hoc"

# Establezca el ESSID del interfaz
# En modo manejado, esto obliga el interfaz intentar conectarse al
# ESSID especificado solamente
essid_eth0="This Adhoc Node"

# Usamos el canal 3 si no se establece otro
channel_eth0="9"

Importante: A continuación citamos la documentación wavelan de BSD encontrado en la documentación de NetBSD Existen 14 canales posibles; Se nos informa que los canales 1-11 son legales para Norteamérica , los canales 1-13 para la mayor parte de Europa, los canales 10-13 para Francia y sólo el canal 14 para el Japón. En caso de duda, por favor eche un vistazo a la documentación que acompaña la tarjeta o el PA. Asegúrese que el canal que selecciona es el mismo del PA (o de la otra tarjeta en caso de ser red ad-hoc). Para las tarjetas vendidas en Norteamérica y la mayor parte de Europa, es el canal 3 por defecto; en Francia el 11 y en el Japón es el 14.

Solucionar problemas con Wireless Tools

Existen más variables que sirven para ayudar a configurar y operar una red inalámbrica por problemas ambientales o del manejador. Aquí presentamos una tabla de otras cosas para intentar.

Variable Valor por defecto Descripción
iwconfig_eth0 Vea la página man de iwconfig para detalles acerca de qué enviar a iwconfig
iwpriv_eth0 Vea la página man de iwpriv para detalles acerca de qué enviar a iwpriv
sleep_scan_eth0 0 La cantidad en segundos a dormir antes de intentar un barrido. Esto hace falta cuando el manejador/firmware requiere de más tiempo para activarse antes de poder usarlos.
sleep_associate_eth0 5 La cantidad en segundos a esperar para que el interfaz se asocie con el PA antes de continuar al siguiente.
associate_test_eth0 MAC Algunos manejadores no resetean la dirección MAC asociada a una inválida cuando pierden la señal o intentan asociarse. Algunos manejadores no resetean el nivel de calidad cuando pierden la señal o intentan asociarse. La configuraciones válidas son MAC, quality y all.
scan_mode_eth0 Algunos manejadores tienen que hacer el barrido en modo ad-hoc, así que, si falla el barrido, intente configurar aquí como ad-hoc.
iwpriv_scan_pre_eth0 Envía algunas órdenes iwpriv al interfaz antes del barrido. Consulte la página man de iwpriv para más detalles.
iwpriv_scan_post_eth0 Envía algunas órdenes iwpriv al interfaz después del barrido. Vea la página man de iwpriv para más detalles.

4.d. Definir la configuración de la red por ESSID

A veces, se necesita una dirección IP estática cuando se conecta a un ESSID1 y cuando lo hace a ESSID2, se utiliza DHCP. De hecho, casi todas las variables de módulo pueden cambiarse por ESSID. A continuación mostramos cómo se hace.

Nota: Esto funciona sin importar si usa WPA Supplicant o Wireless Tools.

Importante: Necesitará consultar la documentación variable name.

Listado de Código 4.1: Reemplazar configuración de red por ESSID

config_ESSID1="192.168.0.3/24 brd 192.168.0.255"
routes_ESSID1="default via 192.168.0.1"

config_ESSID2="dhcp"
fallback_ESSID2="192.168.3.4/24"
fallback_route_ESSID2="default via 192.168.3.1"

# Podemos definir servidores DNS y otras cosas también
# NOTA: DHCP reemplazará esta configuración a menos que se le indique que no debe hacerlo
dns_servers_ESSID1="192.168.0.1 192.168.0.2"
dns_domain_ESSID1="algun.dominio"
dns_search_domains_ESSID1="busque.eneste.dominio busque.enaquel.dominio"

# Reemplace usando la dirección MAC del PA
# Esto es muy útil si usa distintas ubicaciones con el mismo ESSID
config_001122334455="dhcp"
dhcpcd_001122334455="-t 10"
dns_servers_001122334455="192.168.0.1 192.168.0.2"

[ << ] [ < ] [ Inicio ] [ > ] [ >> ]


Imprimir

Ver completo

Página actualizada 17 de diciembre, 2013

Esta traducción ha dejado de tener soporte

Sumario: Las redes inalámbricas no son tan sencillas. ¡Esperamos poder ponerlas a trabajar!

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Desarrollador Gentoo x86

Tavis Ormandy
Desarrollador Gentoo Alpha

Jason Huebel
Desarrollador Gentoo AMD64

Guy Martin
Desarrollador Gentoo HPPA

Pieter Van den Abeele
Desarrollador Gentoo PPC

Joe Kallar
Desarrollador Gentoo SPARC

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Xavier Neys
Editor

Grant Goodyear
Revisor

Gerald J. Normandin Jr.
Revisor

Donnie Berkholz
Revisor

Ken Nowack
Revisor

Lars Weiler
Contribuidor

José Alberto Suárez López
Traductor

John Christian Stoddart
Traductor

José Luis Rivero
Traductor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.