Uruchomienie WiFi na Ubuntu Server

Postanowiłem przeznaczyć zepsutego latopa na domowy serwer, ale jako że nie chcę bawić się w tonę kabli, to postanowiłem wykorzystać w nim WiFi. Okazuje się, że podłączenie do sieci bezprzewodowej z poziomu terminala nie jest takie super łatwe.

Jednocześnie nie jest aż tak trudne. Zaczynamy od zainstalowania kilku potrzebnych pakietów:

sudo apt-get install ifupdown wpa_supplicant wireless-tools

Następnie przy pomocy polecenia iwlist scan możemy znaleźć widoczne sieci bezprzewodowe. Kiedy wiemy do jakiej sieci się podłączymy to musimy utworzyć dla niej plik z credentialami:

wpa_passphrase SSID > /etc/my-wpa.conf

Gdzie SSID jest to nazwa sieci WiFi, a /etc/my-wpa.conf jest ścieżką do pliku.

Następnie możemy sprawdzić czy połączenie będzie działać przez wywołanie

wpa_supplicant -Dwext -iwlp3s0 -c/etc/my-wpa.conf -B

Gdzie -D to driver, -i interfejs sieciowy, -c plik konfiguracyjny, a -B oznacza działanie w tle.

Jeśli nie wiemy jak się nazywa nasz interfejs sieciowy WiFi to możemy to sprawdzić poleceniem

iw dev

W tym momencie jesteśmy podłączeni do siecie bezprzewodowej, dopóki nie wyłączymy komputera.

Żeby automatycznie konfigurować sieć przy uruchomieniu, będziemy korzystali z systemu ifupdown. Będziemy chcieli zedytować plik

/etc/network/interfaces

Wpisujemy (bez linijek przerwy)

auto wlp3s0
iface wlp3s0 inet dhcp
wpa-conf /etc/my-wpa.conf

Gdzie wlp3s0 to nazwa naszego interfejsu sieciowego, a /etc/my-wpa.conf to ścieżka do utworzonego wcześniej pliku z credentialami do WiFi.

Jeśli chcemy mieć stałe IP (bez DHCP) to w środku zamiast drugiej linijki piszemy

iface wlp3s0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1

Na koniec będziemy chcieli ustawić sobie adres serwera DNS

systemd-resolve --set-dns=1.1.1.1 --interface wlp3s0

I uruchomić ponownie komputer, by zobaczyć czy wszystko działa.