¿Cómo conectar y desconectar a una red manualmente en la terminal?

97

Como el administrador de la red me preocupa tanto, quiero reemplazarlo (posiblemente wicd o NM de ppa: volanin ).

No sé cómo conectarme y desconectarme de la red a través del terminal sin usar el administrador de red.

Me gustaría una forma de línea de comando para administrar la red.

    
pregunta user7048 07.12.2010 - 21:59

4 respuestas

119

Esto se aplica a 12.04+ ya que estos son los que podría probar, pero también podrían usarse en versiones anteriores. He separado esta guía en varias partes, que consisten en:

Parte 1 : enrutadores inalámbricos sin contraseña o clave WEP

Parte 2 - Enrutadores inalámbricos con clave WPA

  • Parte 2.1 : conexión a un enrutador WPA con wpa_supplicant
  • Parte 2.2 - Conexión a un enrutador WPA con Network Manager

Parte 3 - Conexión fácil a través de nmcli

Parte 4 - Desconexión de un enrutador inalámbrico

Parte 5 - Eliminar una conexión (incluido el archivo de configuración)

Parte 6 - Conexión automática cuando se inicia sesión en

Bonificación : cómo encontrar el nombre de su interfaz de red a través de la GUI

Las siguientes líneas de comando se pueden usar para conectarse y desconectarse dependiendo de la tarjeta inalámbrica, la seguridad inalámbrica y la configuración del enrutador inalámbrico. Antes de continuar, asegúrese de que el servicio de red esté habilitado (para casos en los que podría iniciar Ubuntu usando el modo de Recuperación):

Dependiendo de tu versión de Ubuntu, necesitarías iniciarla usando uno de los siguientes métodos:

Si usa el modo Legacy init.d: ​​

sudo /etc/init.d/networking restart

Si usa el método heredado Upstart:

sudo service network-manager restart

Si usa SystemD:

sudo systemctl start networking

1. ENRUTADOR INALÁMBRICO (SIN CONTRASEÑA O SEGURIDAD WEP SOLAMENTE)

En los casos en que el enrutador inalámbrico no tenga contraseña o seguridad WEP, haga lo siguiente:

  1. Abra la terminal y busque la conexión inalámbrica:

    iwlist wlan0 s  
    

    (El s es para escanear. wlan0 es mi tarjeta inalámbrica, pero podría ser diferente para cada usuario. Algunos tienen eth0, otros wlan2 ... Necesitas sudo para ejecutar esta opción. Para averiguar el nombre de su tarjeta inalámbrica, simplemente escriba iwlist y presione TAB . Esto debería completar automáticamente la línea con el nombre de la tarjeta de red. También puede escribir iwconfig y encontrar el nombre en la lista que se mostrará.)

    Si no conoce el nombre de sus dispositivos inalámbricos, escriba: iwconfig , que le mostrará sus dispositivos cableados / inalámbricos y sus nombres. Pueden ser algo como wlan0, wlan1, eth1, eth2 ..

  2. La búsqueda le mostrará todos los puntos de acceso posibles (AP) visibles para usted. Después de ver su enrutador en la lista, intente conectarse a él:

    Si no tiene una contraseña, haga lo siguiente:

    iwconfig wlan0 essid NAME_OF_ACCESS_POINT  
    

    Por ejemplo

    iwconfig wlan0 essid CYREX  
    

    después de eso, asegúrese de usar dhclient para que pueda obtener una dirección IP dinámica en caso de que el enrutador no le asigne uno. Eso debería dejarlo conectado al enrutador CYREX.

    Si tiene una contraseña, hazlo:

    iwconfig wlan0 essid CYREX key PASSWORD
    

    Eso debería conectarse usando la CONTRASEÑA que diste allí.

    Una vez más, haz dhclient después de conectarte para asegurarte de que tienes una IP asignada.

  3. Asegúrate de estar conectado correctamente siempre es bueno, así que ejecuta iwconfig para asegurarte de que tu tarjeta inalámbrica esté conectada al SSID que mencionaste anteriormente. Debería mostrar su dispositivo conectado y la IP asignada a usted. Si no lo hace y le da un error como La interfaz no admite el escaneo pruebe las siguientes 2 opciones:

    • Prueba si tu interfaz es UP: sudo ifconfig wlan0 up

    • Prueba a agregar sudo al hacer el escaneo: sudo iwlist wlan0 s

    • Intenta bajar el dispositivo y luego hacer una copia de seguridad:

      sudo ifconfig wlan0 down  
      sudo ifconfig wlan0 up
      

2. ROUTER INALÁMBRICO (WPA o WPA2 SEGURIDAD)

En los casos en que el enrutador inalámbrico tiene una contraseña WPA / WPA2, existen algunas formas de hacerlo. Mencionaré los 2 más populares ::

  1. Abra la terminal y busque la conexión inalámbrica:

    iwlist wlan0 s  
    

    (El s es para escanear. wlan0 es mi tarjeta inalámbrica, pero podría ser diferente para cada usuario. Algunos tienen eth0, otros wlan2 ... Necesitas sudo para ejecutar esta opción. Para averiguar el nombre de su tarjeta inalámbrica, simplemente escriba iwlist y presione TAB . Esto debería completar automáticamente la línea con el nombre de la tarjeta de red. También puede escribir iwconfig y encontrar el nombre en la lista que se mostrará.)

    Si no conoce el nombre de sus dispositivos inalámbricos, escriba: iwconfig , que le mostrará sus dispositivos cableados / inalámbricos y sus nombres. Pueden ser algo como wlan0, wlan1, eth1, eth2 ..

  2. La búsqueda le mostrará todos los puntos de acceso posibles (AP) visibles para usted. Después de ver su enrutador en la lista, intente conectarse a él:

2.1 GUÍA DE PROVEEDORES DE WPA

  1. Escriba lo siguiente en el terminal (suponiendo que tiene instalado el paquete wpasupplicant que instala todos los comandos necesarios que usaremos aquí):

    wpa_passphrase SSID PASSWORD > CONFIG_FILE
    

    Ejemplo: wpa_passphrase Virus LinuxFTW > wpa.conf

    Donde Virus es el nombre de mi enrutador, LinuxFTW es mi contraseña y wpa.conf es el archivo en el que quiero almacenar toda esta información.Tenga en cuenta que puede guardar el archivo en otro lugar, muchos usuarios guardan el archivo en /etc/wpa_supplicant.conf en lugar de wpa.conf . Los datos del archivo wpa.conf deberían ser algo como esto:

    network={  
            ssid="Virus"  
            #psk="LinuxFTW"  
            psk=1d538d505f48205589ad25b2ca9f52f9cbb67687e310c58a8dd940ccc03fbfae  
    }  
    
  2. Hasta este punto, debemos conocer el nombre de nuestra interfaz de tarjeta inalámbrica (por ejemplo: Wlan0, eth2, Wlan2 ...). Ahora necesitamos saber qué controlador está en uso. para esto tecleamos:

    wpa_supplicant
    

    Debería mostrarnos mucha información, pero habrá una sección llamada ** Controladores * que muestra todos los controladores disponibles (están disponibles al compilar wpa_supplicant ). En mi caso es así:

    drivers:  
      wext = Linux wireless extensions (generic)  
      nl80211 = Linux nl80211/cfg80211  
      wired = Wired Ethernet driver  
      none = no driver (RADIUS server/WPS ER)  
    

    Toda la lista es hostap, hermes, madwifi, wext, broadcom, cableada, roboswitch, bsd, ndis. Esto puede cambiar dependiendo de cómo se compiló wpa_supplicant , pero el que se muestra para mí debe ser similar al de su sistema. La mayoría de los usuarios seleccionará el controlador wext .

  3. Así que ahora que tenemos nuestro nombre de tarjeta de interfaz inalámbrica y el nombre del controlador, procedemos a conectarnos utilizando el archivo de configuración ya creado utilizando el siguiente formato:

    wpa_supplicant -iINTERFACE_NAME -cCONFIGURATION_FILE -DDRIVER_NAME
    

    Por ejemplo:

    wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -Dwext
    

    Donde -i es el nombre de su tarjeta de interfaz, -c es donde está su archivo de configuración y -D es el nombre del controlador que usará para conectarse. Si se conecta correctamente, presionamos CTRL + C para cancelarlo y luego ejecutamos la línea nuevamente, pero esta vez lo enviamos al fondo con -B para que podamos continuar usando la terminal:

    wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext  
    

    Después de eso simplemente haz un sudo dhclient wlan0 para obtener una IP del enrutador.

  4. Algunos usuarios informaron haber eliminado el hash y dejado solo la contraseña en la configuración, por ejemplo:

         network={  
                ssid="Virus"  
                psk="LinuxFTW"  
        }  
    

    Otros agregaron el ssid_scan al archivo de configuración:

        network={  
                ssid="Virus"
                scan_ssid=1  
                #psk="LinuxFTW"  
                psk=1d538d505f48205589ad25b2ca9f52f9cbb67687e310c58a8dd940ccc03fbfae  
        }  
    

    O incluso agregando el tipo de clave:

        network={  
                ssid="Virus"
                scan_ssid=1  
                key_mgmt=WPA-PSK
                #psk="LinuxFTW"  
                psk=1d538d505f48205589ad25b2ca9f52f9cbb67687e310c58a8dd940ccc03fbfae  
        }  
    

    Más información sobre esto en man wpa_supplicant.conf

2.2 GUÍA DEL ADMINISTRADOR DE RED

Lo bueno del administrador de red es que viene con un par de buenos scripts y herramientas. Dos de estos son nmcli y create_connection (secuencia de comandos Neat Python 3) que usaremos en este caso.

  1. Después de seguir los pasos mencionados anteriormente para encontrar el nombre SSID de su enrutador (recuerde la parte sobre iwlist anterior) hacemos lo siguiente:

    sudo /usr/share/checkbox/scripts/create_connection -S SECURITY_TYPE -K PASSWORD SSID_NAME
    

    Donde SEGURIDAD es el tipo de seguridad que usa el enrutador (WPA, WEP), CONTRASEÑA es ... bueno ... la contraseña y SSID_NAME es el nombre de SSID del Enrutador Por ejemplo:

    sudo /usr/share/checkbox/scripts/create_connection -S wpa -K LinuxFTW Virus
    

    Creará una conexión para Network Manager que debería verse más o menos así:

      [email protected]:~$ sudo /usr/share/checkbox/scripts/create_connection -S wpa -K LinuxFTW Virus
      [sudo] password for cyrex: 
      Connection Virus registered
      Connection Virus activated.
    
  2. Después de esto, debe obtener una IP asignada desde el enrutador. Si no, simplemente haz sudo dhclient wlan0 (Asumiendo que wlan0 es el nombre de tu interfaz). También puede verificar las conexiones de su administrador de red usando nmcli así: nmcli c que debería mostrar algo como esto:

     [email protected]:~$ nmcli c
      NAME                      UUID                                   TYPE              TIMESTAMP-REAL                    
      Xcentral                  f51a5a64-8a91-47d6-897c-28efcd84d2b0   802-11-wireless   Fri 22 Mar 2013 02:25:54 PM VET   
      Realtek                   9ded7740-ad29-4c8f-861f-84ec4da87f8d   802-3-ethernet    Tue 05 Mar 2013 01:18:31 AM VET   
      Intel                     e25b1fd8-c4ff-41ac-a6bc-22620296f01c   802-3-ethernet    Fri 05 Apr 2013 10:04:05 PM VET   
      Virus                     3f8ced55-507b-4558-a70b-0d260441f570   802-11-wireless   Tue 09 Apr 2013 06:31:10 AM VET   
    

Menciono el camino del Network Manager porque hay un par de casos donde el uso de wpa_supplicant simplemente no funciona (Problemas entre el enrutador y la tarjeta inalámbrica, problemas de seguridad, etc.). En mi caso, todos los intentos de usar wpa_supplicant en una PC no funcionaron, pero en otro funcionó la primera vez que lo intenté. Así que estoy publicando ambos métodos para ayudar en cada caso y para que sea más fácil para los usuarios decidir cuál quieren.

3. Conexión fácil a través de nmcli

A pesar de que hemos hablado sobre las formas de conectarse a él sin un administrador de red, también existe el caso de usar nmcli (versión CLI del administrador de red) cuando se aplica. Para hacer esto, hacemos lo siguiente:

  1. Compruebe para ver qué ESSID podemos ver:

    nmcli dev wifi
    
  2. Verifique el nombre del ESSID y procedamos a utilizarlo en la siguiente línea, incluida la contraseña necesaria (esto incluye las contraseñas de tipo WEP y WPA):

    nmcli dev wifi connect ESSID_NAME password ESSID_PASSWORD
    

    Aquí hay un ejemplo de cómo me estoy conectando al ESSID Linux5G

Si tiene varios dispositivos inalámbricos en su computadora, puede especificar cuál usar usando el parámetro ifname como ese:

nmcli dev wifi connect ESSID_NAME password ESSID_PASSWORD ifname WIRELESS_DEVICE_NAME

Por ejemplo, en mi caso, el nombre del dispositivo es wlp9s0 , así que usaría esta línea para especificar el dispositivo con el que me conectaré:

Se puede obtener más información sobre nmcli utilizando el parámetro de ayuda. Por ejemplo, si quisiera saber acerca de nmcli dev , escriba nmcli dev help . Si quisiera saber más sobre nmcli dev wifi , escriba nmcli dev wifi help y así sucesivamente.

4. DESCONEXIÓN DESDE UN ENRUTADOR INALÁMBRICO

Hay varias maneras de lograr esto:

  • Desconectar por "fuerza": sudo ifconfig wlan0 down

    Esto desactivará la interfaz de la tarjeta inalámbrica (el controlador se apaga). Para activar simplemente escriba ifconfig wlan0 up seguido de sudo dhclient wlan0 . Todavía se mostrará como conectado si lo visualiza Network Manager, pero en realidad no habrá conexión con el enrutador.Intentando ping lanzará un error de connect: Network is unreachable .

  • Libere la IP de DHCP: sudo dhclient -r wlan0

    Recuerda hacer sudo dhclient wlan0 para asignarte un IP nuevamente.

  • Desconecte usando Network Manager: nmcli nm enable false

    Donde nm es el parámetro de nmcli que gestiona y establece los estados de Network Manager. La opción enable puede ser verdadera o falsa , lo que significa que si se establece en falso , todas las conexiones de red administradas por Network Manager se desconectarán. tenga en cuenta que nmcli no necesita permisos de raíz.

Para ver el estado de Network Manager, escriba nmcli nm , debería mostrar algo similar a esto:

      [email protected]:~$ nmcli nm
      RUNNING         STATE           WIFI-HARDWARE   WIFI       WWAN-HARDWARE   WWAN      
      running         connected       enabled         enabled    enabled         enabled   

Otra forma de encender o apagar la conexión (Conectar / Desconectar) es haciendo lo siguiente:

nmcli c down id NAME' - Will disconnect the connection NAME  

nmcli c up id NAME' - Will connect the connection NAME

5. ELIMINAR UNA CONEXIÓN

Eliminar una conexión existente es bastante fácil. Primero escriba en la terminal:

nmcli c

Producirá algo como esto:

[email protected]:~$ nmcli c
NAME                      UUID                                   TYPE              TIMESTAMP-REAL                    
Realtek                   9ded7740-ad29-4c8f-861f-84ec4da87f8d   802-3-ethernet    Tue 05 Mar 2013 01:18:31 AM VET   
PrivateSys                86b2b37d-4835-44f1-ba95-46c4b747140f   802-11-wireless   Sun 21 Apr 2013 07:52:57 PM VET   
pepe                      9887664b-183a-45c0-a81f-27d5d0e6d9d8   802-11-wireless   Thu 18 Apr 2013 02:43:05 AM VET   
Virus                     3f8ced55-507b-4558-a70b-0d260441f570   802-11-wireless   Tue 16 Apr 2013 11:33:24 AM VET   
Intel                     e25b1fd8-c4ff-41ac-a6bc-22620296f01c   802-3-ethernet    Sun 21 Apr 2013 08:12:29 PM VET   
Xcentral                  f51a5a64-8a91-47d6-897c-28efcd84d2b0   802-11-wireless   Fri 22 Mar 2013 02:25:54 PM VET  

Ahora digamos que queremos eliminar Xcentral , luego procedemos con el siguiente comando:

nmcli c delete id Xcentral

Después de hacerlo debería ser algo como esto:

[email protected]:~$ nmcli c delete id Xcentral
[email protected]:~$ nmcli c
NAME                      UUID                                   TYPE              TIMESTAMP-REAL                    
Realtek                   9ded7740-ad29-4c8f-861f-84ec4da87f8d   802-3-ethernet    Tue 05 Mar 2013 01:18:31 AM VET   
PrivateSys                86b2b37d-4835-44f1-ba95-46c4b747140f   802-11-wireless   Sun 21 Apr 2013 07:52:57 PM VET   
pepe                      9887664b-183a-45c0-a81f-27d5d0e6d9d8   802-11-wireless   Thu 18 Apr 2013 02:43:05 AM VET   
Virus                     3f8ced55-507b-4558-a70b-0d260441f570   802-11-wireless   Tue 16 Apr 2013 11:33:24 AM VET   
Intel                     e25b1fd8-c4ff-41ac-a6bc-22620296f01c   802-3-ethernet    Sun 21 Apr 2013 08:12:29 PM VET   

Todas las conexiones se almacenan en /etc/NetworkManager/system-connections/

Si tuviera que buscar en esa carpeta en este momento, vería los siguientes archivos:

[email protected]:~$ ls /etc/NetworkManager/system-connections
Intel  pepe  PrivateSys  Realtek  Virus

Esto es solo en caso de que desee editar / eliminar / agregar una conexión a mano.

6. Conexión inalámbrica automática al iniciar sesión

Para los casos en los que le gustaría iniciar sesión automáticamente en un enrutador inalámbrico, aquí están los pasos:

  1. Abra el archivo interface :

    sudo nano /etc/network/interfaces
    
  2. Agregue la siguiente información (suponiendo que su interfaz se llame wlan0):

    auto wlan0
    iface wlan0 inet static
    address ASSIGNED_IP
    netmask 255.255.255.0
    gateway THE_GATEWAY
    wireless-essid YOURSSID
    wireless-key WIRELESSKEY_HERE
    
  3. Guarde el archivo y reinicie la computadora. Tenga en cuenta que esto se guardará en un archivo de texto plano al que se puede acceder desde la misma computadora.

BONUS

Encuentra el nombre de tu conexión inalámbrica GUI Style

  1. Haz clic en el Administrador de red y ve a Información de conexión

  1. Vaya a la pestaña que contiene su tarjeta inalámbrica

En esta imagen, esta tarjeta de red se llama eth1 (dentro del paréntesis) pero puede ser diferente para cada usuario. Normalmente sería un wlan (como wlan0, wlan1, wlan2 ...) pero también puede ser eth1, eth2, etc. Así que debes ver qué nombre tiene.

Otra forma de encontrar el nombre rápidamente es escribiendo iwconfig , que mostrará toda la tarjeta de red inalámbrica disponible.

    
respondido por el Luis Alvarado 07.12.2010 - 22:26
32

Es bastante fácil si sabes cómo hacerlo.

Mostrar los puntos de acceso wlan disponibles:

nmcli dev wifi

Conectarse con el punto de acceso:

nmcli dev wifi connect $ACCESS_POINT password $PASSWORD
    
respondido por el Ikem Krueger 13.09.2014 - 14:44
12

wicd viene con 2 utilidades de línea de comando: wicd-curses y wicd-cli (pueden requerir una instalación separada) wicd-curse le permite configurar / conectar desconexión a redes (cableadas o inalámbricas) interactivamente, wicd-cli ofrece la misma funcionalidad pero a través de opciones de línea de comandos (útiles para scripts) Lo uso en un trabajo cron para solucionar algunos errores de reconexión automática:

wicd-cli -y -c -m MY_NETWORK_SSID

También puede "simplemente" tener una configuración de wpa_supplicant algo así como:

/ etc / network / interface:

auto wlan0 
iface wlan0 inet dhcp 
wpa-conf /etc/wpa.conf

y (como ejemplo de WPA) /etc/wpa.conf:

network={
  ssid="MY_NETWORK_SSID"
  proto=RSN
  key_mgmt=WPA_PSK
  pairwise=CCMP_TKIP
  group=CCMP_TKIP
  psk="my network key in the clear"
}

hay muchas consideraciones al respecto, de las cuales la preocupación de seguridad de tener la clave previamente compartida en texto claro (wpa_supplicant puede permitirle presentar una clave encriptada o tal vez simplemente ofuscada, consulte la página de manual), también haciendo que ese archivo sea propiedad y legible solo por root es una mitigación.

Creo que tener varias secciones de red permitiría conectar varias redes, por orden de prioridad.

    
respondido por el Philippe 31.12.2012 - 05:33
4

Uso wicd-curses , que me parece que es la interfaz de usuario más sencilla.

Debe usar la (tecla de flecha a la derecha -> ) para configurar las configuraciones; todo lo demás es obvio a partir de las instrucciones en pantalla.

Por supuesto, necesita encontrar alguna forma de conectarse a Internet sin wicd ; Supongo que ya lo has resuelto o no estarías publicando.

(Esto no es oportuno para el OP, solo publica para la posteridad, ya que esta pregunta aún aparece en Google. Para los buscadores de Google: si estás leyendo esto desde la computadora de un café o amigo o algo así, tal vez puede usar un cable en algún lugar para obtener wicd-curses instalado con sudo apt-get install wicd-curses ; luego, asegúrese de probarlo en una red que se sabe que funciona antes de partir!)

    
respondido por el isomorphismes 19.05.2015 - 16:45

Lea otras preguntas en las etiquetas