Im Grunde genommen würde ich gerne iwconfig
eine Verbindung zu meinem WLAN herstellen, wenn ich nicht in X bin. Aber ich sehe in der Manpage keine Möglichkeit, dies zu tun. Irgendeine Idee?
Im Grunde genommen würde ich gerne iwconfig
eine Verbindung zu meinem WLAN herstellen, wenn ich nicht in X bin. Aber ich sehe in der Manpage keine Möglichkeit, dies zu tun. Irgendeine Idee?
Antworten:
iw
(list / config) kann nur mit WEP umgehen.
Sie benötigen das wpasupplicant
Paket, das den wpa_supplicant
Befehl bereitstellt . Installieren Sie es bei Bedarf über sudo apt-get install wpasupplicant
.
Sie geben Ihre SSID und Ihr Passwort ein /etc/wpa_supplicant.conf
(erfordert sudo).
Beispiel:
network={
ssid="ssid_name"
psk="password"
}
Angenommen, Ihre Schnittstelle ist wlan0, mit dem Sie eine Verbindung herstellen können:
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D wext
sudo dhclient wlan0
"wext" ist ein Treiber, der für jede Karte spezifisch ist. beziehen sich auf wpa_supplicant -h
. Beispiele:
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.
wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && dhclient wlan0
nicht mit dem drahtlosen Netzwerk verbunden ist, obwohl der NetworkManager mich standardmäßig mit dem Netzwerk verbindet. Ich möchte die Befehlszeile ausprobieren. Gibt es einen Fehler, den ich mache?
root
(Systemadministrator) ausführen . Also sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && sudo dhclient wlan0
oder teilen Sie sie in zwei Befehle um &&
.
Dieser Link zeigt alles und hat für mich gut funktioniert: http://linux.icydog.net/wpa.php
Ich kopiere den Inhalt hierher, damit wir ihn haben, falls die Site offline geht.
Befehlszeile WPA
Manchmal befinden Sie sich an einer Befehlszeile ohne Zugriff auf GUI-Netzwerktools - Ihr Zugriffspunkt ist jedoch mit WPA gesichert. Wie geht's?
Vorausgesetzt, Ihre WLAN-Karte funktioniert tatsächlich (dh, iwconfig kann sie sehen und damit interagieren), ist die Verwendung von wpa_supplicant eigentlich recht einfach. Wpa_supplicant wird installiert
In den meisten Distributionen ist heute standardmäßig wpa_supplicant installiert. Wenn Sie die Befehle wpa_passphrase und wpa_supplicant zur Verfügung haben, können Sie loslegen. Andernfalls müssen Sie das Paket folgendermaßen installieren (für Ubuntu):
$ sudo apt-get install wpasupplicant
Oder (für Fedora):
# yum install wpa_supplicant
Oder was auch immer der Befehl für Ihre Distribution ist.
Generierung der Konfigurationsdatei
Nach der Installation von wpa_supplicant erstellen wir die Konfigurationsdatei. Sobald Sie die SSID- und WPA-Passphrase kennen, müssen Sie nur noch Folgendes ausführen:
$ wpa_passphrase myrouter mypassphrase > wpa.conf
Natürlich ersetzen Sie "myrouter" durch die SSID Ihres Routers, "mypassphrase" durch Ihre WPA-Passphrase und "wpa.conf" durch die Datei, in der Sie die Konfiguration speichern möchten. Dieser Dateiname muss keinem bestimmten Format oder Format entsprechen eine bestimmte Erweiterung haben.
Um zu vermeiden, dass die Passphrase in die Befehlszeile eingegeben wird (damit sie nicht im Shell-Verlauf gespeichert wird), können Sie in der Befehlszeile nur die SSID angeben. wpa_passphrase wartet darauf, dass Sie die Passphrase eingeben, gefolgt von der Eingabe von:
$ wpa_passphrase myrouter > wpa.conf
mypassphrase
Sie sollten am Ende eine Datei haben, die so aussieht:
network={
ssid="myrouter"
#psk="mypassphrase"
psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}
Verbindung herstellen
Jetzt führen wir tatsächlich wpa_supplicant aus, um eine Verbindung zum drahtlosen Netzwerk herzustellen. Erstens, wenn Ihr Router seine SSID sendet (dies geschieht standardmäßig alle), möchten Sie wahrscheinlich sicherstellen, dass Ihre WLAN-Karte diese tatsächlich sehen kann:
$ iwlist scan
Möglicherweise müssen Sie das als root ausführen, um eine Aktualisierung zu erzwingen.
Als Nächstes müssen Sie drei Informationen kennen:
wpa_supplicant --help
listet die verschiedenen Treiber auf (unter "drivers:"). Ab 0.5.8, sind die nützlichen Möglichkeiten: wext
, hostap
, madwifi
, atmel
, ndiswrapper
, und ipw
(IPW ist für alten Kernel nur,> = 2.6.13 sollte wext verwenden). Wenn Sie keine bestimmte Übereinstimmung für Ihre Karte sehen, versuchen Sie es mit wext, denn das ist der Clou.iwconfig
. Es meldet "keine drahtlosen Nebenstellen" für nicht drahtlose Geräte und zeigt einige Daten für drahtlose Geräte an.Nun, da Sie diese Daten haben, führen Sie (als root):
# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]
Zwischen den Optionen und Parametern befinden sich keine Leerzeichen. Schließen Sie die Klammern nicht ein, da ich sie nur der Übersichtlichkeit halber hinzugefügt habe. Für meinen Laptop sieht es zum Beispiel so aus:
# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf
Sie können es auch im Hintergrund ausführen, indem Sie die -B
Option verwenden, damit Ihre Konsole nicht belegt wird.
Jetzt sind Sie mit dem Netzwerk verbunden.
Online gehen
Um tatsächlich online zu gehen, musst du irgendwie eine IP bekommen. Die meisten Leute werden nur eine dynamische IP von einem DHCP-Server erhalten wollen, wahrscheinlich derjenige, der in den Router eingebaut ist. (Ich werde mich nicht mit dem Festlegen einer statischen IP-Adresse und einer Routing-Tabelle befassen, da dies ein Biest für sich ist.)
Um eine DHCP-Lease zu erhalten, geben Sie zunächst alle Leases frei, an denen Sie noch festhalten (als Root):
# dhclient -r
Dann fordern Sie ein neues Leasing an (natürlich ersetzen Sie eth1 durch den Namen Ihres Netzwerkgeräts, den gleichen, den Sie im vorherigen Abschnitt verwendet haben):
# dhclient eth1
Sie haben jetzt zumindest theoretisch eine IP. Viel Spaß beim Surfen!
In Debian und anderen Distributionen wird wpa_suplicant standardmäßig als Dienst ausgeführt, um die WLAN-Netzwerke zu verwalten. wpa_suplicant kann von verschiedenen Clients / Frontends wie der Netzwerkmanager-GUI verarbeitet werden. Dies wird in diesem Debian-Wiki besser erklärt .
wpa_cli ist der Befehlszeilen-Client wpa_suplicant zum Verwalten der WLAN-Netzwerke.
Bearbeiten : Ich habe gerade diesen Beitrag gefunden, in dem erklärt wird, wie man nmcli verwendet, und er ist viel besser als wpa_cli, da er mit dem GUI Network Manager und seinen Einstellungen kompatibel ist und WLAN-Netzwerke speichert.
Anwendungsbeispiel von wpa_cli :
Überprüfen Sie, ob ich bereits eine WLAN-fähige Netzwerkschnittstelle habe:
# 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
Überprüfen Sie, ob der Prozess wpa_suplicant ausgeführt wird:
# ps -e | grep wpa
1881 ? 00:00:07 wpa_supplicant
Im interaktiven wpa-Client-Modus eingeben:
# wpa_cli
Liste der verfügbaren Zugangspunkte:
> scan
> scan_results
... und du bekommst so etwas:
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
...
Füge deinen AP hinzu:
> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"
Wählen Sie es als aktuell:
> enable_network 0
Stellen Sie eine Verbindung her:
> reconnect
Überprüfen Sie den Status:
> status
Wpa_cli beenden:
> quit
Fordern Sie über die Shell DHCP für IP- und Netzeinstellungen an:
# dhclient -r
# dhclient wlan0
wpa_cli
und dann schreibst du wpa_client
? Auf Kubuntu wpa_client
scheint 18.10 nicht als Kommando zu existieren
Bringen Sie zuerst Ihre Karte in Schwung, wenn sie nicht läuft:
ifconfig wlan0 up
Stellen Sie die Parameter entsprechend Ihrem Netzwerk ein
iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
Es gibt tatsächlich eine Möglichkeit, dies mit NetworkManager zu tun, wenn Sie das checkbox
Paket installiert haben.
sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY
( Quelle : Fehler 923836 , der bei meinen Suchen zu diesem Thema aufgetreten ist.)
Alle Antworten, die auf wpa_supplicant hindeuten, sind falsch. Ja, es kann Sie mit dem WPA-Netzwerk verbinden, aber das ist auf lange Sicht eine schlechte Lösung, da es sehr schwierig zu warten ist und mit einer Kabelverbindung nicht gut funktioniert. Lesen Sie diese Antwort und erleichtern Sie sich das Leben, indem Sie Network Manager über die Befehlszeile verwenden. Ich habe Stunden damit verbracht, wpa_supplicant zu konfigurieren, dann habe ich nmcli ausprobiert und es hat "einfach funktioniert".
Sie können VSWM - Very Simple Wireless Manager verwenden. Sie platzieren Ihre bekannten APs in einer einfachen cfg-Datei (/etc/vswm.cfg). Wenn Sie sie ausführen, durchsuchen Sie vswm
die verfügbaren Netzwerke und verbinden Sie Ihre Karte mit der ersten, die in /etc/vswm.cfg angezeigt wird.
VSWM ist unter https://github.com/dmelo/vswm verfügbar . Hier ist eine Auswahl davon, wie die Konfigurationsdatei vswm.cfg aussieht:
[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
Unter der Haube werden die Standardbefehlszeilentools verwendet: iwlist, wpa_supplicant, iwconfig, dhclient ... Nur der Job wird automatisiert.
Ich hatte Probleme, wpa_supplicant
direkt auf ein drahtloses Netzwerk zuzugreifen. Meine Netzwerk-ID und mein Kennwort haben Fehler generiert, als ich die wpa_supplicant.conf
Datei in der wpa_supplicant
Befehlszeile verwendet habe, z
sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
Ich konnte damit umgehen wpa_cli
. Die Befehlsfolge, die ich verwenden musste, da ich einen Windows-Treiber mit Linux ndiswrapper verwende, lautet:
sudo modprobe ndiswrapper
sudo iwconfig wlan0 essid "<My Network ID>" mode managed
sudo wpa_cli identity "<My Network ID>" password "<My password>"
Ich habe das Netzwerk eingerichtet, indem ich es im Abschnitt "Drahtlos" des Netzwerks in der GUI hinzugefügt habe, sodass ich auf das Symbol für ein verkabeltes oder drahtloses Netzwerk klicken und den Drahtlosanbieter auswählen konnte (was manchmal erforderlich war, um die Anmeldung abzuschließen).
Dies nmcli
ist die Befehlszeilenversion der Standard-Netzwerkmanager-App unter Ubuntu.
Einige der Vorteile sind, dass die Konfiguration verwendet wird, die Sie bereits über die grafische Oberfläche haben, und kein Root-Zugriff erforderlich ist.
Sie können ausführen nmcli
, um die verfügbaren Optionen anzuzeigen.
Beispiel für eine Verbindung mit einem WLAN namens MYESSID:
nmcli c up MYESSID