web-dev-qa-db-fra.com

Comment se connecter et se déconnecter manuellement à un réseau dans un terminal?

Étant donné que le gestionnaire de réseau me préoccupe tellement, je souhaite le remplacer (éventuellement wicd ou NM de ppa: volanin).

Je ne sais pas comment se connecter et se déconnecter du réseau via le terminal sans utiliser le gestionnaire de réseau.

Je voudrais un moyen de gérer le réseau en ligne de commande.

112
user7048

Ceci s'applique à 12.04+ car ce sont ceux que j'ai pu tester mais qui pourraient également être utilisés dans les versions antérieures. J'ai séparé ce guide en plusieurs parties, composées de:

  • Partie 1 Routeurs sans fil sans mot de passe ou clé WEP
  • Partie 2 Routeurs sans fil avec clé de sécurité WPA ou WPA2
    • Partie 2.1 Connexion à un routeur WPA avec wpa_supplicant
    • Partie 2.2 Connexion à un routeur WPA avec Network Manager
  • Partie 3 Connexion facile via nmcli
  • Partie 4 Déconnexion d'un routeur sans fil
  • Partie 5 Suppression d'une connexion (y compris un fichier de configuration)
  • Partie 6 Connexion automatique lors de la connexion
  • Bonus Comment trouver le nom de votre interface réseau via une interface graphique

Les lignes de commande suivantes peuvent être utilisées pour connecter et déconnecter en fonction des paramètres de la carte sans fil, de la sécurité sans fil et du routeur sans fil. Avant de continuer, assurez-vous que le service réseau est activé (dans les cas où vous pourriez démarrer Ubuntu en mode de récupération):

En fonction de votre version d'Ubuntu, vous devrez le démarrer de l'une des manières suivantes:

Si vous utilisez SystemD (depuis 14.10+):

Sudo systemctl start networking

Si vous utilisez la méthode Legacy init.d: ​​Sudo /etc/init.d/networking restart

Si vous utilisez la méthode Legacy Upstart: Sudo service network-manager restart

Partie 1: Routeurs sans fil sans mot de passe ni clé WEP

Dans les cas où le routeur sans fil n'a pas de mot de passe ou de sécurité WEP, procédez comme suit:

  1. Ouvrez le terminal et recherchez la connexion sans fil:

    iwlist wlan0 s  
    

    (Le s est destiné à la numérisation. wlan0 est ma carte sans fil mais pourrait être différent pour chaque utilisateur. Certains ont eth0, d'autres wlan2 .. Vous avez besoin de Sudopour exécuter cette option.Pour connaître le nom de votre carte sans fil, tapez simplement iwlist et appuyez sur TAB. Cela devrait compléter automatiquement la ligne avec le nom de la carte réseau. Vous pouvez également taper iwconfiget trouver le nom dans la liste qui s'affichera.)

    Si vous ne connaissez pas le nom de vos périphériques sans fil, tapez: iwconfigqui vous montrera vos périphériques câblés/sans fil et leurs noms. Ils pourraient être quelque chose comme wlan0, wlan1, eth1, eth2 ..

  2. La recherche vous montrera tous les points d'accès (AP) visibles pour vous. Lorsque vous voyez votre routeur dans la liste, essayez de vous y connecter:

    S'il n'y a pas de mot de passe, procédez comme suit:

    iwconfig wlan0 essid NAME_OF_ACCESS_POINT  
    

    Par exemple

    iwconfig wlan0 essid CYREX  
    

    après cela, assurez-vous d’utiliser dhclientafin d’obtenir une adresse IP dynamique au cas où le routeur ne vous en attribuerait pas une. Cela devrait vous laisser connecté au routeur CYREX.

    S'il y a un mot de passe, alors:

    iwconfig wlan0 essid CYREX key PASSWORD
    

    Cela devrait se connecter en utilisant le mot de passe que vous avez donné là-bas.

    Encore une fois, faites dhclientaprès votre connexion pour vous assurer d'obtenir une adresse IP attribuée.

  3. Assurez-vous que vous êtes correctement connecté, c'est toujours bon. Exécutez donc iwconfigpour vous assurer que votre carte sans fil est connectée au SSID mentionné ci-dessus. Il devrait afficher votre appareil connecté et l'adresse IP qui vous est attribuée. Si ce n'est pas le cas et que vous obtenez une erreur telle que , l'interface ne prend pas en charge l'analyse , essayez les 2 options suivantes:

    • Testez si votre interface est UP: Sudo ifconfig wlan0 up
    • Essayez d’ajouter Sudolors de l’analyse: Sudo iwlist wlan0 s
    • Essayez d’arrêter l’appareil puis de le sauvegarder:

      Sudo ifconfig wlan0 down  
      Sudo ifconfig wlan0 up
      

Partie 2: Routeurs sans fil avec clé de sécurité WPA ou WPA2

Dans les cas où le routeur sans fil a un mot de passe WPA/WPA2, il existe plusieurs façons de le faire. Je mentionnerai les 2 plus populaires ::

  1. Ouvrez le terminal et recherchez la connexion sans fil:

    iwlist wlan0 s  
    

    (Le s est destiné à la numérisation. wlan0 est ma carte sans fil mais pourrait soyez différent pour chaque utilisateur. Certains ont eth0, d'autres wlan2 .. Vous devez disposer de Sudopour exécuter cette option. Pour trouver le nom de votre carte sans fil, tapez simplement iwlist et appuyez sur TAB. Cela devrait compléter automatiquement la ligne avec le nom de la carte réseau. Vous pouvez également taper iwconfiget trouver le nom dans la liste qui s'affichera.)

    Si vous ne connaissez pas le nom de vos périphériques sans fil, tapez: iwconfigqui vous montrera vos périphériques câblés/sans fil et leurs noms. Ils pourraient être quelque chose comme wlan0, wlan1, eth1, eth2 ..

  2. La recherche vous montrera tous les points d'accès (AP) visibles pour vous. Lorsque vous voyez votre routeur dans la liste, essayez de vous y connecter:

Partie 2.1 GUIDE DU FOURNISSEUR WPA: Connexion à un routeur WPA avec wpa_supplicant

  1. Tapez ce qui suit dans le terminal (en supposant que vous ayez installé le paquetage wpasupplicantqui installe toutes les commandes nécessaires que nous utiliserons ici):

    wpa_passphrase SSID PASSWORD > CONFIG_FILE
    

    Exemple: wpa_passphrase Virus LinuxFTW > wpa.conf

    Virus est le nom de mon routeur, LinuxFTW est mon mot de passe et wpa.conf est le fichier dans lequel je veux stocker toutes ces informations. Notez que vous pouvez enregistrer le fichier dans un autre emplacement. De nombreux utilisateurs enregistrent le fichier dans /etc/wpa_supplicant.conf au lieu de wpa.conf. Les données du fichier wpa.conf devraient ressembler à ceci:

    network={  
            ssid="Virus"  
            #psk="LinuxFTW"  
            psk=1d538d505f48205589ad25b2ca9f52f9cbb67687e310c58a8dd940ccc03fbfae  
    }  
    
  2. Jusqu'ici, nous devrions connaître le nom de notre interface de carte sans fil (par exemple: Wlan0, eth2, Wlan2 ...). Nous devons maintenant savoir quel pilote est utilisé. pour cela on tape:

    wpa_supplicant
    

    Il devrait nous montrer beaucoup d’informations, mais il y aura une section intitulée ** Drivers * qui montre tous les pilotes disponibles (ceux-ci sont disponibles lors de la compilation de wpa_supplicant). Dans mon cas c'est comme ça:

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

    Toute la liste est hostap, hermes, madwifi, wext, broadcom, câblé, roboswitch, bsd, ndis. Cela peut changer en fonction de la façon dont wpa_supplicant a été compilé, mais celui qui s'affiche pour moi doit être similaire à celui de votre système. La plupart des utilisateurs sélectionneront le pilote wextname__.

  3. Alors maintenant que nous avons le nom de la carte d'interface sans fil et le nom du pilote, nous procédons à la connexion à l'aide du fichier de configuration déjà créé au format suivant:

    wpa_supplicant -iINTERFACE_NAME -cCONFIGURATION_FILE -DDRIVER_NAME
    

    Par exemple:

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

    -i est le nom de votre carte d'interface, -c est l'endroit où se trouve votre fichier de configuration et -D est le nom du pilote que vous utiliserez pour vous connecter. S'il se connecte correctement, nous appuyons sur CTRL+C pour l'annuler et ensuite exécuter à nouveau la ligne mais cette fois nous l'envoyons à l'arrière-plan avec -B afin que nous puissions continuer à utiliser le terminal:

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

    Après cela, faites simplement un Sudo dhclient wlan0 pour obtenir une adresse IP du routeur.

  4. Certains utilisateurs ont signalé avoir supprimé le hachage et ne laisser que le mot de passe dans la configuration, par exemple:

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

    D'autres ont ajouté le ssid_scan au fichier de configuration:

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

    Ou même en ajoutant le type de clé:

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

    Plus d'informations à ce sujet dans man wpa_supplicant.conf

Partie 2.2 - Guide de l'administrateur de réseau: Connexion à un routeur WPA avec Network Manager

La bonne chose à propos du gestionnaire de réseau est qu’il est livré avec quelques scripts et outils de Nice. Deux d'entre eux sont nmcliet create_connection (Neat Python 3 script) que nous allons utiliser dans ce cas.

  1. Après avoir suivi les étapes mentionnées précédemment pour trouver le nom SSID de votre routeur (souvenez-vous de la partie concernant iwlistci-dessus), procédez comme suit:

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

    SECURITY est le type de sécurité utilisé par le routeur (WPA, WEP), PASSWORD est bien .. le mot de passe et SSID_NAME est le nom SSID du routeur. Par exemple:

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

    Crée une connexion pour Network Manager qui devrait ressembler à ceci:

      $ Sudo /usr/share/checkbox/scripts/create_connection -S wpa -K LinuxFTW Virus
      [Sudo] password for cyrex: 
      Connection Virus registered
      Connection Virus activated.
    
  2. Après cela, vous devriez obtenir une adresse IP attribuée par le routeur. Sinon, faites simplement Sudo dhclient wlan0 (en supposant que wlan0 soit le nom de votre interface). Vous pouvez également vérifier les connexions de votre gestionnaire de réseau en utilisant nmcli comme ceci: nmcli c qui devrait afficher quelque chose comme ceci:

     $ 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   
    

Je mentionne le comportement du gestionnaire de réseau, car il existe quelques cas où l'utilisation de wpa_supplicant ne fonctionnera tout simplement pas (problèmes entre routeur et carte sans fil, problèmes de sécurité, etc.). Dans mon cas, toutes les tentatives d'utilisation de wpa_supplicant sur un PC ne fonctionnaient pas, mais sur un autre, cela fonctionnait la première fois que j'essayais. Je poste donc les deux méthodes pour aider sur chaque cas et pour aider les utilisateurs à choisir celle qui leur convient le mieux.

Partie 3: Connexion facile via nmcli

Bien que nous ayons parlé des moyens de s'y connecter sans gestionnaire de réseau, il existe également le cas de l'utilisation de nmcli (version CLI du gestionnaire de réseau), le cas échéant. Pour ce faire, nous procédons comme suit:

  1. Vérifiez pour voir quel ESSID on peut voir:

    nmcli dev wifi
    
  2. Vérifiez le nom de l'ESSID et nous l'utilisons à la ligne suivante, y compris le mot de passe requis pour cela (cela comprend les mots de passe de type WEP et WPA):

    nmcli dev wifi connect ESSID_NAME password ESSID_PASSWORD
    

    Voici un exemple de connexion à l’ESSID Linux5G

    screenshot

    Si vous avez plusieurs périphériques sans fil sur votre ordinateur, vous pouvez spécifier lequel utiliser à l'aide du paramètre ifnamename__, de la manière suivante:

    nmcli dev wifi connect ESSID_NAME mot de passe ESSID_PASSWORD ifname WIRELESS_DEVICE_NAME

    Par exemple, dans mon cas, le nom du périphérique est wlp9s0. Je voudrais donc utiliser cette ligne pour spécifier le périphérique avec lequel je vais utiliser pour me connecter:

    screenshot

Pour plus d'informations sur nmcli, utilisez le paramètre help. Par exemple, si vous souhaitez en savoir plus sur nmcli dev, tapez nmcli dev help. Si vous souhaitez en savoir plus sur nmcli dev wifi, vous devez taper nmcli dev wifi help et ainsi de suite.

Partie 4: Déconnexion d'un routeur sans fil

Il y a plusieurs façons d'accomplir cela:

  • Se déconnecter par "force": Sudo ifconfig wlan0 down

    Cela désactive l'interface de votre carte sans fil (le pilote s'éteint). Pour l'activer, tapez simplement ifconfig wlan0 up suivi d'un Sudo dhclient wlan0. Il restera affiché comme connecté s'il est visualisé par Network Manager, mais il n'y aura en réalité aucune connexion au routeur. Si vous essayez pingname__, une erreur connect: Network is unreachable sera générée.

  • Libérez l'IP DHCP: Sudo dhclient -r wlan0

    N'oubliez pas de faire Sudo dhclient wlan0 pour vous attribuer à nouveau une adresse IP.

  • Déconnecter à l'aide de Network Manager: nmcli nm enable false

    Où nm est le paramètre de nmcli qui gère et définit les états de Network Manager. L'option enablepeut être true ou false , ce qui signifie que défini sur false , toutes les connexions réseau gérées par Network Manager seront déconnectées. notez que nmcli n'a pas besoin d'autorisations root.

Pour voir l'état du type de gestionnaire de réseau nmcli nm, il devrait afficher quelque chose de similaire à ceci:

      $ nmcli nm
      RUNNING         STATE           WIFI-HARDWARE   WIFI       WWAN-HARDWARE   WWAN      
      running         connected       enabled         enabled    enabled         enabled   

Vous pouvez également activer ou désactiver la connexion (connexion/déconnexion) en procédant comme suit:

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

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

Partie 5: Suppression d'une connexion

Supprimer une connexion existante est assez facile. Premier type dans le terminal:

nmcli c

Il va sortir quelque chose comme ça:

$ 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  

Maintenant, disons que nous voulons supprimer Xcentral , nous procédons ensuite avec la commande suivante:

nmcli c delete id Xcentral

Après avoir fait cela devrait ressembler à quelque chose comme ça:

$ nmcli c delete id Xcentral
$ 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   

Toutes les connexions sont stockées dans /etc/NetworkManager/system-connections/

Si je devais regarder dans ce dossier maintenant, je verrais les fichiers suivants:

$ ls /etc/NetworkManager/system-connections
Intel  pepe  PrivateSys  Realtek  Virus

Ceci est uniquement dans le cas où vous souhaitez éditer/supprimer/ajouter une connexion à la main.

Partie 6: Connexion automatique lors de la connexion

Si vous souhaitez vous connecter automatiquement à un routeur sans fil, procédez comme suit:

  1. Ouvrez le fichier interfacename__:

    Sudo nano /etc/network/interfaces
    
  2. Ajoutez les informations suivantes (en supposant que votre interface s'appelle 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. Enregistrez le fichier et redémarrez l'ordinateur. Notez que cela sera sauvegardé dans un fichier texte brut accessible depuis le même ordinateur.

Bonus: Trouvez le nom de votre connexion sans fil Style de l'interface graphique

  1. Cliquez sur le gestionnaire de réseau et accédez à Informations de connexion

    screenshot

  2. Allez à l'onglet qui contient votre carte sans fil

    screenshot

Dans cette image, cette carte réseau est nommée eth1 (entre parenthèses), mais cela peut être différent pour chaque utilisateur. Normalement ce serait un wlan (comme wlan0, wlan1, wlan2 ...) mais il peut aussi s'agir de eth1, eth2, etc. Il faut donc voir quel nom il a.

Une autre façon de trouver rapidement le nom consiste à saisir iwconfigqui affichera toute la carte réseau sans fil disponible.

136
Luis Alvarado

C'est assez facile si vous savez comment le faire.

Afficher les points d'accès wlan disponibles:

nmcli dev wifi

Se connecter avec un point d'accès:

nmcli dev wifi connect $ACCESS_POINT password $PASSWORD
35
Ikem Krueger

wicd est fourni avec 2 utilitaires de ligne de commande: wicd-curses et wicd-cli (ils peuvent nécessiter une installation séparée). wicd-curse vous permet de configurer/de vous connecter à des réseaux (filaires ou sans fil) de manière interactive. wicd-cli offre les mêmes fonctionnalités mais options de ligne de commande uniquement (utile pour les scripts) Je l'utilise dans un travail cron pour contourner certains bogues de connexion automatique:

wicd-cli -y -c -m MY_NETWORK_SSID

Aussi, vous pouvez "juste" avoir une configuration wpa_supplicant quelque chose comme:

/ etc/network/interface:

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

et (à titre d'exemple, 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"
}

il y a beaucoup de considérations à cela, dont le souci de sécurité d'avoir la clé pré-partagée en texte clair (wpa_supplicant peut vous permettre de présenter une clé cryptée ou peut-être simplement obfusquée, consultez la page de manuel), ce qui rend également ce fichier propre et lisible. par root est une atténuation.

Je pense avoir plusieurs sections de réseau permettrait de connecter plusieurs réseaux, par ordre de priorité.

12
Philippe

J'utilise wicd-curses, que je trouve de loin l'interface utilisateur la plus simple.

wicd-curses

Vous devez utiliser le  (flèche droite ->) pour définir les configurations; tout le reste est évident à partir des instructions à l'écran.

Bien sûr, vous devez trouver un moyen de vous connecter à Internet sans wicd; Je suppose que vous avez déjà résolu ce problème, sinon vous ne posteriez pas.

(Ceci n’est pas opportun pour le PO, mais pour la postérité car cette question revient toujours sur Google. Pour les chercheurs de Google: si vous lisez ceci dans un café ou sur l’ordinateur d’un ami, par exemple, vous pouvez peut-être utilisez un fil quelque part pour installer wicd-curses avec Sudo apt-get install wicd-curses, puis assurez-vous de le tester sur un réseau dont le fonctionnement est connu avant de partir!)

4
isomorphismes