Tento tutoriál vám ukáže, jak se připojit k síti Wi-Fi z příkazového řádku na Debianu 11/10 server a desktop pomocí wpa_supplicant , což je implementace komponenty žadatele o protokol WPA. Žadatel v bezdrátové síti LAN je klientský software nainstalovaný na počítači koncového uživatele, který musí být ověřen, aby se mohl připojit k síti.
Upozorňujeme, že budete muset nainstalovat wpa_supplicant
software před připojením k Wi-Fi, takže se musíte nejprve připojit ke kabelovému Ethernetu, což se provádí pouze jednou. Pokud se vám tato metoda nelíbí, nezlobte se na mě. Možná jednoho dne Debian dodá wpa_supplicant
v čisté instalaci.
Krok 1:Najděte název svého bezdrátového rozhraní a bezdrátové sítě
Spusťte iwconfig
k nalezení názvu vašeho bezdrátového rozhraní.
iwconfig
wlan0
je běžný název pro bezdrátové síťové rozhraní v systémech Linux. V distribucích Linuxu založených na systemd můžete mít bezdrátové rozhraní s názvem wlp4s0
.
Jak můžete vidět, bezdrátové rozhraní není právě teď spojeno s žádným přístupovým bodem. Poté spusťte následující příkaz pro vyvolání bezdrátového rozhraní.
sudo ip link set dev wlp4s0 up
Pokud narazíte na následující chybu,
RTNETLINK answers: Operation not possible due to RF-kill
musíte odblokovat Wi-Fi pomocí následujícího příkazu.
sudo rfkill unblock wifi
Dále vyhledejte název své bezdrátové sítě prohledáním okolních sítí pomocí příkazu níže. Nahraďte wlp4s0
s vaším vlastním názvem bezdrátového rozhraní. ESSID je identifikátor názvu sítě.
sudo iwlist wlp4s0 scan | grep ESSID
Krok 2:Připojte se k síti Wi-Fi pomocí WPA_Supplicant
Nyní nainstalujte wpa_supplicant
na Debianu 11/10 z výchozího softwarového úložiště.
sudo apt install wpasupplicant
Potřebujeme vytvořit soubor s názvem wpa_supplicant.conf
pomocí wpa_passphrase
užitečnost. wpa_supplicant.conf
je konfigurační soubor popisující všechny sítě, ke kterým se uživatel chce, aby se počítač připojoval. Spusťte následující příkaz k vytvoření tohoto souboru. Nahraďte ESSID (název sítě) a přístupovou frázi Wi-Fi vlastním.
wpa_passphrase your-ESSID your-wifi-passphrase | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf
Pokud váš ESSID obsahuje mezery, jako je (linuxbabe WiFi
), musíte ESSID zabalit do uvozovek ("linuxbabe WiFi"
) ve výše uvedeném příkazu.
Výstup wpa_passphrase
příkaz bude přesměrován do tee
a poté zapsán do /etc/wpa_supplicant/wpa_supplicant.conf
soubor. Nyní pomocí následujícího příkazu připojte bezdrátovou kartu k bezdrátovému přístupovému bodu.
sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp4s0
Následující výstup indikuje, že vaše bezdrátová karta je úspěšně připojena k přístupovému bodu.
Successfully initialized wpa_supplicant wlp4s0: SME: Trying to authenticate with c5:4a:21:53:ac:eb (SSID='CMCC-11802' freq=2437 MHz) wlp4s0: Trying to associate with c5:4a:21:53:ac:eb (SSID='CMCC-11802' freq=2437 MHz) wlp4s0: Associated with c5:4a:21:53:ac:eb wlp4s0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0 wlp4s0: WPA: Key negotiation completed with c5:4a:21:53:ac:eb [PTK=CCMP GTK=CCMP] wlp4s0: CTRL-EVENT-CONNECTED - Connection to c5:4a:21:53:ac:eb completed [id=0 id_str=]
Všimněte si, že pokud používáte Debian desktop edition, musíte zastavit Network Manager pomocí následujícího příkazu, jinak to způsobí problém s připojením při použití wpa_supplicant .
sudo systemctl stop NetworkManager
A deaktivujte automatické spouštění NetworkManageru při spouštění spuštěním následujícího příkazu.
sudo systemctl disable NetworkManager-wait-online NetworkManager-dispatcher NetworkManager
Ve výchozím nastavení běží wpa_supplicant v popředí. Pokud je připojení dokončeno, otevřete další okno terminálu a spusťte
iwconfig
Můžete vidět, že bezdrátové rozhraní je nyní spojeno s přístupovým bodem.
Můžete stisknout CTRL+C
k zastavení aktuálního wpa_supplicant proces a spusťte jej na pozadí přidáním -B
vlajka.
sudo wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlp4s0
Přestože jsme ověřeni a připojeni k bezdrátové síti, zatím nemáme IP adresu. Chcete-li získat soukromou IP adresu ze serveru DHCP, použijte následující příkaz:
sudo dhclient wlp4s0
Nyní má vaše bezdrátové rozhraní soukromou IP adresu, kterou lze zobrazit pomocí:
ip addr show wlp4s0
Nyní máte přístup k internetu. Chcete-li uvolnit soukromou IP adresu, spusťte
sudo dhclient wlp4s0 -r
Připojování ke skryté bezdrátové síti
Pokud váš bezdrátový router nevysílá ESSID, musíte přidat následující řádek do /etc/wpa_supplicant/wpa_supplicant.conf
soubor.
scan_ssid=1
Jako níže:
network={ ssid="LinuxBabe.Com Network" #psk="12345qwert" psk=68add4c5fee7dc3d0dac810f89b805d6d147c01e281f07f475a3e0195 scan_ssid=1 }
Krok 3:Automatické připojení při spouštění systému
Abychom se při spouštění automaticky připojili k bezdrátové síti, musíme upravit wpa_supplicant.service
soubor. Je dobré zkopírovat soubor z /lib/systemd/system/
adresář do /etc/systemd/system/
adresář a poté upravte obsah souboru, protože nechceme novější verzi wpa_supplicant
přepsat naše úpravy.
sudo cp /lib/systemd/system/wpa_supplicant.service /etc/systemd/system/wpa_supplicant.service
Upravte soubor pomocí textového editoru příkazového řádku, jako je Nano.
sudo nano /etc/systemd/system/wpa_supplicant.service
Najděte následující řádek.
ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
Změňte jej na následující. Zde jsme přidali konfigurační soubor a název bezdrátového rozhraní do ExecStart
příkaz.
ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp4s0
Při zjištění selhání se doporučuje vždy zkusit restartovat wpa_supplicant. Přidejte následující přímo pod ExecStart
řádek.
Restart=always
Uložte a zavřete soubor. (Chcete-li uložit soubor v textovém editoru Nano, stiskněte Ctrl+O
a poté stiskněte Enter
potvrdit. Pro ukončení stiskněte Ctrl+X
.) Poté znovu načtěte systemd.
sudo systemctl daemon-reload
Povolit wpa_supplicant spuštění služby při spouštění.
sudo systemctl enable wpa_supplicant.service
Musíme také spustit dhclient
při spouštění, abyste získali soukromou IP adresu ze serveru DHCP. Toho lze dosáhnout vytvořením systémové servisní jednotky pro dhclient
.
sudo nano /etc/systemd/system/dhclient.service
Vložte do souboru následující text.
[Unit] Description= DHCP Client Before=network.target After=wpa_supplicant.service [Service] Type=forking ExecStart=/sbin/dhclient wlp4s0 -v ExecStop=/sbin/dhclient wlp4s0 -r Restart=always [Install] WantedBy=multi-user.target
Uložte a zavřete soubor. Poté tuto službu povolte.
sudo systemctl enable dhclient.service
Jak získat statickou IP adresu
Pokud chcete získat statickou IP adresu, musíte deaktivovat dhclient.service
.
sudo systemctl disable dhclient.service
Vytvořte síťový konfigurační soubor.
sudo nano /etc/systemd/network/static.network
Přidejte následující řádky.
[Match] Name=wlp4s0 [Network] Address=192.168.1.8/24 Gateway=192.168.1.1
Uložte a zavřete soubor. Poté vytvořte .link
soubor pro bezdrátové rozhraní.
sudo nano /etc/systemd/network/10-wifi.link
Přidejte do tohoto souboru následující řádky. Musíte použít svou vlastní MAC adresu a název bezdrátového rozhraní. Toto má zabránit systému ve změně názvu bezdrátového rozhraní.
[Match] MACAddress=a8:4b:05:2b:e8:54 [Link] NamePolicy= Name=wlp4s0
Uložte a zavřete soubor. Poté deaktivujte networking.service
a povolte systemd-networkd.service
, která se postará o networking.
sudo systemctl disable networking sudo systemctl enable systemd-networkd
Nyní můžete restartovat systemd-networkd
abyste zjistili, zda vaše konfigurace funguje.
sudo systemctl restart systemd-networkd
Dalším způsobem, jak získat statickou IP adresu, je přihlášení do rozhraní pro správu routeru a přiřazení statické IP adresy MAC vaší bezdrátové kartě, pokud router tuto funkci podporuje.
Doporučená četba
- Jak používat Systemd v systému Linux – správa služeb, úrovní běhu a protokolů
Více sítí Wi-Fi
Soubor /etc/wpa_supplicant.conf
konfigurační soubor může obsahovat více sítí Wi-Fi. wpa_supplicant automaticky vybere nejlepší síť na základě pořadí síťových bloků v konfiguračním souboru, úrovně zabezpečení sítě a síly signálu.
Chcete-li přidat druhou síť Wi-Fi, spusťte
wpa_passphrase your-ESSID your-wifi-passphrase | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf
Všimněte si, že musíte použít -a
možnost s tee
příkaz, který k souboru místo smazání původního obsahu připojí novou Wifi síť.
Zabezpečení Wi-Fi
Nepoužívejte WPA2 TKIP nebo WPA2 TKIP+AES jako metoda šifrování ve vašem Wi-Fi routeru. TKIP již není považován za bezpečný. Můžete použít WPA2-AES jako metoda šifrování.