El libre pensamiento para un internet libre

No estas registrado.  

Anuncio

Wifi-libre.com: El libre pensamiento para un internet libre / Regístrese ahora

#1 02-11-2016 22:51:32

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 4,060

Como conectarse a una red WPA en linea de ordenes con nmcli

Como conectarse a una red WPA en linea de ordenes con nmcli

No soy un fan de Network Manager para nada y me parece una pena que no podamos elegir entre más gestores de redes.
Wicd me gusta más pero tampoco es perfecto. 
  Para bien o para mal las cosas son cómo son y 99% de las distribuciones GNU-Linux vienen con el inamovible Network Manager.
   Tampoco Network Manager es malo.
Hay vamos a interesarnos un rato a su potente CLI.
  Es decir su programa para ejecutarlo en linea de ordenes, sin pasar por la interfaz gráfica.   
    La traducción correcta de CLI sería "interfaz de línea de órdenes (comandos)" y es entonces distinta a la GUI ("Interfaz Gráfica para Usuario") que usamos a diario.
Usar la CLI es algo muy útil para, por ejemplo, gestionar el wifi de un dispositivo remotamente mediante ssh
O si tenemos un bug con el applet (me ha desaparecido una vez o dos en unas disto tras un upgrade) y que no podemos conectarnos con la interfaz gráfica

Pasos a seguir

Vamos a hacer todo desde cero  utilizando nmcli (Network Manager CLI)

   1) Lo primero sería identificar la interfaz wifi y de paso conocer su estado.

sudo nmcli dev status

nmcli_connect_wpa_1.jpg

   
   2) Segundo paso: Escaneo wifi en consola ( y en colores. cool )

sudo nmcli dev wifi list

nmcli_connect_wpa_2.jpg

  Inmediato y bonito.
Con un único reproche: No enseña el bSSID.
Tampoco hace la distinción entre b/g (hasta 54Mbps) y b/g/n (hasta... 600 mbps... pero generalmente los hardwares permiten 150 o 300Mbps)

   3) Paso tres: Crear el perfíl
  Así funciona nmcli: Creamos el perfil primero y luego lo activamos.
Es la principal diferencia con el método "tradicional" para conectarse en lineas de ordenes utilizando directamente wpa_supplicant
La ventaja es que una vez que un perfil esta creado se activa super rápido, con una orden corta.
  Lo primero es lo primero y hay que crear el perfíl.
Lo hago para mi red, la primera que sale, wifi-libre (WPA 2)

  1. sudo nmcli con add con-name wificasa ifname wlan0 type wifi ssid Wifi-libre

      * con add con-name significa que añadimos un perfíl. Pongo como nombre de perfil wificasa
      * ifname va seguido de la interfaz wifi. La hemos detectado en el paso uno y es wlan0
      * Después ssid ponéis el vuestro
    ¡Todo bien!
    nmcli_connect_wpa_3.jpg

  2. Ahora habilitamos el WPA

    sudo nmcli con modify wificasa wifi-sec.key-mgmt wpa-psk

      * con modify: Es para configurar el perfil que indicamos a continuación (wificasa en mi ejemplo)
      * wifi-sec.key-mgmt wpa-psk = ¡Deme WPA!

  3. Y entramos la llave WPA para conectarse

    sudo nmcli con modify wificasa wifi-sec.psk w1Fi()[email protected]!¡_kl

      * La diferencia con linea precedente es que usamos al final wifi-sec.psk seguido por nuestra llave (w1Fi()[email protected]!¡_kl en este ejemplo)

    4) Cuarto y ultimo paso: activamos el perfil
Así de simple:

sudo nmcli connection up wificasa

(poner el nombre de su perfil en lugar de wificasa wink )
Job is done! cool : nmcli_connect_wpa_4.jpg
  Puedo verificarlo con

 sudo nmcli -p c

( -p es para "pretty" (poner colorines en consola) y c es para "conexiones" )

nmcli_connect_wpa_5.jpg

  Y puedo "saberlo todo" sobre el perfil con

sudo nmcli -p con show wificasa

El stdout es muy largo y no cabe en una captura de pantalla.
Así que lo pongo en este bloque para código:

~$ sudo nmcli -p con show wificasa
===============================================================================
                  Detalles del perfil de conexión (wificasa)
===============================================================================
connection.id:                          wificasa
connection.uuid:                        d2a4f354-f6ef-45a3-bf90-551d6bb197f3
connection.interface-name:              wlan0
connection.type:                        802-11-wireless
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.timestamp:                   1478121322
connection.read-only:                   no
connection.permissions:                 
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 
connection.gateway-ping-timeout:        0
connection.metered:                     desconocido
connection.lldp:                        -1 (default)
-------------------------------------------------------------------------------
802-11-wireless.ssid:                   wifilibre
802-11-wireless.mode:                   --
802-11-wireless.band:                   --
802-11-wireless.channel:                0
802-11-wireless.bssid:                  --
802-11-wireless.rate:                   0
802-11-wireless.tx-power:               0
802-11-wireless.mac-address:            --
802-11-wireless.cloned-mac-address:     --
802-11-wireless.mac-address-blacklist:  
802-11-wireless.mac-address-randomization:predeterminado
802-11-wireless.mtu:                    auto
802-11-wireless.seen-bssids:            00:C0:CA:78:B1:37
802-11-wireless.hidden:                 no
802-11-wireless.powersave:              default (0)
-------------------------------------------------------------------------------
802-11-wireless-security.key-mgmt:      wpa-psk
802-11-wireless-security.wep-tx-keyidx: 0
802-11-wireless-security.auth-alg:      --
802-11-wireless-security.proto:         
802-11-wireless-security.pairwise:      
802-11-wireless-security.group:         
802-11-wireless-security.leap-username: --
802-11-wireless-security.wep-key0:      <hidden>
802-11-wireless-security.wep-key1:      <hidden>
802-11-wireless-security.wep-key2:      <hidden>
802-11-wireless-security.wep-key3:      <hidden>
802-11-wireless-security.wep-key-flags: 0 (none)
802-11-wireless-security.wep-key-type:  0 (desconocido)
802-11-wireless-security.psk:           <hidden>
802-11-wireless-security.psk-flags:     0 (none)
802-11-wireless-security.leap-password: <hidden>
802-11-wireless-security.leap-password-flags:0 (none)
-------------------------------------------------------------------------------
ipv4.method:                            auto
ipv4.dns:                               
ipv4.dns-search:                        
ipv4.dns-options:                       (predeterminado)
ipv4.dns-priority:                      0
ipv4.addresses:                         
ipv4.gateway:                           --
ipv4.routes:                            
ipv4.route-metric:                      -1
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-timeout:                      0
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.dad-timeout:                       -1 (default)
-------------------------------------------------------------------------------
ipv6.method:                            auto
ipv6.dns:                               
ipv6.dns-search:                        
ipv6.dns-options:                       (predeterminado)
ipv6.dns-priority:                      0
ipv6.addresses:                         
ipv6.gateway:                           --
ipv6.routes:                            
ipv6.route-metric:                      -1
ipv6.ignore-auto-routes:                no
ipv6.ignore-auto-dns:                   no
ipv6.never-default:                     no
ipv6.may-fail:                          yes
ipv6.ip6-privacy:                       -1 (desconocido)
ipv6.addr-gen-mode:                     stable-privacy
ipv6.dhcp-send-hostname:                yes
ipv6.dhcp-hostname:                     --
-------------------------------------------------------------------------------
===============================================================================
      Activar detalles de conexión (d2a4f354-f6ef-45a3-bf90-551d6bb197f3)
===============================================================================
GENERAL.NOMBRE:                         wificasa
GENERAL.UUID:                           d2a4f354-f6ef-45a3-bf90-551d6bb197f3
GENERAL.DISPOSITIVOS:                   wlan0
GENERAL.ESTADO:                         activada
GENERAL.PREDETERMINADO:                 no
GENERAL.PREDETERMINADO6:                no
GENERAL.VPN:                            no
GENERAL.ZONA:                           --
GENERAL.RUTA-DBUS:                      /org/freedesktop/NetworkManager/ActiveConnection/28
GENERAL.CON-RUTA:                       /org/freedesktop/NetworkManager/Settings/18
GENERAL.OBJETO SPEC:                    /org/freedesktop/NetworkManager/AccessPoint/571
GENERAL.MASTER-RUTA:                    --
-------------------------------------------------------------------------------
IP4.DIRECCIÓN[1]:                       192.168.2.3/24
IP4.PUERTA DE ENLACE:                   192.168.2.1
IP4.DNS[1]:                             8.8.8.8
IP4.DOMINIO[1]:                         myAlfasetup
-------------------------------------------------------------------------------
DHCP4.OPCIÓN[1]:                        requested_routers = 1
DHCP4.OPCIÓN[2]:                        requested_domain_search = 1
DHCP4.OPCIÓN[3]:                        requested_time_offset = 1
DHCP4.OPCIÓN[4]:                        requested_domain_name = 1
DHCP4.OPCIÓN[5]:                        requested_rfc3442_classless_static_routes = 1
DHCP4.OPCIÓN[6]:                        requested_broadcast_address = 1
DHCP4.OPCIÓN[7]:                        requested_netbios_scope = 1
DHCP4.OPCIÓN[8]:                        requested_wpad = 1
DHCP4.OPCIÓN[9]:                        next_server = 0.0.0.0
DHCP4.OPCIÓN[10]:                       expiry = 1478149562
DHCP4.OPCIÓN[11]:                       requested_interface_mtu = 1
DHCP4.OPCIÓN[12]:                       requested_subnet_mask = 1
DHCP4.OPCIÓN[13]:                       routers = 192.168.2.1
DHCP4.OPCIÓN[14]:                       dhcp_message_type = 5
DHCP4.OPCIÓN[15]:                       ip_address = 192.168.2.3
DHCP4.OPCIÓN[16]:                       requested_static_routes = 1
DHCP4.OPCIÓN[17]:                       domain_name = myAlfasetup
DHCP4.OPCIÓN[18]:                       requested_domain_name_servers = 1
DHCP4.OPCIÓN[19]:                       broadcast_address = 192.168.2.255
DHCP4.OPCIÓN[20]:                       requested_ntp_servers = 1
DHCP4.OPCIÓN[21]:                       requested_netbios_name_servers = 1
DHCP4.OPCIÓN[22]:                       dhcp_lease_time = 28800
DHCP4.OPCIÓN[23]:                       domain_name_servers = 8.8.8.8
DHCP4.OPCIÓN[24]:                       requested_ms_classless_static_routes = 1
DHCP4.OPCIÓN[25]:                       subnet_mask = 255.255.255.0
DHCP4.OPCIÓN[26]:                       network_number = 192.168.2.0
DHCP4.OPCIÓN[27]:                       requested_host_name = 1
DHCP4.OPCIÓN[28]:                       dhcp_server_identifier = 192.168.2.1
-------------------------------------------------------------------------------
IP6.DIRECCIÓN[1]:                       fe80::c8e7:f0ba:ceec:64ff/64
IP6.PUERTA DE ENLACE:                   
-------------------------------------------------------------------------------
[email protected]:~$ 

Conclusión

  nmcli no hace nada que no podemos hacer con wpa_supplicant (o wpa_cli) y un servicio dhcp (si no configuramos la IP a mano)
Lógico ya que podemos decir que Network Manager es básicamente es un wrapper para wpa_supplicant
  La ventaja de nmcli es que es unifica todas las ordenes (el dhcp se lanza automáticamente) y que no tenemos que crear nosotros un fichero de configuración cómo es el caso con wpa_supplicant.
Llevar el proceso para conectarse a una red WPA es más rápido y más cómodo comparándolo con lo qué es hacerlo medisante  wpa_supplicant en linea de ordenes
  Y una vez que un perfil esta creado es lo más para pasar de una red a otra al instante. 
   Notareis que cuando hacéis una modificación en un perfil, los cambios se ven de inmediato en la GUI en propriedades: Hay una muy buena gestión en vivo de la relación CLI - GUI, nada de latencia para ver los cambios.
   Las sintaxis de la CLI no son complejas, la lógica de funcionamiento es directa y simple.
   Quizá podrían ahorrarnos una etapa, que al activar el WPA podamos poner la llave (ya que si se activa el WPA hace falta una si o si)
  Tengo que admitir que me ha convencido y no poco.
    Diría que  la CLI me gusta más que la GUI... A partir de ahora seré más indulgente cuando hablaré de Network Manager  tongue

Fuentes

Desconectado

Anuncio

Wifi-highpower.es es distribuidor oficial de Alfa Network

#2 03-11-2016 02:39:18

Koala
Very Important Usuario

Registrado: 11-09-2016
Mensajes: 733

Re: Como conectarse a una red WPA en linea de ordenes con nmcli

Muy bueno so tambien cool a mi tan poco me gusta network-manager y wicd... es wicd


Hostbase rogue AP project con Kali-linux xfce.

Debian--Arch--Kali--DFlinux

Desconectado

Anuncio

Wifi-libre.com: El libre pensamiento para un internet libre / Regístrese ahora

Temas similares

Tema Respuestas Vistas Ultimo mensaje
Pegado:
Pegado:: Script multiuso wifi para Kali y otras distros por v1s1t0r  [ 1 2 3 12 ]
288 14383 Hoy 08:16:45 por v1s1t0r
11 212 Ayer 21:42:30 por crash
Pegado:
Pegado:: 1ª Sorteo Del Mercadillo por josep345  [ 1 2 3 4 5 ]
124 2827 16-06-2018 10:55:15 por josep345
Asrock 775i945GZ por josep345
4 89 15-06-2018 19:42:37 por josep345
7 135 15-06-2018 16:00:27 por josep345

Pie de página

Información del usuario

Ultimo usuario registrado: daqaz
Usuarios registrados conectados: 0
Invitados conectados: 12

Estadisticas de los foros

Número total de usuarios registrados: 1,043
Número total de temas: 1,079
Número total de mensajes: 10,691

Máx. usuarios conectados: 69 el 15-10-2017 09:23:21