Kohtuullisen yleinen työnkuva linux-maailmassa on kierrättää vanhoja koneita. Toki vannoutuneet harrastajat ostavat uutta rautaa ja jyräävät esiasennetun Windowssin, mutta varsinkin kokeiluihin ja kevyempään serverikäyttöön hyödynnetään usein vanhoja koneita. Ne eivät oikein jaksa enää pyörittää mitään graafista, mutta sisäverkkoservereinä tai -työpisteinä ne toimivat. Ongelma on välillä siinä, että niiden tekniikka ja tekniikan hallinta on rakennettu Windowsille. Mutta ongelman toinen ääripää taasen on, että linuxit eivät koskaan ole olleet helppouden ja käytettävyyden huipulla bluetoothin tai edes wifin kanssa – printtereistä puhumattakaan.
Halusin kokeille kevyen SSH-serverin pystyttämistä palvelemaan sisäverkon laitteiden SSH-yhteyksiä. Samalla ajattelin kokeilla miten websivustojen kehittäminen ja stage-asennukset toimisivat kotiympäristössä. Siihen hommaan valjastettiin LCD-paneelistaan kärsinyt Windows 7 aikoinaan pyörittänyt Compaq Presario cq61. Kirjavan vuotana näyttöhän ei häiritse työntekoa, koska kaikki tehdään kuitenkin etänä SSH:n kautta.
Tyypilliseen tapaan netti hoituu taivaan kautta ja routeri jakaa wifiä kaikille sisäverkon laitteille. Ja yhtä tyypilliseen tapaan nettiboksi ei ole sellaisessa paikassa, josta saisi helposti vedettyä verkkokaapelin, eikä viereen mahdu vanhaa läppäriä tuulettimensa kanssa pörisemään. Joten senkin täytyy saada tehtyä verkkoyhteytensä wifillä.
Läppäriin oli asennettu Ubuntun 20.04 serveriasennuksella, koska graafisilla kilkkeillä ei ollut käyttöä. Se toi mukanaan myös sen, että wifi ei toiminut eikä ollut mitään kohtaa mihin klikata yhteyden muodostamiseksi. Kaikki wifikorttia myöten on erikseen kerrottava järjestelmälle.
Löysin kaksi tapaa saada läppärivanhukselle wifi. En tiedä mitä aitoa eroa niissä on ja suunnilleen sama aikakin niiden asettamisessa menee – noin muutama minuutti. Käytä kumpaa haluat, sillä minä kokeilin molempia ja molemmat toimivat.
Kun alat laittamaan wifiä toimintakuntoon, niin kannattanee ensimmäiseksi komentaa sudo -s
koska aivan kaikkiin asioihin tarvittaisiin sudo. Pääsee siis hieman vähemmällä näpyttelyllä, kun siirtyy suosiolla rootin bashiin.
Vanhempi tapa
Kaikesta päätellen wpa_supplicant
on vanhempi tapa asettaa ja ottaa wifi-käyttöön. Vaiheita on hieman enemmän kuin uudemmassa tavassa käyttää Netplania. Sitä en tiedä onko yhtään mitään väliä kumman tekee.
Asetetaan wifin tiedot
- Asennetaan ensin työkalu, jolla päästään wifikorttiin käsiksi:
apt install rfkill
- Katso mikä on tilanne: Luultavasti wifi on blokattuna:
rfkill list
Luultavasti wifi on blokattuna (sinulla on luultavasti erilaiset nimet):
0: hp-wifi: Wireless LAN Soft blocked: yes Hard blocked: no 1: phy0: Wireless LAN Soft blocked: yes Hard blocked: no
- Vapautetaan wifi:
rfkill unblock wifi
- Asennetaan työkalu langattomien hallintaan:
apt install wireless-tools
- Katsotaan mikä on langattoman liittymän nimi:
iwconfig
Verkkoyhteyksien nimet voivat olla erilaisia, minulla wifiin viittaa wlp2s0
lo no wireless extensions. enp3s0 no wireless extensions. wlp2s0 IEEE 802.11 ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=15 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off
Jos wifiä ei löydy, niin kokeile tätä:
ifconfig wlp2s0 up
- Etsi tarjolla olevat wifi-verkot:
iwlist wlp2s0 scan | grep ESSID
Wifiin kytkeytyminen
- Asennetaan työkalu, jolla saadaan wifiin kirjautuminen järjestykseen ja herran nuhteeseen:
apt install wpasupplicant
- Tehdään tiedosto, joka pitää sisällään wifi-verkon nimen ja salasanan:
wpa_passphrase "ESSID" wifi-salasana | sudo tee /etc/wpa_supplicant.conf
- Tätä en ole kokeillut, mutta jos verkko ei kerro nimeään, niin täytyy tehdä pieni lisäys. Avataan
wpa_suppliant.conf
:
nano /etc/wpa_supplicant.conf
Lisää loppuun ennen päättävää aaltosuljetta tämä:
scan_ssid=1
- Liitytään verkkoon:
wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlp2s0
- Tarkista tilanne:
iwconfig
Nyt wifi löytyy:
lo no wireless extensions. enp3s0 no wireless extensions. wlp2s0 IEEE 802.11 ESSID:"HELLYEAH666" Mode:Managed Frequency:2.452 GHz Access Point: 6C:B7:49:8C:4A:92 Bit Rate=65 Mb/s Tx-Power=15 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off Link Quality=70/70 Signal level=-32 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:45 Missed beacon:0
- Ohjeissa on käsketty komentamaan wifi hakemaan itselleen IP-osoitteen. En tiedä tarvitaanko tuota, koska minulla routeri on aina antanut sisäverkon IP-osoitteen ihan erikseen pyytämättäkin. Asian voi tarkistaa
ifconfig wlp2s0
komennolla. Jos IP-osoite näkyy, niin luulisin sen riittävän:
wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.100.47 netmask 255.255.255.0 broadcast 192.168.100.255
IP-osoite kuitenkin pyydetään näin:
dhclient wlp2s0
Automaattinen käynnistys
Kun tietokone buutataan, niin wifiin liittyminen saisi olla automaattista.
- Kopioidaan wpa_supplicant.service turvaan softapäivityksiltä ja avataan se muokkausta varten:
cp /lib/systemd/system/wpa_supplicant.service /etc/systemd/system/wpa_supplicant.service nano /etc/systemd/system/wpa_supplicant.service
- Etsi
[Service]
lohkosta riviExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
, kommentoi se ja laita tämä:
ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant.conf -i wlp2s0
- Etsi
[Install]
lohkosta riviAlias=dbus-fi.w1.wpa_supplicant1.service
ja kommentoi se:
# Alias=dbus-fi.w1.wpa_supplicant1.service
Tallenna ja sulje
- Ladataan demoni uudestaan:
systemctl daemon-reload
- Sallitaan
wpa_supplicant
:
systemctl enable wpa_supplicant.service
IP-osoitteen hakeminen
Riippuen hieman järjestelmästä, niin saattaa olla tarve hakea bootin yhteydessä IP-osoite. Minun ei ole kylläkään koskaan tarvinnut tehdä tätä, joten kannattanee ehkä testata ensin saako IP:n routerilta ilman kikkailuja.
- IP:n hakeminen kuitenkin pitäisi tapahtua luomalla dhclietistä service:
nano /etc/systemd/system/dhclient.service
Lisää tämä:
[Unit] Description= DHCP Client Before=network.target [Service] Type=simple ExecStart=/sbin/dhclient wlp2s0 -v ExecStop=/sbin/dhclient wlp2s0 -r [Install] WantedBy=multi-user.target
- Salli se:
systemctl enable dhclient.service
Uudempi tapa
Jos hakee wifiin neuvoja, niin suunnilleen 18.04 paikkeilla ja käytännössä aina, kun otsikkona on Ubuntu 20.04 ja wifi, niin neuvotaan käyttämään Netplania. Väittäisin, että ero wpa_supplicant
toteutukseen tulee oikeastaan vain siinä, että Netplanilla tarvitsee asentaa vähemmän ohjelmia. Vaadittavien muokkausten määrä on suunnilleen sama, mutta eri paikkoihin.
- Selvitetään käytettävissä olevat verkkoyhteydet:
ls /sys/class/net
Itselläni syöte oli:
enp3s0 lo wlp2s0
Noista wifi ( tai WLAN, jos siitä nimestä pidät enemmän) on wlp2so
- Katsotaan mikä on Netplanin asetustiedosto:
ls /etc/netplan/
- Minulla ei ollut kuin yksi,
00-installer-config.yaml
, joten avataan se muokkausta varten:
nano /etc/netplan/00-installer-config.yaml
Lisää sinne tämä rivi version: 2
alle (tai mikä sitten viimeisenä onkaan)
wifis: wlp2s0: optional: true access-points: "SSID-NIMI": password: "WIFI-SALASANA" dhcp4: true
Huomaa, että sisennysten täytyy olla samanlaiset ja wifis
alkaa samalla sisennyksellä kuin missä on version: 2
!
Joten minulla lopullinen olisi:
# This is the network config written by 'subiquity' network: ethernets: enp3s0: dhcp4: true version: 2 wifis: wlp2s0: optional: true access-points: "SSID-NIMI": password: "WIFI-SALASANA" dhcp4: true
Otetaan muutokset käyttöön:
netplan apply
Jos tuli jotain ihmeellistä, niin katso mitä tämä kertoo:
netplan --debug apply
Ja viimeiseksi tarkistat, että wifi on ylhäällä:
ip a
Teen B2B-markkinoille sisällöntuottoa sekä UX-testauksia. Samaan liittyy myös koulutukset yrityksille ja webmaailman kanssa muutoin painiville. Serverien sielunelämää on joutunut ohessa opettelmaan. Toinen puoli toiminnasta on koirien ravitsemuksen ja ruokinnan suunnittelua sekä varsinkin omistajien kouluttamista hoitamaan koiriaan oikein ja vielä paremmin.
Profiili: Jakke Lehtonen
Keskustele foorumilla Meta/KATISKA