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

95

Le gestionnaire de réseau me préoccupant tellement que je veux le remplacer (éventuellement wicd ou NM 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 par ligne de commande.

    
posée user7048 07.12.2010 - 21:59
la source

4 réponses

119

Cela s’applique à 12.04+ car c’est ce que je pourrais tester mais qui pourrait aussi être utilisé dans les anciennes versions. J'ai séparé ce guide en plusieurs parties, qui consistent en:

Partie 1 - Routeurs sans fil sans mot de passe ni 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

Bonus - Comment trouver le nom de votre interface réseau via une 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 destiné à Scan. wlan0 est ma carte sans fil mais peut être différent 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 TAB . Cela devrait compléter automatiquement la ligne avec le nom de la carte réseau. Vous pouvez également taper iwconfig et trouver le nom sur la liste qui affichera.)

    Si vous ne connaissez pas le nom de vos périphériques sans fil, tapez: iwconfig pour afficher 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) possibles 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 afin 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 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é ici.

    Encore une fois, faites dhclient après la connexion pour vous assurer de recevoir une adresse IP.

  3. Assurez-vous que vous êtes correctement connecté, 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 si une erreur telle que Interface ne prend pas en charge l'analyse , essayez les deux 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 puis de 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 deux plus populaires ::

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

    iwlist wlan0 s  
    

    (Le s est destiné à Scan. wlan0 est ma carte sans fil mais peut être différent 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 TAB . Cela devrait automatiquement compléter la ligne avec le nom de la carte réseau. Vous pouvez également taper iwconfig et trouver le nom sur la liste qui affichera.)

    Si vous ne connaissez pas le nom de vos périphériques sans fil, tapez: iwconfig pour afficher 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 indiquera tous les points d’accès (AP) possibles. Après avoir vu votre routeur dans la liste, essayez de vous y connecter:

2.1 GUIDE DU WPA-SUPPLICANT

  1. Tapez ce qui suit dans le terminal (en supposant que le package wpasupplicant installé 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 souhaite 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
    

    Cela 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 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, filaire, 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 wext .

  3. Maintenant que nous avons notre nom de carte d'interface sans fil et le nom du pilote, nous procédons à la connexion en utilisant le 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. Si elle se connecte correctement, alors nous appuyons sur CTRL + C pour l’annuler, puis nous exécutons à nouveau la ligne, mais cette fois nous l’envoyons en arrière-plan avec -B . 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 fichier 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 scripts et outils très utiles. Deux d'entre eux sont nmcli et create_connection (script Neat Python 3) que nous utiliserons dans ce cas.

  1. Après avoir suivi 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 procédons comme suit:

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

    SÉCURITÉ correspond au type de sécurité utilisé par le routeur (WPA, WEP), MOT DE PASSE est .. bien .. le mot de passe et SSID_NAME correspond au nom SSID du Routeur Par exemple:

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

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

      [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. Après cela, vous devriez obtenir une adresse IP du 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:

     [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   
    

Je mentionne la façon dont Network Manager fonctionne car il y a quelques cas où l'utilisation de wpa_supplicant ne fonctionnera tout simplement pas (problèmes entre le routeur et la 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 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 décision 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

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

nmcli dev wifi connect ESSID_NAME password ESSID_PASSWORD ifname WIRELESS_DEVICE_NAME

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

Pour plus d’informations sur nmcli, utilisez le paramètre help. Par exemple, si vous voulez savoir à propos de nmcli dev , vous devez taper nmcli dev help . Si vous voulez en savoir plus sur nmcli dev wifi , vous devez taper nmcli dev wifi help , etc.

4. DÉCONNEXION D'UN ROUTEUR SANS FIL

Il existe 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, tapez simplement 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 de ping lancera une erreur connect: Network is unreachable .

  • Lancez l'adresse IP DHCP: sudo dhclient -r wlan0

    N'oubliez pas de faire sudo dhclient wlan0 pour 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 enable peut être true ou false , ce qui signifie que si elle est définie 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 le statut de Network Manager, tapez nmcli nm , il devrait afficher quelque chose de similaire à ceci:

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

Une autre façon d'activer ou de désactiver la connexion (Connexion / Déconnexion) consiste à effectuer les opérations suivantes:

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

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

5. SUPPRIMER UNE CONNEXION

Supprimer une connexion existante est assez facile. Tapez d'abord dans le terminal:

nmcli c

Il va sortir quelque chose comme ceci:

[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  

Disons maintenant que nous voulons supprimer Xcentral , puis nous passons à la commande suivante:

nmcli c delete id Xcentral

Après avoir fait cela devrait ressembler à ceci:

[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   

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

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

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

Ceci n’est que si 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:

  1. Ouvrez le fichier interface :

    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 enregistré dans un fichier texte accessible à partir du même ordinateur.

BONUS

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

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

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

Dans cette image, cette carte réseau est nommée eth1 (à l’intérieur de 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 de taper iwconfig pour afficher toute la carte réseau sans fil disponible.

    
réponse donnée Luis Alvarado 07.12.2010 - 22:26
la source
32

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
    
réponse donnée Ikem Krueger 13.09.2014 - 14:44
la source
12

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 / 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 "juste" 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) et lisible que par root est une atténuation.

Je pense que plusieurs sections de réseau permettraient de connecter plusieurs réseaux, par ordre de priorité.

    
réponse donnée Philippe 31.12.2012 - 05:33
la source
4

J'utilise wicd-curses , ce qui me semble être l'interface utilisateur la plus facile.

Vous devez utiliser (touche 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 ou bien vous ne posteriez pas.

(Ce n'est pas opportun pour le PO, il suffit de poster pour la postérité puisque cette question revient toujours sur Google. Pour les utilisateurs de Google: si vous lisez ceci sur un ordinateur de café ou un objet vous pouvez utiliser un câble quelque part pour installer wicd-curses avec sudo apt-get install wicd-curses , puis assurez-vous de le tester sur un réseau connu pour fonctionner avant de partir!)

    
réponse donnée isomorphismes 19.05.2015 - 16:45
la source

Lire d'autres questions sur les étiquettes