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


Puisque le gestionnaire de réseau me dérange tellement, je veux le remplacer (éventuellement wicd ouNM de ppa: volanin).

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

Je voudrais une façon de gérer le réseau en ligne de commande.


98
2017-12-07 20:59


origine


Si vous allez jouer avec le gestionnaire de connexion réseau de votre système, je vous recommande de le faire lors d'une connexion via Ethernet filaire, qui est moins susceptible de perdre sa connexion, et plus facile à mettre en place à partir de la ligne de commande, en cas de besoin. - Ryan Thompson
j'utilise wicd-curses, je trouve que c'est l'interface utilisateur la plus facile. Vous devez utiliser le <kbd> → </ kbd> (touche flèche droite ->) définir des configurations; tout le reste est évident à partir des instructions à l'écran. - isomorphismes


Réponses:


Cela s'applique à 12.04+ car ce sont ceux que je pourrais tester mais qui pourraient également être utilisés dans les anciennes versions. J'ai séparé ce guide en plusieurs parties:

Partie 1 - Routeurs sans fil sans mot de passe ou clé WEP

Partie 2 - Routeurs sans fil avec clé WPA

  • 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 fichier de configuration)

Partie 6 - Connexion automatique lors de la connexion

Prime - Comment trouver le nom de votre interface réseau via l'interface graphique

Les lignes de commande suivantes peuvent être utilisées pour se connecter et se 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é (pour les cas où vous pourriez démarrer Ubuntu en mode de récupération):

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

Si vous utilisez la méthode init.d héritée:

sudo /etc/init.d/networking restart

Si vous utilisez la méthode Legacy Upstart:

sudo service network-manager restart

Si vous utilisez SystemD:

sudo systemctl start networking

1. ROUTEUR SANS FIL (PAS DE MOT DE PASSE OU DE SÉCURITÉ WEP UNIQUEMENT)

Pour 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 pour Scan. wlan0 est ma carte sans fil mais pourrait être différente pour chaque utilisateur. Certains ont eth0, d'autres wlan2 .. Vous avez besoin de sudo pour exécuter cette option. Pour trouver le nom de votre carte sans fil, tapez simplement iwlist et appuyez sur LANGUETTE. Cela devrait se compléter automatiquement avec le nom de la carte réseau. Vous pouvez aussi taper iwconfig et trouvez le nom sur la liste qui apparaîtra.)

    Si vous ne connaissez pas le nom de vos périphériques sans fil, tapez: iwconfig qui vous montrera vos appareils filaires / 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 possibles (AP) visibles. Après avoir vu votre routeur dans la liste, essayez de vous y connecter:

    S'il n'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 dhclient vous pouvez donc 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 a un mot de passe, alors faites:

    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, faire dhclient après la connexion, assurez-vous que vous obtenez une adresse IP attribuée.

  3. Assurez-vous que vous êtes correctement connecté est toujours bon alors exécutez iwconfig pour vous assurer que votre carte sans fil est connectée au SSID que vous avez mentionné ci-dessus. Il devrait afficher votre appareil connecté et l'adresse IP qui vous a été attribuée. Si ce n'est pas le cas et vous donne une erreur comme 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 sudo lors de l'analyse: sudo iwlist wlan0 s

    • Essayez de mettre l'appareil hors tension et de le sauvegarder:

      sudo ifconfig wlan0 down  
      sudo ifconfig wlan0 up
      

2. ROUTEUR SANS FIL (SÉCURITÉ WPA ou WPA2)

Pour les cas où le routeur sans fil possède un mot de passe WPA / WPA2, il existe plusieurs manières 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 pour Scan. wlan0 est ma carte sans fil mais pourrait être différente pour chaque utilisateur. Certains ont eth0, d'autres wlan2 .. Vous avez besoin de sudo pour exécuter cette option. Pour connaître le nom de votre carte sans fil, tapez simplement iwlist et appuyez sur LANGUETTE. Cela devrait se compléter automatiquement avec le nom de la carte réseau. Vous pouvez aussi taper iwconfig et trouvez le nom sur la liste qui apparaîtra.)

    Si vous ne connaissez pas le nom de vos périphériques sans fil, tapez: iwconfig qui vous montrera vos appareils filaires / 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 possibles (AP) visibles. Après avoir vu votre routeur dans la liste, essayez de vous y connecter:

2.1 GUIDE DU FOURNISSEUR WPA

  1. Tapez ce qui suit dans le terminal (en supposant que vous avez le wpasupplicant package installé qui 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 à un autre endroit, de nombreux utilisateurs enregistrent le fichier dans /etc/wpa_supplicant.conf au lieu de wpa.conf. Les données du fichier wpa.conf doivent ressembler à ceci:

    network={  
            ssid="Virus"  
            #psk="LinuxFTW"  
            psk=1d538d505f48205589ad25b2ca9f52f9cbb67687e310c58a8dd940ccc03fbfae  
    }  
    
  2. Jusqu'à ce point, 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 nous tapons:

    wpa_supplicant
    

    Il devrait nous montrer beaucoup d'informations, mais il y aura une section appelée ** Drivers * qui montre tous les pilotes disponibles (ceux-ci sont disponibles lors de la compilation 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)  
    

    La liste entière est hostap, hermes, madwifi, wext, broadcom, filaire, roboswitch, bsd, ndis. Cela peut changer en fonction de la façon dont wpa_supplicant a été compilé, mais celui qui apparaît pour moi devrait être similaire à celui de votre système. La plupart des utilisateurs sélectionneront le wext chauffeur.

  3. Donc, maintenant que nous avons le nom de notre carte d'interface sans fil et le nom du pilote, nous procédons à la connexion en utilisant le fichier de configuration déjà créé en utilisant le 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. Si elle se connecte correctement, alors 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 nous pouvons donc 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é la suppression du hachage et ne laissant 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

2.2 GUIDE DU GESTIONNAIRE DE RÉSEAU

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

  1. Après avoir effectué les étapes mentionnées précédemment pour trouver le nom SSID de votre routeur (n'oubliez pas la partie concernant iwlist ci-dessus) nous faisons ce qui suit:

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

    SÉCURITÉ est le type de sécurité utilisé par le routeur (WPA, WEP), MOT DE PASSE is .. well..the 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
    

    Va créer une connexion pour Network Manager qui devrait ressembler à ceci:

      cyrex@cyrex:~$ 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 du routeur. Si ce n'est pas simplement sudo dhclient wlan0 (En supposant que wlan0 est 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 montrer quelque chose comme ceci:

     cyrex@cyrex:~$ 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 la manière du gestionnaire de réseau car il y a quelques cas où l'utilisation 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 wpa_supplicant sur un PC ne fonctionnait pas, mais dans un autre, cela fonctionnait la première fois que j'ai essayé. Je poste donc les deux méthodes pour vous aider dans chaque cas et pour faciliter la tâche des utilisateurs.

3. Connexion facile via nmcli

Bien que nous ayons parlé des moyens de s'y connecter sans gestionnaire de réseau, il y a également le cas de l'utilisation de nmcli (version CLI du gestionnaire de réseau) lorsqu'elle s'applique. Pour ce faire, nous faisons ce qui suit:

  1. Vérifiez pour voir quel ESSID nous pouvons voir:

    nmcli dev wifi
    
  2. Vérifiez le nom de l'ESSID et nous continuons à l'utiliser sur la ligne suivante, y compris le mot de passe nécessaire (ceci inclut les mots de passe de type WEP et WPA):

    nmcli dev wifi connect ESSID_NAME password ESSID_PASSWORD
    

    Voici un exemple de ma connexion à ESSID Linux5G

enter image description here

Si vous avez plusieurs périphériques sans fil sur votre ordinateur, vous pouvez spécifier lequel utiliser avec le ifname paramètre comme ça:

nmcli dev wifi connect ESSID_NAME password ESSID_PASSWORD ifname WIRELESS_DEVICE_NAME

Par exemple dans mon cas, le nom de l'appareil est wlp9s0 donc je voudrais utiliser cette ligne pour spécifier le périphérique que je vais utiliser pour me connecter avec:

enter image description here

Pour plus d'informations sur nmcli, utilisez le paramètre help. Par exemple, si vous voulez en savoir plus sur nmcli dev tu taperais nmcli dev help. Si vous vouliez en savoir plus sur nmcli dev wifi, vous tapez nmcli dev wifi help etc.

4. DÉCONNEXION D'UN ROUTEUR SANS FIL

Il y a plusieurs manières d'accomplir ceci:

  • Déconnecter par "force": sudo ifconfig wlan0 down

    Cela désactivera l’interface de votre carte sans fil (le pilote s’éteint). Pour activer simplement taper ifconfig wlan0 up suivi d'un sudo dhclient wlan0. Il sera toujours affiché comme connecté s'il est visualisé par Network Manager, mais il n'y aura pas de connexion au routeur. Essayer ping va lancer un connect: Network is unreachable Erreur.

  • Relâchez l'adresse IP DHCP: sudo dhclient -r wlan0

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

  • Déconnecter en utilisant Network Manager: nmcli nm enable false

    Où nm est le paramètre de nmcli qui gère et définit les états du gestionnaire de réseau. L'option enablepeut être vrai ou faux, ce qui signifie si défini à faux, 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 montrer quelque chose de similaire à ceci:

      cyrex@cyrex:~$ nmcli nm
      RUNNING         STATE           WIFI-HARDWARE   WIFI       WWAN-HARDWARE   WWAN      
      running         connected       enabled         enabled    enabled         enabled   

Pour activer ou désactiver la connexion (connexion / déconnexion), vous pouvez également procéder comme suit:

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

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

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 ceci:

cyrex@cyrex:~$ 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  

Disons maintenant que nous voulons supprimer Xcentral, nous procédons ensuite avec la commande suivante:

nmcli c delete id Xcentral

Après l'avoir fait, cela devrait ressembler à ceci:

cyrex@cyrex:~$ nmcli c delete id Xcentral
cyrex@cyrex:~$ 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:

cyrex@cyrex:~$ 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.

6. Connexion sans fil automatique lors de la connexion

Pour les cas où vous souhaitez vous connecter automatiquement à un routeur sans fil, voici les étapes à suivre:

  1. Ouvrez le interface fichier:

    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 accessible à partir du même ordinateur.

PRIME

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

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

enter image description here

  1. Accédez à l'onglet contenant votre carte sans fil

enter image description here

Dans cette image, cette carte réseau est nommée eth1 (Dans la parenthèse), 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. Vous devez donc voir quel nom il a.

Une autre façon de trouver rapidement le nom est en tapant iwconfig qui affichera toute la carte réseau sans fil disponible.


120
2017-12-07 21:26



Si vous avez trouvé un autre moyen de ligne de commande pour trouver le nom de l'interface sans fil. après avoir tapé iwlist appuyez deux fois sur tab et le terminal tapera automatiquement le nom de l'interface après iwilst - Suhaib
Je pourrais deviner correctement l'auteur en regardant l'exhaustivité de la réponse. - jobin
et si theres un espace dans le ssid? comme mon ssid est la fée de sucre - askcompu
@douglaswalrath Vous utiliseriez des guillemets, comme dans "la fée du sucre" - Luis Alvarado♦
@Michele cette autre réponse donne des conseils sur la façon d'éviter que le mot de passe ne soit enregistré sur l'historique askubuntu.com/a/279333/237654 - Hector Correa


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

32
2017-09-13 12:44



Ceci est beaucoup mieux que la réponse de mise voté Alvarado, qui ne fonctionne pas dans mon cas (Linux Mint 17.1). Mais c'est assez simple et ça marche! - Thorben
a travaillé pour moi sur Linux Mint 17 - David Okwii
C'est la réponse gagnante pour moi. Juste rapide, facile et sécurisé. Je vous remercie!. - GTRONICK
@Thorben IMHO ce n'est pas la réponse acceptée, car network manager command line interface ne répond pas à la question initiale How to connect without a network manager. - Vorac
+1 car cette réponse, bien qu'elle ne s'applique pas à la question, aiderait quelqu'un en mode de récupération et gagnerait du temps. Excellent travail user82110. - Luis Alvarado♦


wicd est livré 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 / connecter de manière interactive la déconnexion aux réseaux (filaires ou sans fil), wicd-cli offre les mêmes fonctionnalités mais uniquement via des options de ligne de commande (utiles pour les scripts)

wicd-cli -y -c -m MY_NETWORK_SSID

Vous pouvez aussi "simplement" avoir une configuration wpa_supplicant quelque chose comme:

/ etc / network / interface:

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

et (comme 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 à ce sujet, 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, vérifiez la page de manuel), rendant également ce fichier possédé et lisible seulement par racine est une atténuation.

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


12
2017-12-31 04:33



wicd n'est pas installé par défaut, pas sûr qu'il soit compatible avec le gestionnaire de réseau. - guntbert
c'est incompatible. Vous pouvez suivre help.ubuntu.com/community/WICD - tr33hous


j'utilise wicd-curses, je trouve que c'est l'interface utilisateur la plus facile.

wicd-curses

Vous devez utiliser le  (touche flèche droite ->) définir des 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 publieriez pas.

(Ce n'est pas en temps opportun à l'OP, l'affichage juste pour la postérité puisque cette question est encore sur Google Pour les google-demandeurs. Si vous lisez ceci à partir d'un café ou l'ordinateur ou quelque chose d'un ami, peut-être vous pouvez utiliser quelque part un fil obtenir wicd-curses installé avec sudo apt-get install wicd-curses; alors assurez-vous de le tester sur un réseau connu pour fonctionner avant de partir!)


4
2018-05-19 14:45