Articles

Jak połączyć się z WiFi z poziomu terminala w Ubuntu Linux

Posted on

W tym poradniku dowiesz się jak połączyć się z siecią bezprzewodową z poziomu terminala w Ubuntu. Jest to szczególnie pomocne jeśli używasz Ubuntu na serwerze, gdzie nie masz dostępu do zwykłego środowiska graficznego.

Przede wszystkim używam Linuksa na moich komputerach domowych. Posiadam również wiele serwerów linuksowych do hostingu FOSS i powiązanych stron internetowych oraz oprogramowania open source jak Nextcloud, Discourse, Ghost, Rocket Chat itp.

Używam Linode do szybkiego wdrażania serwerów linuksowych w chmurze w ciągu kilku minut. Ale ostatnio zainstalowałem serwer Ubuntu na moim Raspberry Pi. To jest pierwszy raz kiedy zainstalowałem serwer na fizycznym urządzeniu i musiałem zrobić dodatkowe rzeczy aby połączyć serwer Ubuntu z WiFi poprzez linię poleceń.

W tym poradniku pokażę kroki jak połączyć się z WiFi używając terminala w Ubuntu Linux. Powinieneś

  • nie bać się używać terminala do edycji plików
  • znać nazwę punktu dostępowego wifi (SSID) i hasło

Połącz się z WiFi z terminala w Ubuntu

Jest to łatwe, gdy używasz Ubuntu desktop, ponieważ masz GUI, aby łatwo to zrobić. To nie to samo, gdy używasz serwera Ubuntu i jesteś ograniczony do wiersza poleceń.

Ubuntu używa narzędzia Netplan do łatwego konfigurowania sieci. W Netplan, tworzysz plik YAML z opisem interfejsu sieciowego i z pomocą narzędzia linii poleceń Netplan, generujesz całą wymaganą konfigurację.

Zobaczmy jak połączyć się z siecią bezprzewodową z terminala używając Netplan.

Krok 1: Zidentyfikuj nazwę interfejsu sieci bezprzewodowej

Istnieje kilka sposobów na zidentyfikowanie nazwy interfejsu sieciowego. Możesz użyć komendy ip, przestarzałej komendy ipconfig lub sprawdzić ten plik:

ls /sys/class/net

To powinno dać ci wszystkie dostępne interfejsy sieciowe (Ethernet, wifi i loopback). Nazwa interfejsu sieci bezprzewodowej zaczyna się od 'w' i zazwyczaj jest nazwana podobnie do wlanX, wlpxyz.

:~$ ls /sys/class/neteth0 lo wlan0

Zapamiętaj tę nazwę interfejsu. Będziesz jej używał w następnym kroku.

Krok 2: Edycja pliku konfiguracyjnego Netplan z danymi interfejsu wifi

Plik konfiguracyjny Netplan znajduje się w katalogu /etc/netplan. Jeśli sprawdzisz zawartość tego katalogu, powinieneś zobaczyć pliki takie jak 01-network-manager-all.yml lub 50-cloud-init.yaml.

Jeśli jest to serwer Ubuntu, powinieneś mieć plik cloud-init. Dla desktopów powinien to być plik network-manager.

Menedżer sieci na pulpicie Linuksa pozwala na wybór sieci bezprzewodowej. Możesz twardo zakodować punkt dostępowy wifi w jego konfiguracji. To może ci pomóc w niektórych przypadkach (jak zawieszenie), gdzie połączenie spada automatycznie.

Którykolwiek plik to jest, otwórz go do edycji. Mam nadzieję, że jesteś trochę zaznajomiony z edytorem Nano, ponieważ Ubuntu jest z nim preinstalowany.

sudo nano /etc/netplan/50-cloud-init.yaml

Pliki YAML są bardzo wrażliwe na spacje, wcięcia i wyrównanie. Nie używaj tabulatorów, użyj 4 (lub 2, w zależności od tego, który z nich jest już używany w pliku YAML) spacji zamiast tego, gdzie widzisz wcięcie.

Podsumowując, będziesz musiał dodać następujące linie z nazwą punktu dostępowego (SSID) i jego hasłem (zazwyczaj) w cudzysłowie:

wifis: wlan0: dhcp4: true optional: true access-points: "SSID_name": password: "WiFi_password"

Powtarzam, zachowaj wyrównanie jak pokazałem, w przeciwnym razie plik YAML nie będzie parsowany i wyrzuci błąd.

Twój kompletny plik konfiguracyjny może wyglądać tak:

Dla mnie to dziwne, że pomimo komunikatu, że zmiany nie będą trwały po restarcie instancji, to nadal działa.

W każdym razie, wygeneruj konfigurację za pomocą tej komendy:

sudo netplan generate

A teraz zastosuj to:

sudo netplan apply

Jeśli masz szczęście, powinieneś mieć podłączoną sieć. Spróbuj pingować stronę internetową lub uruchomić polecenie apt update.

Jednakże sprawy mogą nie iść tak gładko i możesz zobaczyć kilka błędów. Spróbuj wykonać kilka dodatkowych kroków, jeśli tak jest.

Możliwe rozwiązania

Możliwe jest, że kiedy używasz polecenia netplan apply, widzisz błąd na wyjściu, który brzmi mniej więcej tak:

Możliwe jest, że usługa wpa_supplicant nie jest uruchomiona. Uruchom to polecenie:

sudo systemctl start wpa_supplicant

Uruchom netplan apply jeszcze raz. Jeśli to rozwiąże problem, dobrze i dobrze. W przeciwnym razie zamknij swój system Ubuntu używając:

shutdown now

Zrestartuj swój system Ubuntu ponownie, zaloguj się i wygeneruj i zastosuj netplan jeszcze raz:

sudo netplan generatesudo netplan apply

Teraz może pokazać ostrzeżenie (zamiast błędu). To jest ostrzeżenie, a nie błąd. Sprawdziłem działające usługi systemd i stwierdziłem, że netplan-wpa-wlan0.service był już uruchomiony. Prawdopodobnie pokazał ostrzeżenie, ponieważ był już uruchomiony i 'netplan apply' zaktualizował plik konfiguracyjny (nawet bez żadnych zmian).

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.

To nie jest krytyczne i możesz sprawdzić, że internet prawdopodobnie działa już przez uruchomienie apt update.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *