TL;DR

paljon lyhyempi opas on saatavilla Ubuntu Server Opas, Jos tarvitset lisätietoja, lue alla.

Johdanto

NFS (Network File System) voit ” jaa ” – hakemistoon, joka sijaitsee yksi verkottunut tietokoneen muiden tietokoneiden/laitteiden verkkoon. Tietokonetta, jossa hakemisto sijaitsee, kutsutaan palvelimeksi, ja siihen yhdistäviä tietokoneita tai laitteita kutsutaan asiakkaiksi. Asiakkaat yleensä ”asentaa” jaettu Hakemisto, jotta se on osa omaa hakemistorakennetta.,

NFS on täydellinen NAS: n (verkotetun liitetyn tallennustilan) luomiseen Linux / Unix-ympäristössä. Se on syntyperäinen Linux/Unix-protokolla vastakohtana Samballe, joka käyttää Microsoftin kehittämää SMB-protokollaa. Apple OS: llä on hyvä tuki NFS: lle. Windows 7: ssä on jonkin verran tukea NFS: lle.

NFS sopii ehkä parhaiten ”pysyvämpiin” verkkoasennettuihin hakemistoihin, kuten / Home-hakemistoihin tai säännöllisesti jaettuihin resursseihin. Jos haluat verkkojaon, johon vieraskäyttäjät voivat helposti muodostaa yhteyden, Samba sopii paremmin., Tämä on, koska työkaluja on olemassa helpommin poikki vanha ja oma-käyttöjärjestelmissä tilapäisesti asentaa ja irrottaa Samba osakkeita.

Ubuntu Ennen käyttöön NFS sinun pitäisi olla perehtynyt:

  • Linux-tiedostojen ja hakemistojen käyttöoikeudet
  • Asennus ja irrotus (irrotetaan) tiedostojärjestelmien

Tämä HowTo tekee Ubuntu server NFSv4 valmis.

NFS pikaopas

Tarjota ymmärrät mitä olet tekemässä, käytä tämä lyhyt kävellä läpi perustaa NFSv4 server Ubuntu (ei authentication security). Asenna sitten osake Ubuntu-asiakkaalle., Sitä on testattu Ubuntu 14.04: ssä.

NFS-palvelin

tarkistaaksesi, ettei NFS-palvelinta ole asennettu, voit tehdä sen…

  • $ dpkg -l | grep nfs-kernel-server

Asenna tarvittavat paketit…

  • # apt-get install nfs-kernel-server

helpottaa huolto-eristämme kaikki NFS vienti yhden hakemiston, jossa todellinen hakemistoja on asennettu –bind vaihtoehto.

  • oletetaan, että haluamme viedä meidän käyttäjien kotihakemistot /home/users., Ensin meidän luoda vienti-tiedostojärjestelmä:

    # mkdir -p /export/users 

    Se on tärkeää, että /vientiin ja /export/käyttäjät ovat 777 oikeudet kuin meillä on pääsy NFS jakaa asiakkaalta ilman LDAP – /VERKKO-todennusta. Tämä ei päde, jos käytät todennusta (KS.alla)., Nyt mount todellinen käyttäjät hakemistoon:

    # mount --bind /home/users /export/users

    pelastaa meidät retyping tämän jälkeen jokaisen uudelleenkäynnistyksen meidän lisätä seuraava

    rivi /etc/fstab

    /home/users /export/users none bind 0 0
  • ainoa tärkeä vaihtoehto /etc/default/nfs-kernel-server nyt on NEED_SVCGSSD. Se on oletuksena asetettu ”ei”, mikä on hienoa, koska emme aktivoi NFSv4-tietoturvaa tällä kertaa.

jotta tunnisteiden nimet voidaan automaattisesti kartoittaa, sekä asiakas että palvelin vaativat/etc / idmapd: n.,conf-tiedostolla on sama sisältö oikeilla verkkotunnuksilla. Lisäksi, tämän tiedoston pitäisi olla seuraavat rivit Kartoitus jakso:

  • Nobody-User = nobodyNobody-Group = nogroup

    Kuitenkin, asiakas voi olla eri vaatimukset Kukaan ei-Käyttäjä ja ei Kukaan-Ryhmä. Esimerkiksi RedHatin muunnelmissa se on nfsnobody molemmille. cat / etc /passwd ja cat/etc / – ryhmän tulisi näyttää ”nobody” – tilit.

näin palvelin ja asiakas eivät tarvitse käyttäjiä jakamaan samaa UID / GUIDIA.,

niille, jotka käyttävät LDAP-todennus, lisää seuraavat rivit asiakkaan idmapd.conf:

Method = nsswitch

Tämä aiheuttaa idmapd tietää katsomaan nsswitch.conf määrittää, missä se pitäisi etsiä kirjautumistietoja (ja jos sinulla on LDAP-todennus jo töissä, nsswitch ei pitäisi vaatia lisäselvityksiä).

viedä meidän hakemistoja paikallinen verkko 192.168.1.0/24 lisäämme seuraavat kaksi riviä /etc/exports

Portmap Lukitus

valinnainen

Lisää seuraava rivi /etc/hosts.,deny:

rpcbind mountd nfsd statd lockd rquotad : ALL

estämällä kaikki asiakkaat ensin, vain asiakkaat/etc / isännät.allow will be allowed to access the server.

Lisää nyt seuraava rivi/etc / isännille.salli:

rpcbind mountd nfsd statd lockd rquotad : list of IP addresses

Missä ”luettelo IP-osoitteet” merkkijono on, sinun täytyy tehdä IP-osoitteiden luettelo, joka koostuu palvelimen ja kaikki asiakkaat. Nämä on oltava IP-osoitteet, koska rajoitus portmap (se ei pidä isäntänimiä). Huomaa, että jos sinulla on NIS perustettu, vain lisätä nämä samalla rivillä.,

Huomautus: Varmista, että luettelo sallituista IP-osoitteista sisältää localhost-osoite (127.0.0.1) kuin käynnistyskomentosarjat viime versioissa Ubuntu käyttää rpcinfo komento löytää NFSv3 tukea, ja tämä poistetaan käytöstä, jos localhost ei voi yhdistää.,unt täydellinen vienti-puu yhdellä komennolla:

Voimme myös asentaa viety alipuu kanssa:

  • # mount -t nfs -o proto=tcp,port=2049 <nfs-server-IP>:/users /home/users

pelastaa meidät retyping tämän jälkeen jokaisen uudelleenkäynnistyksen me lisää seuraava rivi /etc/fstab:

  • <nfs-server-IP>:/ /mnt nfs auto 0 0

    Jos asennuksen jälkeen tiedostossa /proc/mounts näkyy <nfs-server-IP – >:// (kaksi kauttaviivaa), sitten sinun täytyy ehkä määrittää, kaksi kauttaviivaa /etc/fstab, tai muuten umount saattaa valittaa, että se ei voi löytää mount.,

    automaattivaihtoehto kiinnittyy käynnistettäessä. Kuitenkin tämä ei toimi, jos asiakas käyttää wifi-yhteys onnistui käyttäjätasolla (sisäänkirjautumisen jälkeen), koska verkko ei ole käytettävissä käynnistyksen aikana. Ubuntu 12.04 LTS: ssä ja myöhemmin wifi-yhteyksiä hallitaan järjestelmätasolla oletuksena, joten NFS-osakkeiden automaattisen asennuksen käynnistysaikaan pitäisi toimia hyvin.

Ubuntu Server ei tule mitään init.d / netfs tai muut skriptit tehdä tämän puolestasi.

Portmap Lukitus

valinnainen

Lisää seuraava rivi /etc/hosts.,deny:

rpcbind : ALL

estämällä kaikki asiakkaat ensin, vain asiakkaat/etc / isännät.allow will be allowed to access the server.

Lisää nyt seuraava rivi/etc / isännille.salli:

rpcbind : NFS server IP address

Missä ”NFS-palvelimen IP-osoite” on laitteen IP-osoite palvelimelle. Tämän täytyy olla numeerista! Näin portmap toimii.

NFS-Palvelin

Asennusta edeltävät Asetukset

Mikään seuraavista asennusta edeltävät toimenpiteet ovat ehdottomasti tarpeen.

Käyttöoikeudet

NFS käyttöoikeudet perustuvat käyttäjän ID (UID)., Nesteitä tahansa käyttäjät asiakkaan on vastattava niitä palvelimessa, jotta käyttäjillä on pääsy. Tyypillisiä tapoja tehdä tämä on:

  • Manuaalinen salasana, tiedostojen synkronointi
  • Käyttää LDAP-palvelinta,

  • Käyttö NIS

Se on myös tärkeää huomata, että sinun täytyy olla varovainen järjestelmissä, joissa pääasiallinen käyttäjä on root access – käyttäjä voi muuttaa UID on järjestelmä mahdollistaa itselleen pääsyn kenenkään tiedostoja. Tällä sivulla oletetaan, että hallintoryhmä on ainoa ryhmä, jolla on juurihoito ja että heihin kaikkiin luotetaan., Kaikki muu edustaa kehittyneempää kokoonpanoa, eikä sitä käsitellä täällä.

Ryhmän Käyttöoikeudet

NFS: llä, käyttäjän pääsy tiedostoja, määräytyy hänen/hänen jäsenyys ryhmien asiakas, ei palvelimeen. On kuitenkin tärkeä rajoitus: enintään 16 ryhmät välitetään asiakkaalta palvelimelle, ja, jos käyttäjä on jäsen yli 16 ryhmien asiakas, joitakin tiedostoja tai hakemistoja voi olla yllättäen saavuttamattomissa.

isäntänimet

valinnainen, jos DNS

: n avulla lisätään mikä tahansa asiakkaan nimi ja IP-osoitteet/etc / isännille. Todellinen (ei 127.,0.0.1) palvelimen IP-osoitteen pitäisi olla jo täällä. Tämä varmistaa, että NFS toimii edelleen, vaikka DNS menee alas. Voit luottaa DNS Jos haluat, se on sinusta kiinni.

VERKKO

valinnainen – suorita vaiheet vain, jos käytät NIS

Huomautus: Tämä toimii vain, jos käytät NIS. Muuten, et voi käyttää netgroups, ja pitäisi määrittää yksittäisten IP: n tai hostnames /etc / vienti. Lue vikojen osio man netgroupista.

Muokkaa /etc/netgroup ja lisää rivi luokitella asiakkaita. (Tämä vaihe ei ole tarpeen, mutta on mukavuutta).,

myclients (client1,,) (client2,,)

luonnollisesti lisää asiakkaita voidaan lisätä. asiakkaani voi olla mitä haluat; tämä on netgroup nimi.

Suorita tämä komento uudelleen YP-tietokanta:

sudo make -C /var/yp

Portmap Lukitus

valinnainen

Lisää seuraava rivi /etc/hosts.deny:

rpcbind mountd nfsd statd lockd rquotad : ALL

estämällä kaikki asiakkaat ensin, vain asiakkaat/etc / isännät.allow will be allowed to access the server.

Lisää nyt seuraava rivi/etc / isännille.,salli:

rpcbind mountd nfsd statd lockd rquotad : list of IP addresses

Missä ”luettelo IP-osoitteet” merkkijono on, sinun täytyy tehdä IP-osoitteiden luettelo, joka koostuu palvelimen ja kaikki asiakkaat. Nämä on oltava IP-osoitteet, koska rajoitus portmap (se ei pidä isäntänimiä). Huomaa, että jos sinulla on NIS perustettu, vain lisätä nämä samalla rivillä.,

Asennusta ja Kokoonpano

Asenna NFS-Palvelin

sudo apt-get install rpcbind nfs-kernel-server

Osaketta

Muokkaa /etc/exports ja lisää osakkeita:

/home @myclients(rw,sync,no_subtree_check)/usr/local @myclients(rw,sync,no_subtree_check)

edellä mainitut osakkeet /home ja /usr/local kaikille asiakkaille asiakkaani netgroup.

edellä mainitut osakkeet /koti ja/usr / paikallinen kahdelle asiakkaalle, joilla on kiinteät ip-osoitteet. Parhaiten käytetään vain koneilla, joilla on staattiset ip-osoitteet.

/home 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)/usr/local 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)

edellä mainitut osakkeet /home ja /usr/local kaikille asiakkaille yksityisen verkoston, jotka kuuluvat nimetyn ip-osoitteen välillä.,

rw tekee osakkeen luettavaksi / kirjoitettavaksi, ja sync vaatii palvelinta vastaamaan pyyntöihin vasta, kun mahdolliset muutokset on huuhdottu levylle. Tämä on turvallisin vaihtoehto (async on nopeampi, mutta vaarallinen. On erittäin suositeltavaa, että luet miesvientiä.

Kun olet asettanut /etc/vienti, viennin osakkeet:

sudo exportfs -ra

Sinun kannattaa tehdä tämä komento, kun /etc/exports on muutettu.,

Käynnistä Palvelut

Jos /etc/default/portmap oli muuttunut, portmap täytyy käynnistää uudelleen:

sudo service portmap restart

NFS-kernel-server edellyttää myös uudelleen:

sudo service nfs-kernel-server restart

Turvallisuus Huomautus

Syrjään UID kysymyksiä edellä, on huomattava, että hyökkääjä voi mahdollisesti naamiaiset kuin kone, joka saa map share, jonka avulla ne voivat luoda mielivaltainen Nesteitä käyttää tiedostoja. Yksi mahdollinen ratkaisu tähän on IPSec, KS.myös jäljempänä oleva NFS-ja IPSec-kohta., Voit perustaa kaikki verkkotunnuksen jäsenet puhumaan vain toisilleen IPSec, joka tehokkaasti todentaa, että asiakas on, kuka se sanoo on.

IPSec toimii salaamalla palvelimelle lähetettävän liikenteen palvelimen avaimella, ja palvelin lähettää takaisin kaikki asiakkaan avaimella salatut vastaukset. Liikenne puretaan vastaavilla avaimilla. Jos asiakkaalla ei ole avaimia, joita asiakkaalla pitäisi olla, se ei voi lähettää tai vastaanottaa tietoja.

vaihtoehto Ipsecille on fyysisesti erilliset verkot., Tämä edellyttää erillistä Verkkokytkintä ja erillisiä ethernet-kortteja sekä kyseisen verkon fyysistä turvallisuutta.

NFS-Asiakas

Asennus

sudo apt-get install rpcbind nfs-common

Portmap Lukitus

valinnainen

Lisää seuraava rivi /etc/hosts.deny:

rpcbind : ALL

estämällä kaikki asiakkaat ensin, vain asiakkaat/etc / isännät.allow will be allowed to access the server.

Lisää nyt seuraava rivi/etc / isännille.salli:

rpcbind : NFS server IP address

Missä ”NFS-palvelimen IP-osoite” on laitteen IP-osoite palvelimelle. Tämän täytyy olla numeerista!, Näin portmap toimii.

isäntänimet

valinnainen, jos DNS

lisää palvelimen nimi/etc / isännille. Tämä varmistaa, että NFS kiinnikkeet toimivat edelleen, vaikka DNS menee alas. Voit luottaa DNS Jos haluat, se on sinusta kiinni.

ratsut

tarkista, toimiiko kaikki

sinun pitäisi yrittää asentaa se nyt., Perus malli, voit käyttää on:

sudo mount ServerIP:/folder/already/setup/to/be/shared /home/username/folder/in/your/local/computer

esimerkiksi:

sudo mount 192.168.1.42:/home/music /home/poningru/music

Mount käynnistyksen

NFS kiinnikkeet voi olla joko automaattisesti asennettu, kun käyttää autofs: ää tai voi olla setup staattinen kiinnikkeet käyttämällä rivejä tiedostossa /etc/fstab. Molemmat on selitetty alla.

Automaattiasentajacomment

Asenna abuse:

sudo apt-get install autofs

seuraava kokoonpano esimerkiksi asettaa kotiin hakemistoja automount pois NFS-palvelin, kun kirjaudut sisään. Muita hakemistoja voidaan asentaa automatisoimaan myös käytön yhteydessä.,

Lisää seuraava rivi/etc / auton loppuun.mestari:

 /home /etc/auto.home

Nyt luoda /etc/auto.koti ja aseta seuraavat:

 * solarisbox1.company.com.au,solarisbox2.company.com.au:/export/home/&

Uudelleenkäynnistys abuse, jotta kokoonpano:

sudo service autofs start

Staattinen Kiinnikkeet

Ennen perustamalla kiinnikkeet, varmista, että hakemistoja, jotka toimivat liitoskohdat ovat jo luotu.

/etc/fstab, lisätä rivejä osakkeista, kuten:

servername:dir /mntpoint nfs rw,hard,intr 0 0

rw-kiinnikkeet sitä lukea/kirjoittaa., On selvää, jos palvelin jakaa sen vain lukea, asiakas ei voi asentaa sitä mitään muuta kuin että. Kova kiinnikkeet jakaa niin, että jos palvelin ei ole käytettävissä, ohjelma odottaa, kunnes se on saatavilla. Vaihtoehto on pehmeä. intr: n avulla voit keskeyttää / tappaa prosessin. Muuten se ei välitä sinusta. Dokumentaatio näitä löytyy Mount vaihtoehtoja nfs osassa man mount.

tiedostojärjestelmät voidaan nyt asentaa mount / mountpoint-tai mount-a-asentimella varustamaan kaikki tavaratilan kohdalle asennettavat.,

Huomautuksia

Minimalistinen NFS perustaa

edellä mainitut vaiheet ovat hyvin kattavia. Vähintään useita vaiheita tarvitaan perustaa NFS on lueteltu täällä:

http://www.ubuntuforums.org/showthread.php?t=249889

Käyttää Ryhmien kanssa NFS Osakkeita

Kun käytät ryhmien NFS osakkeita (NFSv2 tai NFSv3), pitää mielessä, että tämä ei ehkä toimi, jos käyttäjä on jäsenenä yli 16 ryhmää. Tämä johtuu NFS-protokollan rajoituksista., Voit löytää lisää tietoa Launchpad (”Permission denied, kun käyttäjä kuuluu ryhmään, joka omistaa ryhmä kirjoitettavissa tai setgid hakemistoja asentaa nfs: n kautta”) ja tässä artikkelissa: ”Mikä juttu 16 ryhmän tunnus rajoitus NFS?”

IPSec Huomautuksia

Jos käytät IPSec, oletuksena shutdown järjestyksessä Reipas/Dapper aiheuttaa asiakkaan ripustaa, kun se on sammutettu, koska IPSec menee alas ennen kuin NFS ei., Korjata sen, tehdä:

sudo update-rc.d -f setkey removesudo update-rc.d setkey start 37 0 6 S .

vika on jätetty tässä: https://launchpad.net/distros/ubuntu/+source/ipsec-tools/+bug/37536

Vianetsintä

Asennus NFS osakkeita salattu kotona ei toimi käynnistyksen

Asennus NFS jakaa sisällä salatun home directory toimii vain, kun olet onnistuneesti kirjautunut sisään ja kotona on purettu. Tämä tarkoittaa, että /etc/fstab: n käyttäminen NFS: n osakkeiden kiinnittämiseen bootiin ei toimi – koska kotiasi ei ole purettu asennuksen yhteydessä., Siellä on yksinkertainen tapa kiertää tämä käyttäen Symbolisia linkkejä:

  • Luoda vaihtoehtoinen directory to mount NFS osakkeita:
$ sudo mkdir /nfs$ sudo mkdir /nfs/music
  • Muokkaa /etc/fstab-to mount NFS jakaa sen sijaan, että directory:

nfsServer:musiikki /nfs/musiikki nfs-auto 0 0

  • Luoda symbolinen linkki sisälle kotiisi, osoittaa todellinen mount sijainti (tässä tapauksessa poistaa ”Music” hakemisto on jo olemassa siellä ensin):
$ rmdir /home/user/Music$ ln -s /nfs/music/ /home/user/Music