Difference between revisions of "WPA supplicant (Español)"

From ArchWiki
Jump to: navigation, search
(Gestionar una configuración personalizada)
(Actualización)
(7 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
[[ru:WPA Supplicant]]
 
[[ru:WPA Supplicant]]
 
[[zh-CN:WPA Supplicant]]
 
[[zh-CN:WPA Supplicant]]
[http://hostap.epitest.fi/wpa_supplicant/ wpa_supplicant] es una multiplataforma de [[Wikipedia:Supplicant (computer)|WPA Supplicant]] con soporte para WPA y WPA2 ([https://en.wikipedia.org/wiki/IEEE_802.11i IEEE 802.11i] / RSN —Robust Secure Network—). Está adaptado tanto para los ordenadores de sobremesa/portátiles como para sistemas integrados. {{ic|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.
+
{{Related articles start (Español)}}
 +
{{Related|Network Configuration (Español)}}
 +
{{Related|Wireless Setup (Español)}}
 +
{{Related articles end}}
 +
 
 +
[http://hostap.epitest.fi/wpa_supplicant/ wpa_supplicant] es una multiplataforma de [[Wikipedia:Supplicant (computer)|WPA Supplicant]] con soporte para WPA y WPA2 ([https://en.wikipedia.org/wiki/IEEE_802.11i 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==    
+
==Instalación==
 +
 
Instale el paquete {{Pkg|wpa_supplicant}} desde los [[Official Repositories (Español)|repositorios oficiales]].
 
Instale el paquete {{Pkg|wpa_supplicant}} desde los [[Official Repositories (Español)|repositorios oficiales]].
  
También tiene la posibilidad de instalar el paquete {{Pkg|wpa_supplicant_gui}} que proporciona {{ic|wpa_gui}}; es un fronted gráfico para {{ic|wpa_supplicant}} que usa las herramientas {{pkg|qt4}}.
+
También tiene la posibilidad de instalar el paquete {{Pkg|wpa_supplicant_gui}} que proporciona ''wpa_gui''; es un fronted gráfico para ''wpa_supplicant'' que usa las herramientas {{pkg|qt4}}.
  
== Conectarse con wpa_cli ==
+
==Configuración==
  
Para asociarse con un punto de acceso inalámbrico (WAP) usando {{ic|wpa_supplicant}}, utilizaremos la herramienta de línea de órdenes {{ic|wpa_cli}} incluida en el paquete.  Para utilizar {{ic|wpa_cli}}, es necesario especificar una ''interfaz de control'' en el archivo {{ic|wpa_supplicant}}. Para ello, cree un archivo de configuración que contenga {{ic|ctrl_interface=/var/run/wpa_supplicant}}.
+
El paquete {{pkg|wpa_supplicant}} proporciona un archivo de configuración de referencia situado en {{ic|/etc/wpa_supplicant/wpa_supplicant.conf}}, que documenta, de modo detallado, todas las opciones disponibles y relativas a la configuración.
  
{{Sugerencia|Remítase al archivo {{ic|/etc/wpa_supplicant/wpa_supplicant.conf}} que se proporciona para obtener más detalles.}}
+
El contenido mínimo del archivo de configuración requiere un bloque de red. Por ejemplo:
  
Para permitir guardar los cambios realizados utilizando wpa_cli, añada la línea {{ic|update_config=1}} en el archivo de configuración. Comience wpa_supplicant con:
+
{{hc|/etc/wpa_supplicant/foobar.conf|2=
 +
network={
 +
    ssid="..."
 +
}
 +
}}
  
  # wpa_supplicant -B -i ''interface'' -c ''/path/to/config''
+
Lo anterior puede ser fácilmente generado usando la herramienta ''wpa_passphrase''. Por ejemplo:
  
Invoque {{ic|wpa_cli}} sin argumentos para obtener un prompt interactivo ({{ic|>}}). El prompt soporta el «tab completion» y contiene la descripción de las órdenes que se autocompletan. La orden {{ic|scan}} inicia un escaneo; envía una notificación cuando la operación se ha completado. Por tanto:
 
  
  > scan_results
+
{{hc|$ wpa_passphrase ''nombre-de-la-red'' ''frase-contraseña''|2=
  bssid / frequency / signal level / flags / ssid
+
network={
  00:00:00:00:00:00 2462 -49 [WPA2-PSK-CCMP][ESS] MYSSID
+
    ssid="''nombre-de-la-red''"
  11:11:11:11:11:11 2437 -64 [WPA2-PSK-CCMP][ESS] ANOTHERSSID
+
    #psk="''frase-contraseña''"
 +
    psk=f5d1c49e15e679bebe385c37648d4141bc5c9297796a8a185d7bc5ac62f954e3
 +
}
 +
}}
  
Para asociarse con ''MYSSID'', será necesario informar a {{ic|wpa_supplicant}} sobre ello. Cada red es numerada a partir de cero. El [http://en.wikipedia.org/wiki/Pre-shared_key PSK] se puede proporcionar (sin comillas), como una alternativa a introducir la contraseña, como se propone en este ejemplo:
+
{{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
 +
}}
  
  > add_network
+
Una vez que se tiene un archivo de configuración, se puede ejecutar el demonio ''wpa_supplicant'' y conectarse a una red inalámbrica:
  0
+
  > set_network 0 ssid "''MYSSID''"
+
  > set_network 0 psk "''passphrase''"
+
  > enable_network 0
+
  <2>CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:00 completed (reauth) [id=0 id_str=]
+
  
Para guardar la información de la red en el archivo de configuración:
+
# wpa_supplicant -B -i ''interfaz'' -c ''archivo_de_configuración''
  
  > save_config
+
Es posible que tenga que especificar un controlador para que funcione. Para obtener una lista completa de los controladores soportados vea la salida de {{ic|wpa_supplicant -h}}, de modo que, por ejemplo, {{ic|nl80211}} será preferido al obsoleto controlador {{ic|wext}}. Utilice el parámetro {{ic|-D}} para especificar el controlador:
  OK
+
  
Ahora que la asociación con el WAP se ha completado, obtenga una dirección IP a través de {{Pkg|dhcpcd}} o utilizando las herramientas de {{Pkg|iproute2}}.
+
# wpa_supplicant -B -i ''interfaz'' -c ''archivo_de_configuración'' -D ''controlador''
  
==Configuración==
+
{{Sugerencia|Tanto ''wpa_supplicant'' como ''wpa_passphrase'' se pueden combinar para asociarse con casi todas las redes WPA2 (Personal):
El paquete {{pkg|wpa_supplicant}} proporciona un archivo de configuración de ejemplo situado en {{ic|/etc/wpa_supplicant/wpa_supplicant.conf}}, que documenta, de modo detallado, todas las opciones disponibles y relativas a la configuración.
+
# wpa_supplicant -B -i ''interfaz'' -c <(wpa_passphrase ''nombre_de_la_red'' ''frase_contraseña'')
 
+
El contenido mínimo del archivo de configuración requiere un bloque de red, por ejemplo:
+
{{hc|/etc/wpa_supplicant/foobar.conf|2=
+
  network={
+
    ssid="..."
+
  }
+
 
}}
 
}}
  
Lo anterior puede ser fácilmente generado usando la herramienta {{ic|wpa_passphrase}}. Por ejemplo:
+
Todo lo que queda es simplemente conectarse usando una dirección [[Network Configuration#Static IP Address|IP estática]] o [[Network Configuration#Dynamic IP Address|DHCP]]. Por ejemplo:
  $ wpa_passphrase foobarssid foobarspassword
+
 
  network={
+
# dhcpcd ''interfaz''
    ssid="foobarssid"
+
 
    #psk="foobarspassword"
+
== Utilizar wpa_cli ==
    psk=f5d1c49e15e679bebe385c37648d4141bc5c9297796a8a185d7bc5ac62f954e3
+
 
  }
+
''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 {{ic|ctrl_interface}}. El siguiente ejemplo creará el socket en {{ic|/run/wpa_supplicant/}} y permitirá que los miembros del grupo {{ic|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 {{ic|-p}}. Se puede especificar la interfaz que se configurará con la opción {{ic|-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 ({{ic|>}}) 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 [[wikipedia:Pre-shared_key|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 ===
 +
 
 +
{{Expansion|1=To be re-added from [https://wiki.archlinux.org/index.php?title=WPA_supplicant&oldid=256897#Action_script this old revision] with a meanigful example.}}
 +
 
 +
=== Activar con systemd ===
  
Ahora también es posible combinar la utilización de {{ic|wpa_supplicant}} y {{ic|wpa_passphrase}} para asociarse a, prácticamente, todas las redes WPA2 (Personal):
+
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):
# wpa_supplicant -B -i [nombre de la interfaz] -c <(wpa_passphrase [essid] [passphrase])
+
No queda más que conectarse ajustando una [[Network Configuration#Static_IP_Address|dirección IP estática]] o [[Network Configuration#Dynamic_IP_Address|DHCP]]. Por ejemplo:
+
# dhcpcd -A [nombre de la interfaz]
+
  
==Gestionar una configuración personalizada==
+
# systemctl enable wpa_supplicant@''nombre de la interfaz de red''
{{Nota|El método recomendado para conectarse a la red es usando [[Netctl (Español)|Netctl]] y ciertamente es la mejor opción a largo plazo.}}
+
# systemctl enable dhcpcd@''nombre de la interfaz de red''
Como se mencionó anteriormente, podemos hacer uso de {{ic | wpa_passphrase}} para generar una configuración básica, que podemos aumentar con las redes y las opciones adicionales que deseemos. Esto puede ser necesario para las configuraciones de las redes avanzadas que hacen un amplio uso del protocolo [https://en.wikipedia.org/wiki/Extensible_Authentication_Protocol EAP].
+
  
En primer lugar, vamos a utilizar  {{ic|wpa_passphrase}} para crear un archivo de configuración básica:
+
La sección {{ic|1=[Install]}} de la versión actual del servicio systemd es incorrecta ([http://w1.fi/bugz/show_bug.cgi?id=477 bug report]). Si el nombre de su interfaz  no es (wlan0), será necesario copiar el archivo de servicios en {{ic|/etc/systemd/system}} y sustituir la sección {{ic|1=[Install]}}  con
  # wpa_passphrase foobarssid foobarspassword > /etc/wpa_supplicant/foobar.conf
+
  
{{Sugerencia|Algunas contraseñas o ''«passphrases»'' particularmente complejas pueden requerir información desde un archivo: {{ic|# wpa_passphrase foobarssid < passphrase.txt > /etc/wpa_supplicant/foobar.conf}} }}
+
[Install]
 +
WantedBy=multi-user.target
  
A continuación, agregue una opción {{ic|ctrl_interface}} de modo que nos permita controlar el demonio {{ic|wpa_supplicant}}. Es posible autorizar a {{ic|wpa_cli}} para que pueda modificar las configuraciones con la opción {{ic|1=update_config=1}}. También podemos autorizar a  {{ic|wpa_supplicant}} a efectuar un escaneo y selección de los AP (''«Access Point»''  &mdash;Puntos de Acceso&mdash;) presentes con la opción {{ic|1=ap_scan=1}}.
+
Véase [[systemd#Editing provided unit files]] para obtener ayuda con la edición.
{{hc|/etc/wpa_supplicant/foobar.conf|<nowiki>
+
  ctrl_interface=DIR=/run/wpa_supplicant GROUP=wheel # permitir a los miembros del grupo 'wheel' controlar el demonio
+
  update_config=1
+
  ap_scan=1
+
  
  network={
+
{{Nota|Si utiliza{{ic|dhcpcd@.service}}, es posible que también desee reemplazar la etiqueta {{ic|-w}} por {{ic|-b}} para que no espere hasta que se le asigne una dirección IP, antes de pasar a funcionar en segundo plano.}}
    ssid="foobarssid"
+
    psk=f5d1c49e15e679bebe385c37648d4141bc5c9297796a8a185d7bc5ac62f954e3
+
  }
+
</nowiki>}}
+
  
Es posible añadir bloques de red múltiples al archivo de configuración.
+
{{Sugerencia|{{Pkg|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 {{ic|/etc/wpa_supplicant.conf}} y sin un proceso ''wpa_supplicant'' sondeando dicha interfaz. No es necesario utilizar {{ic|wpa_supplicant@''nombre de la interfaz de red''}} en absoluto y basta con activar {{ic|dhcpcd@''nombre de la interfaz de red''}}.}}
  
Para iniciar la conexión de red basta con ejecutar las siguientes órdenes:
+
==Véase también ==
# ip link set [nombre de la interfaz] up
+
# wpa_supplicant -B -D nl80211 -i [nombre de la interfaz] -c /etc/wpa_supplicant/foobar.conf
+
# dhcpcd -A [nombre de la interfaz]
+
{{Nota|Es preferible utilizar {{ic|nl80211}} respecto al obsoleto controlador {{ic|wext}}. Para obtener un listado de controladores soportados ejecute la orden {{ic|wpa_supplicant}} sin ningún argumento.}}
+
Para conexiones de red de complejidad creciente examine los ejemplos proporcionados en el archivo de configuración predeterminado ubicado en {{ic|/etc/wpa_supplicant/wpa_supplicant.conf}}.
+
  
==Véase también==
+
* [http://wireless.kernel.org/en/users/Documentation/wpa_supplicant Kernel.org wpa_supplicant documentation]
*[[Wireless Setup (Español)]]
+
*[[netctl (Español)]]
+
*[http://wireless.kernel.org/en/users/Documentation/wpa_supplicant Kernel.org wpa_supplicant documentation]
+

Revision as of 10:02, 28 November 2013

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_gui que proporciona wpa_gui; es un fronted gráfico para wpa_supplicant que usa las herramientas qt4.

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 DHCP. 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 unit files 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