É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.
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:
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
Dans les cas où le routeur sans fil n'a pas de mot de passe ou de sécurité WEP, procédez comme suit:
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 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 compléter automatiquement la ligne avec le nom de la carte réseau. Vous pouvez également taper iwconfig
et trouver le nom dans la liste qui s'affichera.)
Si vous ne connaissez pas le nom de vos périphériques sans fil, tapez: iwconfig
qui vous montrera vos périphériques câblés/sans fil et leurs noms. Ils pourraient être quelque chose comme wlan0, wlan1, eth1, eth2 ..
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 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 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 dhclient
après votre connexion pour vous assurer d'obtenir une adresse IP attribuée.
Assurez-vous que vous êtes correctement connecté, c'est toujours bon. Exécutez donc iwconfig
pour 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:
Sudo ifconfig wlan0 up
Sudo
lors 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
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 ::
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 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 dans la liste qui s'affichera.)
Si vous ne connaissez pas le nom de vos périphériques sans fil, tapez: iwconfig
qui vous montrera vos périphériques câblés/sans fil et leurs noms. Ils pourraient être quelque chose comme wlan0, wlan1, eth1, eth2 ..
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:
Tapez ce qui suit dans le terminal (en supposant que vous ayez installé le paquetage wpasupplicant
qui installe toutes les commandes nécessaires que nous utiliserons ici):
wpa_passphrase SSID PASSWORD > CONFIG_FILE
Exemple: wpa_passphrase Virus LinuxFTW > wpa.conf
Où 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
}
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 wext
name__.
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
Où -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.
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
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 nmcli
et create_connection
(Neat Python 3 script) que nous allons utiliser dans ce cas.
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 iwlist
ci-dessus), procédez comme suit:
Sudo /usr/share/checkbox/scripts/create_connection -S SECURITY_TYPE -K PASSWORD SSID_NAME
Où 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.
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.
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:
Vérifiez pour voir quel ESSID on peut voir:
nmcli dev wifi
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
Si vous avez plusieurs périphériques sans fil sur votre ordinateur, vous pouvez spécifier lequel utiliser à l'aide du paramètre ifname
name__, 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:
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.
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 ping
name__, 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 enable
peut ê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
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.
Si vous souhaitez vous connecter automatiquement à un routeur sans fil, procédez comme suit:
Ouvrez le fichier interface
name__:
Sudo nano /etc/network/interfaces
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
Enregistrez le fichier et redémarrez l'ordinateur. Notez que cela sera sauvegardé dans un fichier texte brut accessible depuis le même ordinateur.
Cliquez sur le gestionnaire de réseau et accédez à Informations de connexion
Allez à l'onglet qui contient votre carte sans fil
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 iwconfig
qui affichera toute la carte réseau sans fil disponible.
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
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é.
J'utilise wicd-curses
, que je trouve de loin l'interface utilisateur la plus simple.
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!)