Linux: ¿Herramienta de línea de comandos para cambiar rápidamente la red inalámbrica real "conectada a"?

Cuando un Sistema Operativo tiene varias redes inalámbricas disponibles (y conocidas , esto es: en su lista de "preferidas"), se supone que hace una gestión inteligente del roaming entre ellas, normalmente conectándose a la mejor (medida por varios factores, como cobertura o velocidad).

Pero, cuando trabajo con algunas distribuciones de Linux (por ejemplo, las destinadas a auditorías de seguridad), he encontrado que esa gestión no es tan inteligente : a veces la red se mantiene inactiva (no se comporta completamente bien) y el sistema operativo permanece en esa red inalámbrica.

Entonces, estaba pensando en hacer un script yo mismo para obligar a Linux a seleccionar otra red inalámbrica cuando la conectada se ralentiza o falla directamente (tal vez se pueda verificar haciendo ping al enrutador/punto de acceso).
Por lo que he leído sobre la administración inalámbrica de la línea de comandos, la cosa de "conectar a" parece un poco incómoda.

¿Alguien conoce una buena herramienta de línea de comandos para "cambiar a red" que se ejecute en Linux? Recuerde que no necesito conectarme a una red nueva: solo quiero conectarme a una red que ya esté conectada algún día, por lo que se supone que el sistema operativo conoce la contraseña, los datos de cifrado, etc.

Posibles ejemplos de línea de comandos:

switchtowifi --essid MyWiFiNetwork
switchtowifi --essid MyWiFiNetwork --bssid 11:22:33:44:55:66
switchtowifi --channel 5

El primer ejemplo cambia a cualquier red WiFi ya almacenada llamada MyWiFiNetwork.
El segundo ejemplo cambia a la red WiFi ya almacenada llamada MyWiFiNetworkcuyo BSSID es 11:22:33:44:55:66.
El tercer ejemplo cambia a cualquier red WiFi ya almacenada en el canal 5.

Respuestas (3)

Esperemos que esto no sea demasiado tarde para ser útil; pero tengo un requisito similar debido a que tengo más de un AP en casa (incluida la prueba de algunos, mi conexión principal y una LAN de trabajo segregada yadda yadda...)

Uno de los problemas en esta pregunta es que no se menciona su Distro, las utilidades inalámbricas utilizadas, el método para configurar sus redes conocidas, etc. Aparte de eso, por lo que puedo ver, no hay nada de este tipo disponible en este momento, sin usar algo como wicd-gtk, etc.

Personalmente, aunque uso Ubuntu porque me gusta la administración de paquetes/distribuciones, odio Gnome/KDE, etc., y opto por Fluxbox, que hace que las utilidades normales de Wifi sean un poco inútiles.

Asi que; después de deshabilitar el administrador de red para que no interfiera, configuré manualmente las redes que necesito usando los detalles en: http://linuxcommando.blogspot.co.uk/2013/10/how-to-connect-to-wpawpa2-wifi -red.html

Los archivos de configuración para cada red los coloqué en un nuevo directorio en /etc/wpa_supplicant.d/SSID_HERE.conf y luego hice un pequeño script en /usr/local/bin/connectwifi que (¡aunque es un WIP aproximado!) se puede encontrar aquí : http://dgunix.com/383-cambio-entre-redes-wifi-en-linux/

¡Espero que eso te dé algunas ideas al menos!

(Respuesta encontrada en el sitio StackExchange de Unix y Linux)

Solución utilizando la herramienta nmcli , incluida en la mayoría de las distribuciones o fácilmente instalable a través de apt-get, yum...etc:

Para mostrar las redes WiFi ya almacenadas :

$ nmcli con
NAME            UUID                                   TYPE              TIME
Wireless-1      28d6c265-xxxx-4e83-907f-ecb5ab3ac37c   802-11-wireless   Thu 
Wired-Network   30d29da3-xxxx-4ea2-94ff-0edac8954ff7   802-3-ethernet    Sun 
Wireless-2      89f31b44-xxxx-4b7d-abb1-8242a1fa7040   802-11-wireless   Thu 
Wireless-3      6adcb4e8-xxxx-4e88-bf50-872d9e5eb1f3   802-11-wireless   Fri 
Wireless-4      8c4fc701-xxxx-472e-aecc-40131c0d8d31   802-11-wireless   Fri 

Tenga en cuenta que la red se almacena mediante un identificador UUID único .

Para conectarse a cualquiera de estas redes (ejemplo para Wireless-1):

$ nmcli con up uuid 28d6c265-xxxx-4e83-907f-ecb5ab3ac37c

Consulte la página de manual para obtener más funciones, como olvidar, desconectar, escanear o conectarse a una red nueva (aún no almacenada).
La nmcliherramienta es genial: puede funcionar con un dispositivo inalámbrico específico (ie: wlan0) o con cualquiera de ellos de manera genérica (ie: solo especificas wifiy la herramienta se encarga de establecer la conexión).

Información extraída de aquí .
Gracias a @ThatGuy por el enlace.

Puedes probar:

  • iwque es la herramienta básica para las tareas relacionadas con la red WiFi (Ver: Configuración de red inalámbrica )
  • Herramientas Inalámbricas (WT): iwconfig/ iwlist(conjunto de herramientas que permiten manipular las Extensiones Inalámbricas),
  • wpasupplicant(la mayoría de las distribuciones hoy en día tienen wpa_supplicant instalado por defecto)

Lee mas: