En gros, j'aimerais utiliser iwconfig
pour me connecter à mon réseau Wi-Fi lorsque je ne suis pas à l'intérieur de X. Mais je ne vois simplement pas comment le faire dans la page de manuel. Une idée?
iw
(list/config) ne peut gérer que WEP.
Vous avez besoin du package wpasupplicant
qui fournit la commande wpa_supplicant
, à installer si nécessaire via Sudo apt-get install wpasupplicant
.
Vous mettez votre SSID et votre mot de passe dans /etc/wpa_supplicant.conf
(nécessite Sudo).
Exemple:
network={
ssid="ssid_name"
psk="password"
}
En supposant que votre interface soit wlan0, vous pouvez vous connecter avec:
Sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D wext
Sudo dhclient wlan0
"wext" est un pilote spécifique à chaque carte; se référer à wpa_supplicant -h
. Exemples:
hostap (default) Host AP driver (Intersil Prism2/2.5/3). (this can also be used with Linuxant DriverLoader).
hermes Agere Systems Inc. driver (Hermes-I/Hermes-II).
madwifi MADWIFI 802.11 support (Atheros, etc.).
atmel ATMEL AT76C5XXx (USB, PCMCIA).
wext Linux wireless extensions (generic).
ndiswrapper Linux ndiswrapper.
broadcom Broadcom wl.o driver.
ipw Intel ipw2100/2200 driver.
wired wpa_supplicant wired Ethernet driver
roboswitch wpa_supplicant Broadcom switch driver
bsd BSD 802.11 support (Atheros, etc.).
ndis Windows NDIS driver.
Ce lien montre tout et a bien fonctionné pour moi: http://linux.icydog.net/wpa.php
Je copie le contenu ici, donc nous l'avons, au cas où ce site serait déconnecté.
Ligne de commande WPA
Parfois, vous êtes sur une ligne de commande sans accès aux outils de réseau de l'interface graphique, mais votre point d'accès est sécurisé avec WPA. Que faire?
En supposant que votre carte sans fil fonctionne réellement (c.-à-d. Que iwconfig peut la voir et interagir avec elle), utiliser wpa_supplicant est en fait assez simple. Installation de wpa_supplicant
Wpa_supplicant est installé par défaut dans la plupart des distributions. Si vous avez les commandes wpa_passphrase et wpa_supplicant disponibles, vous pouvez continuer. Sinon, vous devrez installer le paquet en effectuant quelque chose comme (pour Ubuntu):
$ Sudo apt-get install wpasupplicant
Ou (pour Fedora):
# yum install wpa_supplicant
Ou quelle que soit la commande pour votre distribution.
Génération du fichier de configuration
Maintenant que wpa_supplicant est installé, nous allons créer son fichier de configuration. Une fois que vous connaissez le SSID et le WPA phrase secrète, il ne vous reste plus qu'à exécuter:
$ wpa_passphrase myrouter mypassphrase > wpa.conf
Bien sûr, remplacez "myrouter" par le SSID de votre routeur, "mypassphrase" par votre phrase secrète WPA et "wpa.conf" par le fichier dans lequel vous souhaitez stocker la configuration. Ce nom de fichier n'a pas. suivre un format particulier ou avoir une extension particulière.
Sinon, pour éviter de taper la phrase secrète sur la ligne de commande (afin qu'elle ne soit pas enregistrée dans l'historique du shell), vous pouvez spécifier uniquement le SSID sur la ligne de commande. wpa_passphrase attend que vous tapiez le mot de passe suivi de:
$ wpa_passphrase myrouter > wpa.conf
mypassphrase
Vous devriez vous retrouver avec un fichier ressemblant à ceci:
network={
ssid="myrouter"
#psk="mypassphrase"
psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}
Se connecter
Nous allons maintenant lancer wpa_supplicant pour nous connecter au réseau sans fil. Premièrement, si votre routeur diffuse son SSID (tous le font par défaut), vous voulez probablement vous assurer que votre carte sans fil peut réellement le voir:
$ iwlist scan
Vous devrez peut-être l'exécuter en tant que root pour forcer une actualisation.
Ensuite, vous aurez besoin de connaître trois informations:
Maintenant que vous avez ces données, lancez (en tant que root):
# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]
Il n'y a pas d'espaces entre les options et les paramètres. N'incluez pas les crochets car je viens d'ajouter ceux pour plus de clarté. Par exemple, pour mon ordinateur portable, cela ressemble à ceci:
# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf
Vous pouvez également l'exécuter en arrière-plan à l'aide de l'option -B afin d'éviter toute utilisation de votre console.
Maintenant, vous êtes associé au réseau.
Se connecter
Pour être réellement en ligne, vous devrez vous procurer une adresse IP. La plupart des gens voudront simplement obtenir une adresse IP dynamique d'un serveur DHCP, probablement celle intégrée au routeur. (Je ne vais pas couvrir la définition d'une adresse IP statique et d'une table de routage car c'est une bête en soi.)
Pour obtenir un bail DHCP, commencez par libérer les baux sur lesquels vous avez encore un contrat (en tant que root):
# dhclient -r
Puis demandez un nouveau bail (bien sûr, remplacez eth1 par le nom de votre périphérique réseau, le même que celui utilisé dans la section précédente):
# dhclient eth1
Vous avez maintenant un IP, au moins en théorie. Bon surf!
Dans Debian et d’autres distributions, wpa_suplicant est exécuté en tant que service par défaut afin de gérer les réseaux wifi. wpa_suplicant peut être géré par différents clients/front-end tels que l'interface graphique du gestionnaire de réseau. Ceci est mieux expliqué dans ceci wiki de debian .
wpa_cli est le client en ligne de commande wpa_suplicant pour gérer les réseaux wifi.
Edit : Je viens de trouver ce post expliquant comment utiliser nmcli et il est bien meilleur que wpa_cli car il est compatible avec le gestionnaire de réseau graphique et leurs paramètres et les réseaux wifi enregistrés.
Exemple d'utilisation de wpa_cli :
Vérifiez que j'ai déjà une interface réseau compatible Wi-Fi:
# iwconfig
wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Vérifiez si le processus wpa_suplicant est en cours d'exécution:
# ps -e | grep wpa
1881 ? 00:00:07 wpa_supplicant
Entrez en mode interactif client wpa:
# wpa_cli
Lister les points d’accès disponibles:
> scan
> scan_results
... et vous obtenez quelque chose comme ça:
bssid / frequency / signal level / flags / ssid
e0:60:66:7c:81:7f 2417 -66 [WPA2-PSK-CCMP][ESS] vodafone817E
e0:60:66:61:83:4b 2452 -76 [WPA2-PSK-CCMP][WPS][ESS] vodafone834A
f8:8e:85:c5:65:c2 2462 -76 [WPA-PSK-CCMP+TKIP][WPS][ESS] MOVISTAR_65C1
a8:d3:f7:46:0c:be 2472 -83 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS] Orange-0CBC
...
Ajoutez votre AP:
> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"
Sélectionnez-le comme courant:
> enable_network 0
Connectez-vous à cela:
> reconnect
Vérifiez le statut:
> status
Quittez wpa_cli:
> quit
À partir du shell, demandez à DHCP une adresse IP et des paramètres réseau:
# dhclient -r
# dhclient wlan0
Commencez par relancer votre carte si elle ne fonctionne pas:
ifconfig wlan0 up
Définissez les paramètres en fonction de votre réseau
iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
Vous pouvez utiliser VSWM - Very Simple Wireless Manager. Vous placez vos points d'accès connus sur un simple fichier cfg (/etc/vswm.cfg). Lorsque vous exécutez vswm
, il analyse les réseaux disponibles et connectez votre carte avec la première qui apparaît sur /etc/vswm.cfg.
VSWM est disponible sur le site https://github.com/dmelo/vswm . Voici un aperçu de la façon dont le fichier de configuration vswm.cfg se présente:
[global]
dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]
[wlan0-0]
ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp
[wlan0-1]
ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24
Sous le capot, il utilise les outils de ligne de commande standard: iwlist, wpa_supplicant, iwconfig, dhclient ... Seulement, il automatise le travail.
Toutes les réponses suggérant wpa_supplicant sont fausses. Oui, cela peut vous connecter au réseau WPA, mais c'est une mauvaise solution à long terme car il sera très difficile à maintenir et ne jouera pas bien avec une connexion filaire. Lisez cette réponse et simplifiez-vous la vie en utilisant Network Manager à partir de la ligne de commande. J'ai perdu des heures à essayer de configurer wpa_supplicant, puis à essayer nmcli et cela "a juste fonctionné".
Il existe un moyen de le faire en utilisant NetworkManager, si vous avez le package checkbox
installé.
Sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY
(Crédit: bug 923836 , qui est apparu dans mes recherches sur le sujet.)
J'ai eu du mal à utiliser wpa_supplicant
directement pour accéder à un réseau sans fil. Mon ID réseau et mon mot de passe ont généré des erreurs lorsque j'ai utilisé le fichier wpa_supplicant.conf
sur la ligne de commande wpa_supplicant
, par exemple.
Sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
J'ai pu contourner ce problème avec wpa_cli
. La séquence de commande que je devais utiliser, puisque j'utilise un pilote Windows avec Linux ndiswrapper, est la suivante:
Sudo modprobe ndiswrapper
Sudo iwconfig wlan0 essid "<My Network ID>" mode managed
Sudo wpa_cli identity "<My Network ID>" password "<My password>"
J'avais configuré le réseau en l'ajoutant dans la section réseau de l'interface graphique pour pouvoir cliquer sur l'icône du réseau câblé ou sans fil et sélectionner le fournisseur de services sans fil (ce qui était parfois nécessaire pour terminer la connexion).
nmcli
est la version en ligne de commande de l'application de gestion de réseau par défaut sous Ubuntu.
Certains des avantages sont qu’il utilise la configuration que vous avez déjà à partir de l’interface graphique et qu’il n’a pas besoin d’un accès root.
Vous pouvez exécuter nmcli
pour afficher les options disponibles.
Exemple de connexion à un réseau Wi-Fi nommé MYESSID:
nmcli c up MYESSID