Básicamente, me gustaría usar iwconfig
para conectarme a mi red wifi cuando no estoy dentro de X. Pero simplemente no veo una manera de hacerlo en la página del manual. ¿Alguna idea?
Básicamente, me gustaría usar iwconfig
para conectarme a mi red wifi cuando no estoy dentro de X. Pero simplemente no veo una manera de hacerlo en la página del manual. ¿Alguna idea?
Respuestas:
iw
(list / config) solo puede manejar WEP.
Necesita el wpasupplicant
paquete que proporciona el wpa_supplicant
comando, instalar si es necesario a través de sudo apt-get install wpasupplicant
.
Pones tu SSID y contraseña /etc/wpa_supplicant.conf
(requiere sudo).
Ejemplo:
network={
ssid="ssid_name"
psk="password"
}
Asumiendo que su interfaz es wlan0, puede conectarse con:
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D wext
sudo dhclient wlan0
"wext" es un controlador y será específico para cada tarjeta; consulte wpa_supplicant -h
. Ejemplos:
hostap (default) Host AP driver (Intersil Prism2/2.5/3). (this can also be used with Linuxant DriverLoader).
hermes Agere Systems Inc. driver (Hermes-I/Hermes-II).
madwifi MADWIFI 802.11 support (Atheros, etc.).
atmel ATMEL AT76C5XXx (USB, PCMCIA).
wext Linux wireless extensions (generic).
ndiswrapper Linux ndiswrapper.
broadcom Broadcom wl.o driver.
ipw Intel ipw2100/2200 driver.
wired wpa_supplicant wired Ethernet driver
roboswitch wpa_supplicant Broadcom switch driver
bsd BSD 802.11 support (Atheros, etc.).
ndis Windows NDIS driver.
wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && dhclient wlan0
no se conectó a la red inalámbrica, aunque por defecto NetworkManager me conecta a la red Quiero probar la línea de comando ¿Hay algún error que estoy cometiendo?
root
(administrador del sistema). Entonces, sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && sudo dhclient wlan0
o divídalos en dos comandos alrededor &&
.
Este enlace lo muestra todo y funcionó bien para mí: http://linux.icydog.net/wpa.php
Estoy copiando el contenido aquí, así que lo tenemos, en caso de que el sitio se desconecte.
Línea de comando WPA
A veces estará en una línea de comando sin acceso a las herramientas de red GUI, pero su punto de acceso está protegido con WPA. ¿Qué haces?
Suponiendo que su tarjeta inalámbrica realmente funciona (es decir, iwconfig puede verla e interactuar con ella), usar wpa_supplicant es bastante simple. Instalar wpa_supplicant
La mayoría de las distribuciones actuales tienen wpa_supplicant instalado por defecto. Si tiene los comandos wpa_passphrase y wpa_supplicant disponibles, está listo para comenzar. De lo contrario, deberá instalar el paquete haciendo algo como (para Ubuntu):
$ sudo apt-get install wpasupplicant
O (para Fedora):
# yum install wpa_supplicant
O cualquiera que sea el comando para su distribución.
Generando el archivo de configuración
Ahora que wpa_supplicant está instalado, crearemos su archivo de configuración. Una vez que conozca la frase de contraseña SSID y WPA, todo lo que tiene que hacer es ejecutar:
$ wpa_passphrase myrouter mypassphrase > wpa.conf
Por supuesto, reemplace "myrouter" con el SSID de su enrutador, "mypassphrase" con su frase de contraseña WPA y "wpa.conf" con cualquier archivo en el que desee almacenar la configuración. Este nombre de archivo no tiene que seguir un formato particular o tener una extensión particular
Alternativamente, para evitar escribir la frase de contraseña en la línea de comando (para que no se guarde en el historial del shell), puede especificar solo el SSID en la línea de comando. wpa_passphrase esperará a que escriba la frase de contraseña seguida de enter:
$ wpa_passphrase myrouter > wpa.conf
mypassphrase
Deberías terminar con un archivo como este:
network={
ssid="myrouter"
#psk="mypassphrase"
psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}
Conectándose
Ahora realmente ejecutaremos wpa_supplicant para conectarnos a la red inalámbrica. Primero, si su enrutador transmite su SSID (todos lo hacen de manera predeterminada), es probable que desee asegurarse de que su tarjeta inalámbrica realmente pueda verlo:
$ iwlist scan
Puede que tenga que ejecutar eso como root para forzar una actualización.
A continuación, deberá conocer tres datos:
wpa_supplicant --help
muestra los diferentes controladores que tiene (en "controladores:"). A partir de 0.5.8, las opciones útiles son: wext
, hostap
, madwifi
, atmel
, ndiswrapper
, y ipw
(IPW es sólo para los núcleos de edad;> = 2.6.13 debe utilizar wext). Si no ve una coincidencia específica para su tarjeta, intente con wext, ya que ese es el tipo general.iwconfig
. Informará "sin extensiones inalámbricas" para dispositivos no inalámbricos y mostrará algunos datos para cualquier dispositivo inalámbrico.Ahora que tiene estos datos, ejecute (como root):
# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]
No hay espacios entre las opciones y los parámetros. No incluya los corchetes, ya que acabo de agregarlos para mayor claridad. Por ejemplo, para mi computadora portátil se ve así:
# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf
También puede ejecutarlo en segundo plano utilizando la -B
opción para que no ocupe su consola.
Ahora estás asociado con la red.
Ponerse en línea
Para realmente conectarse, tendrá que obtener una IP de alguna manera. La mayoría de las personas solo querrán obtener una IP dinámica de un servidor DHCP, probablemente el que está integrado en el enrutador. (No voy a cubrir la configuración de una IP estática y una tabla de enrutamiento porque es una bestia en sí misma).
Para obtener un contrato de arrendamiento de DHCP, primero libere los contratos de arrendamiento que todavía tiene (como root):
# dhclient -r
Luego solicite un nuevo contrato de arrendamiento (por supuesto, reemplazando eth1 con el nombre de su dispositivo de red, el mismo que utilizó en la sección anterior):
# dhclient eth1
Ahora tiene una IP, al menos en teoría. ¡Feliz surf!
Debian y otras distribuciones tienen wpa_suplicant ejecutándose como un servicio por defecto para administrar las redes wifi. wpa_suplicant puede ser manejado por diferentes clientes / front-end como la GUI del administrador de red. Esto se explica mejor en esta wiki de Debian .
wpa_cli es el cliente de línea de comando wpa_suplicant para administrar las redes wifi.
Editar : Acabo de encontrar esta publicación que explica cómo usar nmcli y es mucho mejor que wpa_cli, ya que es compatible con el Administrador de red GUI y sus configuraciones y redes wifi guardadas.
Ejemplo de uso de wpa_cli :
Comprueba que ya tengo una interfaz de red con wifi habilitado:
# iwconfig
wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Compruebe si el proceso wpa_suplicant se está ejecutando:
# ps -e | grep wpa
1881 ? 00:00:07 wpa_supplicant
Ingrese en el modo interactivo del cliente wpa:
# wpa_cli
Lista de puntos de acceso disponibles:
> scan
> scan_results
... y obtienes algo como esto:
bssid / frequency / signal level / flags / ssid
e0:60:66:7c:81:7f 2417 -66 [WPA2-PSK-CCMP][ESS] vodafone817E
e0:60:66:61:83:4b 2452 -76 [WPA2-PSK-CCMP][WPS][ESS] vodafone834A
f8:8e:85:c5:65:c2 2462 -76 [WPA-PSK-CCMP+TKIP][WPS][ESS] MOVISTAR_65C1
a8:d3:f7:46:0c:be 2472 -83 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS] Orange-0CBC
...
Agregue su AP:
> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"
Selecciónelo como actual:
> enable_network 0
Conéctate a él:
> reconnect
Comprueba el estado:
> status
Salga de wpa_cli:
> quit
Desde el shell, solicite DHCP para una configuración de IP y red:
# dhclient -r
# dhclient wlan0
wpa_cli
y luego escribes wpa_client
? En Kubuntu 18.10 wpa_client
parece no existir como un comando
Primero suba su tarjeta si no está funcionando:
ifconfig wlan0 up
Establezca los parámetros según su red
iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
En realidad, hay una manera de hacerlo usando NetworkManager, si tiene el checkbox
paquete instalado.
sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY
(Crédito: error 923836 , que apareció en mis búsquedas sobre el tema).
Todas las respuestas que sugieren wpa_supplicant son incorrectas. Sí, puede conectarlo a la red WPA, pero a la larga es una mala solución porque será muy difícil de mantener y no funcionará bien con una conexión por cable. Lea esta respuesta y haga su vida más fácil utilizando Network Manager desde la línea de comandos. Perdí horas tratando de configurar wpa_supplicant, luego probé nmcli y "simplemente funcionó".
Puede usar VSWM: Administrador inalámbrico muy simple. Coloca sus AP conocidos en un simple archivo cfg (/etc/vswm.cfg) y cuando lo ejecuta vswm
escanea las redes disponibles y conecta su tarjeta con la primera que aparece en /etc/vswm.cfg.
VSWM está disponible en https://github.com/dmelo/vswm . Aquí hay una selección de cómo se ve el archivo de configuración vswm.cfg:
[global]
dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]
[wlan0-0]
ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp
[wlan0-1]
ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24
Bajo el capó, utiliza las herramientas de línea de comandos estándar: iwlist, wpa_supplicant, iwconfig, dhclient ... Solo automatiza el trabajo.
Tuve problemas para usar wpa_supplicant
directamente para acceder a una red inalámbrica. Mi ID de red y contraseña generaron errores cuando utilicé el wpa_supplicant.conf
archivo en la wpa_supplicant
línea de comando, por ejemplo
sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
Pude solucionarlo con wpa_cli
. La secuencia de comandos que tuve que usar, ya que estoy usando un controlador de Windows con Linux ndiswrapper, es:
sudo modprobe ndiswrapper
sudo iwconfig wlan0 essid "<My Network ID>" mode managed
sudo wpa_cli identity "<My Network ID>" password "<My password>"
Configuré la red agregándola en la sección inalámbrica de redes en la GUI, para poder hacer clic en el icono de red inalámbrica o cableada y seleccionar el proveedor inalámbrico (que a veces era necesario para completar el inicio de sesión).
Esta nmcli
es la versión de línea de comandos de la aplicación de administrador de red predeterminada en Ubuntu.
Algunas de las ventajas son que utiliza la configuración que ya tiene desde la interfaz gráfica y no necesita acceso de root.
Puede ejecutar nmcli
para mostrar las opciones disponibles.
Ejemplo para conectarse a un wifi llamado MYESSID:
nmcli c up MYESSID