You are currently viewing Kotikoneeseen Ubuntu 20.04: Serveriasennus ja wifi

Kotikoneeseen Ubuntu 20.04: Serveriasennus ja wifi

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 rivi ExecStart=/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 rivi Alias=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

 

Jakke Lehtonen

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