V tomto tutoriálu se dozvíte, jak se připojit k bezdrátové síti z terminálu v Ubuntu. To je zvláště užitečné, pokud používáte server Ubuntu, kde nemáte přístup k běžnému desktopovému prostředí.
Na domácích počítačích používám primárně desktopový Linux. Mám také několik linuxových serverů pro hostování It's FOSS a souvisejících webů a softwaru s otevřeným zdrojovým kódem, jako je Nextcloud, Discourse, Ghost, Rocket Chat atd.
Linode používám pro rychlé nasazení linuxových serverů v cloudu během několika minut. Ale nedávno jsem nainstaloval server Ubuntu na svůj Raspberry Pi. Toto je poprvé, co jsem nainstaloval server na fyzické zařízení a musel jsem udělat něco navíc, abych mohl připojit server Ubuntu k WiFi přes příkazový řádek.
V tomto tutoriálu ukážu kroky pro připojení k WiFi pomocí terminálu v Ubuntu Linux. Měli byste
- nebojte se používat terminál k úpravě souborů
- znáte název přístupového bodu wifi (SSID) a heslo
Připojte se k WiFi z terminálu v Ubuntu
Je to snadné, když používáte Ubuntu desktop, protože máte GUI, abyste to snadno udělali. Není to stejné, když používáte server Ubuntu a jste omezeni na příkazový řádek.
Ubuntu používá nástroj Netplan pro snadnou konfiguraci sítě. V Netplanu vytvoříte YAML soubor s popisem síťového rozhraní a pomocí nástroje příkazového řádku netplan vygenerujete veškerou požadovanou konfiguraci.
Podívejme se, jak se připojit k bezdrátové síti z terminálu pomocí Netplan.
Krok 1:Identifikujte název rozhraní bezdrátové sítě
Existuje několik způsobů, jak identifikovat název síťového rozhraní. Můžete použít příkaz ip, zastaralý příkaz ipconfig nebo zkontrolovat tento soubor:
ls /sys/class/net
To by vám mělo poskytnout veškeré dostupné síťové rozhraní (Ethernet, wifi a zpětná smyčka). Název rozhraní bezdrátové sítě začíná „w“ a obvykle se jmenuje podobně jako wlanX, wlpxyz.
[email protected]:~$ ls /sys/class/net
eth0 lo wlan0
Poznamenejte si název tohoto rozhraní. Použijete jej v dalším kroku.
Krok 2:Upravte konfigurační soubor Netplan s podrobnostmi o wifi rozhraní
Konfigurační soubor Netplan je umístěn v adresáři /etc/netplan. Pokud zkontrolujete obsah tohoto adresáře, měli byste vidět soubory jako 01-network-manager-all.yml nebo 50-cloud-init.yaml.
Pokud je to server Ubuntu, měli byste mít cloud-init soubor. U stolních počítačů by to měl být soubor správce sítě. Toto je jeden z několika způsobů, jak se desktop Ubuntu liší od serveru Ubuntu.
Správce sítě na ploše Linuxu umožňuje vybrat bezdrátovou síť. Přístupový bod wifi můžete napevno zakódovat v jeho konfiguraci. To by vám mohlo pomoci v některých případech (jako je pozastavení), kdy připojení automaticky vypadává.
Ať už se jedná o kterýkoli soubor, otevřete jej pro úpravy. Doufám, že editor Nano trochu znáte, protože Ubuntu je s ním předinstalovaný.
sudo nano /etc/netplan/50-cloud-init.yaml
Soubory YAML jsou velmi citlivé na mezery, odsazení a zarovnání. Nepoužívejte tabulátory, místo toho použijte 4 (nebo 2, podle toho, co je již použito v souboru YAML) mezery tam, kde vidíte odsazení.
V zásadě budete muset přidat následující řádky s názvem přístupového bodu (SSID) a jeho heslem (obvykle) v uvozovkách:
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"SSID_name":
password: "WiFi_password"
Opět ponechte zarovnání, jak jsem ukázal, jinak nebude soubor YAML analyzován a vyvolá chybu.
Váš úplný konfigurační soubor může vypadat takto:
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
eth0:
dhcp4: true
optional: true
version: 2
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"SSID_name":
password: "WiFi_password"
Připadá mi zvláštní, že navzdory zprávě, že změny nepřetrvají po restartu instance, stále funguje.
Každopádně konfiguraci vygenerujte pomocí tohoto příkazu:
sudo netplan generate
A nyní použijte toto:
sudo netplan apply
Pokud budete mít štěstí, měli byste mít připojenou síť. Zkuste pingnout webovou stránku nebo spusťte příkaz apt update.
Věci však nemusí jít tak hladce a můžete vidět nějaké chyby. Pokud je to váš případ, zkuste nějaké další kroky.
Možné řešení problémů
Je možné, že když použijete příkaz netplan apply, uvidíte ve výstupu chybu, která zní asi takto:
Failed to start netplan-wpa-wlan0.service: Unit netplan-wpa-wlan0.service not found.
Traceback (most recent call last):
File "/usr/sbin/netplan", line 23, in <module>
netplan.main()
File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 46, in run
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 173, in command_apply
utils.systemctl_networkd('start', sync=sync, extra_services=netplan_wpa)
File "/usr/share/netplan/netplan/cli/utils.py", line 86, in systemctl_networkd
subprocess.check_call(command)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['systemctl', 'start', '--no-block', 'systemd-networkd.service', 'netplan-wpa-wlan0.service']' returned non-zero exit status 5.
Je možné, že služba wpa_supplicant neběží. Spusťte tento příkaz:
sudo systemctl start wpa_supplicant
Spusťte znovu použít netplan. Pokud problém vyřeší dobře a dobře. V opačném případě vypněte systém Ubuntu pomocí:
shutdown now
Spusťte znovu svůj systém Ubuntu, přihlaste se a znovu vygenerujte a použijte netplan:
sudo netplan generate
sudo netplan apply
Nyní se může zobrazit varování (místo chyby). Je to varování a ne chyba. Zkontroloval jsem spuštěné služby systemd a zjistil jsem, že netplan-wpa-wlan0.service již běží. Pravděpodobně se zobrazilo varování, protože již byl spuštěn a „netplan apply“ aktualizoval konfigurační soubor (i bez jakýchkoli změn).
Warning: The unit file, source configuration file or drop-ins of netplan-wpa-wlan0.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Není to kritické a můžete zkontrolovat, že internet pravděpodobně již funguje spuštěním aktualizace apt.
Doufám, že se vám s pomocí tohoto návodu podařilo připojit k wifi pomocí příkazového řádku v Ubuntu. Pokud s tím stále máte potíže, dejte mi vědět v sekci komentářů.