Wpa supplicant (Español)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

wpa_supplicant es una multiplataforma de WPA Supplicant con soporte para WPA y WPA2 (IEEE 802.11i / RSN —Robust Secure Network—). Está adaptado tanto para los ordenadores de sobremesa/portátiles como para sistemas integrados.

wpa_supplicant es el componente IEEE 802.1X/WPA utilizado por las estaciones cliente. Implementa las negociaciones entre la clave y un WPA Authenticator, y contola el roaming y la asociación/autenticación IEEE 802.11 del controlador wland.

Instalación

Instale el paquete wpa_supplicant desde los repositorios oficiales.

También tiene la posibilidad de instalar el paquete wpa_supplicant_guiAUR que proporciona wpa_gui; es un fronted gráfico para wpa_supplicant que usa las herramientas qt4AUR.

Configuración

El paquete wpa_supplicant proporciona un archivo de configuración de referencia situado en /etc/wpa_supplicant/wpa_supplicant.conf, que documenta, de modo detallado, todas las opciones disponibles y relativas a la configuración.

El contenido mínimo del archivo de configuración requiere un bloque de red. Por ejemplo:

/etc/wpa_supplicant/foobar.conf
network={
    ssid="..."
}

Lo anterior puede ser fácilmente generado usando la herramienta wpa_passphrase. Por ejemplo:

$ wpa_passphrase nombre-de-la-red frase-contraseña
network={
    ssid="nombre-de-la-red"
    #psk="frase-contraseña"
    psk=f5d1c49e15e679bebe385c37648d4141bc5c9297796a8a185d7bc5ac62f954e3
}
Sugerencia: Algunas frases de contraseña inusualmente complejas pueden requerir la entrada desde un archivo:
# wpa_passphrase nombre-de-la-red < frase-contraseña.txt > /etc/wpa_supplicant/wpa_supplicant-interfaz.conf

Una vez que se tiene un archivo de configuración, se puede ejecutar el demonio wpa_supplicant y conectarse a una red inalámbrica:

# wpa_supplicant -B -i interfaz -c archivo_de_configuración

Es posible que tenga que especificar un controlador para que funcione. Para obtener una lista completa de los controladores soportados vea la salida de wpa_supplicant -h, de modo que, por ejemplo, nl80211 será preferido al obsoleto controlador wext. Utilice el parámetro -D para especificar el controlador:

# wpa_supplicant -B -i interfaz -c archivo_de_configuración -D controlador
Sugerencia: Tanto wpa_supplicant como wpa_passphrase se pueden combinar para asociarse con casi todas las redes WPA2 (Personal):
# wpa_supplicant -B -i interfaz -c <(wpa_passphrase nombre_de_la_red frase_contraseña)

Todo lo que queda es simplemente conectarse usando una dirección IP estática o dinámica. Por ejemplo:

# dhcpcd interfaz

Utilizar wpa_cli

wpa_supplicant puede ser controlado manualmente durante su ejecución mediante la utilidad wpa_cli. Con el fin de utilizar wpa_cli, el demonio wpa_supplicant debe estar configurado para crear una «interfaz de control» (socket). Esto se hace desde el archivo de configuración con la variable ctrl_interface. El siguiente ejemplo creará el socket en /run/wpa_supplicant/ y permitirá que los miembros del grupo adm accedan a él:

ctrl_interface=DIR=/run/wpa_supplicant GROUP=adm

Es posible activar wpa_supplicant para modificar el archivo de configuración cuando se recibe una orden de wpa_cli. Esto es útil para agregar manualmente nuevas redes en el archivo de configuración de itinerancia sin la necesidad de reiniciar el demonio wpa_supplicant. Basta con añadir lo siguiente al archivo de configuración:

update_config=1

Después de iniciado el demonio wpa_supplicant, puede arrancar wpa_cli. Intentará encontrar el archivo socket, si falla utilice la opción -p. Se puede especificar la interfaz que se configurará con la opción -i, de lo contrario utilizará la primera interfaz inalámbrica que encuentre gestionada por wpa_supplicant. Cuando se invoca wpa_cli, se obtendrá un prompt (>) interactivo. El prompt tiene la función autocompletar del tabulador y descripciones de las órdenes completadas.

Añadir nuevas conexiones de red

Inicie un escaneo de la red. Cuando la exploración haya terminado se mostrará una notificación:

> scan

Muestra del resultado del escaneo:

> scan_results
bssid / frequency / signal level / flags / ssid
00:00:00:00:00:00 2462 -49 [WPA2-PSK-CCMP][ESS] MIRED
11:11:11:11:11:11 2437 -64 [WPA2-PSK-CCMP][ESS] OTRARED

Para asociarse con MIRED, dígale a wpa_supplicant que se conecte a ella. Cada red está indexada numéricamente, por lo que la primera red tendrá el índice cero. La PSK se puede proporcionar sin comillas como una alternativa a la contraseña proporcionada en este ejemplo:

> add_network
0
> set_network 0 ssid "MIRED"
> set_network 0 psk "contraseña"
> enable_network 0
<2>CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:00 completed (reauth) [id=0 id_str=]

Escriba los cambios en el archivo de configuración:

> save_config
OK

Action script

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: To be re-added from this old revision with a meanigful example. (Discuss in Talk:Wpa supplicant (Español))

Activar con systemd

Es posible combinar la configuración activando wpa_supplicant y dhcpcd para una particular interfaz de red (véase systemd#Using units para más detalles):

# systemctl enable wpa_supplicant@nombre de la interfaz de red
# systemctl enable dhcpcd@nombre de la interfaz de red

La sección [Install] de la versión actual del servicio systemd es incorrecta (bug report). Si el nombre de su interfaz no es (wlan0), será necesario copiar el archivo de servicios en /etc/systemd/system y sustituir la sección [Install] con

[Install]
WantedBy=multi-user.target

Véase systemd#Editing provided units para obtener ayuda con la edición.

Nota: Si utilizadhcpcd@.service, es posible que también desee reemplazar la etiqueta -w por -b para que no espere hasta que se le asigne una dirección IP, antes de pasar a funcionar en segundo plano.
Sugerencia: dhcpcd contiene un hook (activado por defecto) para poner en marcha de forma automática wpa_supplicant ante la presencia de interfaces inalámbricas. Se inicia solo si existe un archivo de configuración en /etc/wpa_supplicant.conf y sin un proceso wpa_supplicant sondeando dicha interfaz. No es necesario utilizar wpa_supplicant@nombre de la interfaz de red en absoluto y basta con activar dhcpcd@nombre de la interfaz de red.

Véase también