Tänään 16.12.2018 nimipäiviä viettää: Auli, Aulikki, Aada, Ada ja Adele onnea!

NFS-palvelin

Aluksi:

Network File System protokollaa (NFS) käytetään silloin kun halutaan jakaa tiedostoja linuxien välillä. NFS peruskonfigurointi on melko helppo, ja se käydään nyt läpi. (Sambaa käytetetään usein kun halutaan jakaa tiedostoja linuxin ja windowsin välillä).

Noudata muutamaa perussääntöä kun teet NFS asetuksia.

  • NFS:n perussäännöt:

    • Jaa ainoastaan kansioita / juuri kansion alapuolelta, älä koskaan koko juurta!
    • Älä jaa kansioiden alikansioita jotka ovat jo muutenkin jaossa. Poikkeuksena tilanne jossa jokin alikansioista sijaitsee fyysisesti eri kiintolevyllä.
    • Jaa ainoastaan paikallisia tiedostoja.

Pidä mielessäsi että kun liität minkä tahansa tiedostojärjestelmän kansioita, alkuperäiset (paikalliset) tiedosto asetukset eivät ole voimassa. Vasta Kun irrotat jaettuna olleen kansion tulevat takaisin alkuperäiset paikalliset asetukset.

NFS ei ole yksi ohjelma, vaan useampi pieni yksittäinen ohjelma jotka toimivat yhdessä.

  • Tärkeät NFS demonit

    • Portmap: Tärkein demoni, portmap asettaa yhteyksiä ohjelmille jotka käyttävät RPC:tä. Oletuksena, portmap kuuntelee TCP porttia 111 jota käytetään yhteyden luomiseen. Tällä neuvotellaan eri TCP-portteja, yleensä isompia kuin portti 1024, joita voidaan käyttää myöhemmin varsinaiseen tiedostojen siirtoon. Portmap tulee olla molemmissa koneissa käytössä NFS palvelimessa sekä asiakaskoneessa.
    • NFS: Käynnistää RPC prosesseja, tarvitaan palvelemaan NFS-tiedostojärjestelmiä. NFS daemonia luonnollisesti tarvitsee ajaa vain NFS-palvelimessa.
    • Nfslock: Käytetään jotta NFS asiakkaat voivat lukita tiedostoja palvelimelle käyttäen RPC prosesseja. Nfslock daemonia käyttää sekä NFS-palvelin että asiakas.
    • Netfs: Sallii RPC prosessin ajaa NFS asiakasta liittääkseen NFS tiedostojärjestelmän palvelimelta. Netfs daemonia tarvitsee ajaa vain NFS asikaskoneessa.

Lähtötilanne:

Halutaan jakaa sisäverkon palvelimessa olevia tiedostoja, kaikkien samaisen sisäverkon työasemien kesken. Sisäverkko on 192.168.0.0/24 jossa Palvelimen IP osoite 192.168.0.11.

Asennus:

RedHat Linux asentaa jo oletuksena nfs:n, ja myös oletuksena nfs käynnistetään kun systeemi bootataan. Voit tarkistaa mikä versio ja mitkä ohjelmat nfs:stä on asennettu käyttäen RPM komentoa joka putkitetaan grep komennolle etsiäkseen kaikki asennetut nfs paketit.

Käskytä: rpm -qa | grep nfs

Käsky näyttää kaikki nfs paketit, listassa pitäisi näkyä: nfs-utils, system-config-nfs, nfs-utils. Jos sait tyhjän listan, tai jokin paketeista puuttuu asenna ne/se käske: yum install paketinnimi.

Tarkista myös että potmap on asennettu käske: rpm -qa portmap

Käskyn pitäisi palauttaa vastaus portmap-versio.no.x. Taas jos ei näytä mitään asenna portmap kuten juuri aiemmin kerrottu.

Seuraavaksi ryhdytään tekemään asetuksia käyttäen aiemmin tarkasteltuja demoneita joilla luodaan oikea NFS asiakas/palvelin yhteys.

Asetukset:

NFS on helppo ottaa käyttöön, RedHat pohjaisissa linuxeissa löytyy graafinen työkalu system-config-nfs. Joskin NFS palvelu on erittäin tarkka konenimien ja niiden asetusten suhteen. Suurin osa ongelmista johtuukin vääristä tai puutteellisesti asetetuista verkko asetuksista, ja/tai konenimistä. NFS:n kanssa kannattaakin käyttää IP-osoitteita nimien sijaan.

Jos haluat tehdä asetukset graafisella kikkareella, avaa Gnomen päävalikko > asetukset > palvelut > Nfs, tai käske komentotulkissa system-config-nfs, molemmissa tapauksissa kysyy rootin salasanaa ja kun annat sen aukeaa ikkuna1. Klikkaa "Lisää" nappia, aukeaa ikkuna2. Voit nyt selata hakemistopuuta ja määrittää haluamasi kansion jaettavaksi. Huomioi mitä aiemmin tässä dokumentissa kerrottu kansioiden jakamisesta! Sitten asetat työaseman tai haluamasi tietokoneen IP-osoitteen tai sallitun (koko) sisäverkon IP alueen, kohdassa Kone(et) tämä tulee olla muotoa IP-osoite/verkkomaski esim. 192.168.0.0/255.255.255.0. Vielä kun kerrot ja annat halutut oikeudet jaettuun kansioon laittamalla rastin joko luku tai luku/kirjoitus kohtaan, alkaa olla valmista.

Tämän jälkeen /etc/exports tiedostossa on jotain tämän tyylistä: /home/esimerkki 192.168.0.0/255.255.255.0(rw,sync) Voit siis editoida ja asettaa NFS palvelun myös tekstiedittorilla, tekemällä määritykset /etc/exports tiedostoon. Tuossa suluissa oleva rw antaa luku(read) ja kirjoitus(write) oikeudet määritettyyn hakemistoon /home/esimerkki. Ja kuten huomaat on tässä esimerkissä kaikilla sisäverkon koneilla jotka kuuluvat IP alue 192.168.0.0:aan pääsy jaossa olevaan kansioon.

Turvallisuusden takia pitää lisätä /etc/hosts.deny tiedostoon rivi ALL: ALL tämä kieltää kaikilta pääsyn xinetd:tä käyttävien ohjelmien palveluihin. XINETD:tä käyttää myös NFS joten tuo on laitettava, viimeistään nyt. Lisäksi /etc/hosts.allow tiedostoon laitetaan sallittujen koneiden ja/tai koko sisäverkon IP/verkkomaski ALL: 192.168.0.0/255.255.255.0. Näin kun konfiguroidaan saadaan aikaiseksi ketju jossa ensin kielletään kaikki ja sitten sallitaan pääsy määritellyille koneille. Toki voi rajata tarkemmin palvelukohtaisesti, tässä tapauksessa esimerkiksi pelkästään pääsyn NFS palveluun, se tapahtuisi laittamalla rivi portmap: 192.168.0.0/255.255.255.0 edellisen esimerkin sijaan. Kuten huomaat jälleen NFS koostuu useammasta pienestä ohjelmasta kuten portmap, tämä onkin jo kerrottu tässä dokumentissa aiemmin.

Enää puuttuukin että laitat palvelun päälle, tai jos käytit tuota graafista system-config-nfs työkalua niin tehtyäsi asetukset se myös käynnistää palvelun automaattisesti, kun suljet ikkunat. Jos haluat että palvelu on päällä myös koneen bootin jälkeen muista tehdä asetukset! Esim: chkconfig nfs on 345, tai graafisesti system-config-services työkalulla.

Pidä hauskaa...