TL; DR

az Ubuntu szerver útmutatójában sokkal rövidebb útmutató érhető el, ha további információra van szüksége, olvassa el alább.

Bevezetés

NFS (Network File System) lehetővé teszi, hogy “megosztani” egy könyvtár található egy hálózati számítógépen más számítógépek/eszközök a hálózaton. Az a számítógép, ahol a könyvtár található, a kiszolgálónak nevezik, a számítógépeket vagy a kiszolgálóhoz csatlakozó eszközöket pedig klienseknek nevezik. Az ügyfelek általában “csatolják” a megosztott könyvtárat, hogy a saját könyvtárszerkezetük részévé váljanak.,

az NFS tökéletes NAS (hálózati csatolt tároló) létrehozására Linux/Unix környezetben. Ez egy natív Linux / Unix protokoll, szemben a Samba-val, amely a Microsoft által kifejlesztett SMB protokollt használja. Az Apple OS jó támogatást nyújt az NFS számára. A Windows 7 támogatja az NFS – t.

az NFS talán a legjobb az “állandó” hálózati könyvtárakhoz, például / otthoni könyvtárakhoz vagy rendszeresen elérhető megosztott erőforrásokhoz. Ha olyan hálózati részesedést szeretne, amelyhez a vendég felhasználók könnyen csatlakozhatnak, a Samba jobban megfelel., Ennek oka az, hogy a régi és szabadalmaztatott operációs rendszereken keresztül könnyebben elérhetők az eszközök a Samba részvények ideiglenes rögzítéséhez és leválasztásához.

Ubuntu az NFS telepítése előtt ismernie kell a következőket:

  • Linux file and directory permissions
  • telepítés és leválasztás (leválasztás) fájlrendszerek

Ez a HowTo az Ubuntu server NFSv4 kész.

NFS Gyorsindítás

feltéve, hogy megérti, mit csinál, használja ezt a rövid átfutást az NFSv4 szerver beállításához az Ubuntu-n (hitelesítési biztonság nélkül). Ezután szerelje fel a részvényt egy Ubuntu kliensre., Az Ubuntu 14.04-en tesztelték.

NFS server

annak ellenőrzéséhez, hogy az NFS szerver nincs telepítve, megteheti…

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

telepítse a szükséges csomagokat…

  • # apt-get install nfs-kernel-server

a könnyebb karbantartás érdekében az összes NFS exportot egyetlen könyvtárba különítjük el, ahol a valódi könyvtárak a –bind opcióval lesznek felszerelve.

  • tegyük fel, hogy exportálni akarjuk a felhasználók otthoni könyvtárait / home / users., Először létrehozzuk az exportálási fájlrendszert:

    # mkdir -p /export/users 

    fontos, hogy az /export and/export/users 777 jogosultsággal rendelkezzen, mivel az LDAP / NIS hitelesítés nélkül hozzáférünk az NFS megosztáshoz az ügyféltől. Ez nem érvényes hitelesítés esetén (lásd alább)., Most szerelje fel a valódi felhasználói könyvtárat a következővel:

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

    hogy megmentsen minket attól, hogy minden újraindítás után újra beírjuk a következő

    sort az /etc/fstab

    /home/users /export/users none bind 0 0

  • az egyetlen fontos lehetőség az /etc/alapértelmezett/NFS-kernel-szerver most van need_svcgssd. Alapértelmezés szerint “nem” – re van állítva, ami rendben van, mert ezúttal nem aktiváljuk az NFSv4 biztonságot.

az azonosító nevek automatikus leképezéséhez mind az ügyfél, mind a kiszolgáló megköveteli az /etc/idmapd-t.,conf fájlt, hogy ugyanazt a tartalmat a megfelelő domain nevek. Ezenkívül ennek a fájlnak a leképezési szakaszban a következő sorokkal kell rendelkeznie:

  • Nobody-User = nobodyNobody-Group = nogroup

    azonban az ügyfélnek eltérő követelményei lehetnek a Senki-felhasználó és senki-csoport számára. Például a RedHat változatoknál mindkettő nfsnobody. cat / etc / passwd és cat / etc / group kell mutatni a “senki” számlák.

így a szervernek és a kliensnek nincs szüksége a felhasználókra, hogy ugyanazt az UID/GUID-ot osszák meg.,

azok számára, akik LDAP-alapú hitelesítést használnak, adja hozzá a következő sorokat az ügyfél idmapd-jéhez.conf:

Method = nsswitch

ez okozza idmapd tudni, hogy nézd meg nsswitch.conf annak megállapításához, hogy hol kell keresni a hitelesítő adatokat (és ha az LDAP hitelesítés már működik, nsswitch nem igényel további magyarázatot).

könyvtáraink helyi hálózatba történő exportálásához 192.168.1.0 / 24 a következő két sort adjuk hozzá az/etc / exporting

Portmap Lockdown

opcionális

adja hozzá a következő sort az /etc/hosts-hoz.,tagadás:

rpcbind mountd nfsd statd lockd rquotad : ALL

az összes ügyfél blokkolásával először csak az/etc / hosts kliensek.az alábbi engedélyezés lehetővé teszi a kiszolgáló elérését.

most adja hozzá a következő sort az /etc/hosts-hoz.engedélyezés:

rpcbind mountd nfsd statd lockd rquotad : list of IP addresses

ahol az “IP-címek listája” karakterlánc található, meg kell adnia a kiszolgálóból és az összes kliensből álló IP-címek listáját. Ezeknek IP-címeknek kell lenniük a portmap korlátozása miatt (nem tetszik a hostnames). Vegye figyelembe, hogy ha NIS beállítása van, csak adja hozzá ezeket ugyanahhoz a sorhoz.,

Megjegyzés: győződjön meg arról, hogy az engedélyezett IP-címek listája tartalmazza a localhost címet (127.0.0.1), mivel az Ubuntu legutóbbi verzióiban az Rpcinfo parancs segítségével felfedezheti az NFSv3 támogatást, és ez le lesz tiltva, ha a localhost nem tud csatlakozni.,unt a teljes export fa egy parancs:

Mi is szerelhető az exportált részfa a:

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

ahhoz, Hogy megmentsen minket a retyping ez után minden újraindítás hozzáadjuk a következő sort a /etc/fstab állományba:

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

    Ha a szerelés után a bejegyzés a /proc/mounts jelenik meg, mint a <nfs-kiszolgáló-IP>:// (két vágás), akkor lehet, hogy meg kell adnia két vágás /etc/fstab állományban, vagy más umount lehet, hogy panaszkodik, hogy nem találja a mount.,

    az automatikus opció indításkor rögzül. Ez azonban nem fog működni, ha az ügyfél felhasználói szinten kezelt wifi kapcsolatot használ (bejelentkezés után), mert a hálózat nem lesz elérhető a rendszerindításkor. Az Ubuntu 12.04 LTS-ben vagy később a wifi-kapcsolatokat alapértelmezés szerint rendszerszinten kezelik, így az NFS-részvények automatikus telepítésének a rendszerindításkor jól kell működnie.

Az Ubuntu Server nem tartalmaz init-et.d / netfs vagy más szkriptek ehhez az Ön számára.

Portmap Lockdown

opcionális

adja hozzá a következő sort az /etc/hosts-hoz.,tagadás:

rpcbind : ALL

az összes ügyfél blokkolásával először csak az/etc / hosts kliensek.az alábbi engedélyezés lehetővé teszi a kiszolgáló elérését.

most adja hozzá a következő sort az /etc/hosts-hoz.engedélyezés:

rpcbind : NFS server IP address

ahol az” NFS server IP address ” a kiszolgáló IP-címe. Ez biztos numerikus! Így működik a portmap.

NFS Server

telepítés előtti Beállítás

az alábbi telepítés előtti lépések egyike sem feltétlenül szükséges.

Felhasználói engedélyek

az NFS felhasználói engedélyek a felhasználói azonosítón (UID) alapulnak., Az ügyfél bármely felhasználójának uid-jének meg kell egyeznie a kiszolgálón lévőkkel annak érdekében, hogy a felhasználók hozzáférhessenek. A tipikus módon csinálja ezt, vagy:

  • Kézi jelszó fájl szinkronizáló
  • Használata LDAP

  • Használja a NIS

Ez is fontos megjegyezni, hogy óvatosnak kell lenni a rendszerek, ahol a fő felhasználó root -, hogy a felhasználó meg tudja változtatni UID ez a rendszer lehetővé teszi, magukat hozzáférést bárki fájlokat. Ez az oldal feltételezi, hogy az adminisztrációs csapat az egyetlen csoport, amely root hozzáféréssel rendelkezik, és hogy mind megbízhatóak., Bármi más egy fejlettebb konfigurációt jelent, és itt nem fogunk foglalkozni vele.

csoportengedélyek

NFS esetén a felhasználó fájlokhoz való hozzáférését az ügyfél csoportjainak tagsága határozza meg, nem a kiszolgálón. Van azonban egy fontos korlátozás: legfeljebb 16 csoport kerül átadásra az ügyfélről a kiszolgálóra, és ha a Felhasználó több mint 16 csoport tagja az ügyfélen, egyes fájlok vagy könyvtárak váratlanul elérhetetlenek lehetnek.

Host nevek

opcionális, ha DNS-t használ

adjon hozzá minden ügyfélnevet és IP-címet az /etc/hosts-hoz. Az igazi (nem 127.,0.0.1) a szerver IP-címének már itt kell lennie. Ez biztosítja, hogy az NFS akkor is működjön, ha a DNS lemegy. A DNS-re támaszkodhat, ha akarja, ez rajtad múlik.

NIS

opcionális-csak akkor hajtson végre lépéseket, ha NIS

Megjegyzés: Ez csak akkor működik, ha NIS-t használ. Ellenkező esetben nem használhatja a netgroups programot, ezért az /etc/export alkalmazásban meg kell adnia az egyes IP-címeket vagy hostneveket. Olvassa el a hibákat részben man netgroup.

Edit /etc/netgroup, majd adjon hozzá egy sort az ügyfelek osztályozásához. (Ez a lépés nem szükséges,de a kényelem érdekében).,

myclients (client1,,) (client2,,)

nyilvánvalóan több ügyfél is hozzáadható. a myclients bármi lehet, ami tetszik; ez egy netgroup név.

futtassa ezt a parancsot az YP adatbázis újjáépítéséhez:

sudo make -C /var/yp

Portmap Lockdown

opcionális

adja hozzá a következő sort az /etc/hosts-hoz.tagadás:

rpcbind mountd nfsd statd lockd rquotad : ALL

az összes ügyfél blokkolásával először csak az/etc / hosts kliensek.az alábbi engedélyezés lehetővé teszi a kiszolgáló elérését.

most adja hozzá a következő sort az /etc/hosts-hoz.,engedélyezés:

rpcbind mountd nfsd statd lockd rquotad : list of IP addresses

ahol az “IP-címek listája” karakterlánc található, meg kell adnia a kiszolgálóból és az összes kliensből álló IP-címek listáját. Ezeknek IP-címeknek kell lenniük a portmap korlátozása miatt (nem tetszik a hostnames). Vegye figyelembe, hogy ha NIS beállítása van, csak adja hozzá ezeket ugyanahhoz a sorhoz.,

Installation and Configuration

Install NFS Server

sudo apt-get install rpcbind nfs-kernel-server

Shares

Edit / etc / export and add the shares:

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

a fenti részvények / home és / usr / local a myclients netgroup összes ügyfelének.

a fenti részvények /home és /usr/local két fix ip-címmel rendelkező ügyfél számára. A legjobban csak statikus ip-címekkel rendelkező gépeknél használható.

/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)

a fenti részvények /home és /usr/local a magánhálózat minden ügyfele számára a kijelölt ip-címtartományba tartoznak.,

rw teszi a megosztás olvasási / írási, sync megköveteli, hogy a szerver csak válaszolni kérésekre, ha bármilyen változás már kipirult lemezre. Ez a legbiztonságosabb lehetőség (async gyorsabb, de veszélyes. Erősen ajánlott, hogy olvassa el az ember exportját.

az /etc/export beállítása után exportálja a részvényeket:

sudo exportfs -ra

ezt a parancsot akkor szeretné megtenni, amikor az /etc/export módosult.,

Indítsa újra Szolgáltatások

Ha a /etc/default/portmap megváltozott, portmap kell indítani:

sudo service portmap restart

Az NFS-kernel-server is szükséges az újraindítás:

sudo service nfs-kernel-server restart

Biztonság Megjegyzés:

Eltekintve az UID kérdéseket a fent tárgyalt, meg kell jegyezni, hogy egy támadó esetleg álarcosbál, mint egy gép, amely lehetővé tette, hogy a térkép a részvény, amely lehetővé teszi számukra, hogy hozzon létre tetszőleges Folyadékok, hogy hozzáférjenek a fájlokhoz. Ennek egyik lehetséges megoldása az IPSec, Lásd még az alábbi NFS és IPSec szakaszt., Beállíthatja az összes domain tagot, hogy csak IPSec-en keresztül beszéljenek egymással, ami hatékonyan hitelesíti, hogy az ügyfél az, aki azt mondja.

az IPSec úgy működik, hogy titkosítja a kiszolgálóra irányuló forgalmat a szerver kulcsával, a kiszolgáló pedig visszaküldi az ügyfél kulcsával titkosított összes választ. A forgalmat a megfelelő kulcsokkal dekódolják. Ha az ügyfél nem rendelkezik azokkal a kulcsokkal, amelyekkel az ügyfélnek rendelkeznie kell, akkor nem küldhet vagy fogadhat adatokat.

az IPSec alternatívája fizikailag különálló hálózatok., Ehhez külön hálózati kapcsolóra és külön ethernet kártyára van szükség, valamint a hálózat fizikai biztonságára.

NFS Client

Installation

sudo apt-get install rpcbind nfs-common

Portmap Lockdown

opcionális

adja hozzá a következő sort az /etc/hosts-hoz.tagadás:

rpcbind : ALL

az összes ügyfél blokkolásával először csak az/etc / hosts kliensek.az alábbi engedélyezés lehetővé teszi a kiszolgáló elérését.

most adja hozzá a következő sort az /etc/hosts-hoz.engedélyezés:

rpcbind : NFS server IP address

ahol az” NFS server IP address ” a kiszolgáló IP-címe. Ez biztos numerikus!, Így működik a portmap.

Host nevek

opcionális, ha DNS-t használ

adja hozzá a kiszolgáló nevét az /etc/hosts-hoz. Ez biztosítja, hogy az NFS-csatolások akkor is működjenek, ha a DNS lemegy. A DNS-re támaszkodhat, ha akarja, ez rajtad múlik.

tartók

ellenőrizze, hogy minden működik-e

meg kell próbálnia csatlakoztatni., Az alapvető sablon, amelyet használni fog, a következő:

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

így például:

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

Mount indításkor

az NFS tartók automatikusan felszerelhetők autofs használatával, vagy statikus tartókkal telepíthetők az /etc/fstab bejegyzésekkel. Mindkettőt az alábbiakban ismertetjük.

Automounter

Autofs telepítése:

sudo apt-get install autofs

a következő konfigurációs példa beállítja az otthoni könyvtárakat, hogy bejelentkezéskor automatikusan kikapcsolják az NFS-kiszolgálót. Más könyvtárak lehet beállítani, hogy automatount után hozzáférést is.,

adja hozzá a következő sort az /etc/auto végéhez.mester:

 /home /etc/auto.home

most hozzon létre/etc / auto.haza, majd illessze be a következőt:

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

Indítsa újra autofs ahhoz, hogy a konfigurációs:

sudo service autofs start

Statikus Tartók

Előtt beállítása a csatlakoztatja, ellenőrizze, hogy a könyvtárakat, hogy fog működni, mint mountpoints már létrehozott.

az /etc/fstab-ban adjon hozzá sorokat olyan részvényekhez, mint például:

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

az rw olvas/ír., Nyilvánvaló, hogy ha a szerver csak olvasható, akkor az ügyfél nem fogja tudni csatlakoztatni, mint bármi más. A hard úgy rögzíti a megosztást, hogy ha a szerver elérhetetlenné válik, a program megvárja, amíg elérhető. Az alternatíva puha. az intrr lehetővé teszi a folyamat megszakítását/megölését. Ellenkező esetben figyelmen kívül hagyja Önt. Dokumentáció ezek megtalálhatók a Mount opciók nfs részén man mount.

a fájlrendszerek most fel lehet szerelni mount / mountpoint, vagy mount-a csatolni mindent, amit fel kell szerelni a boot.,

Megjegyzések

minimalista NFS beállítása

a fenti lépések nagyon átfogóak. Az NFS beállításához szükséges minimális lépések száma itt található:

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

NFS-részvényekkel rendelkező csoportok használata esetén

csoportokat használ NFS-részvényeken (NFSv2 vagy NFSv3), ne feledje, hogy ez nem működik, ha a Felhasználó több mint 16 csoport tagja. Ez az NFS protokoll korlátozásainak köszönhető., További információkat talál a Launchpad (“engedély megtagadva, ha a Felhasználó olyan csoporthoz tartozik, amely az nfs-en keresztül telepített Csoportos írható vagy setgid könyvtárakat birtokolja”), és ebben a cikkben: “mi a helyzet az NFS 16 csoportazonosító korlátozásával?”

IPSec Notes

Ha IPSec-et használ, a Breezy/Dapper alapértelmezett leállítási sorrendje miatt az ügyfél lefagy, mivel az IPSec leáll, mielőtt az NFS nem., Hogy rendbe tegye:

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

A hiba nyújtottak be itt: https://launchpad.net/distros/ubuntu/+source/ipsec-tools/+bug/37536

Hibaelhárítás

Szerelési NFS részvények kódolt haza nem működik a rendszerindítás

Szerelési egy NFS share be a titkosított saját könyvtár csak akkor fog működni, miután sikeresen bejelentkezett, valamint az otthoni visszafejteni. Ez azt jelenti, hogy az/etc / fstab használata az NFS – részvények rögzítéséhez a rendszerindítón nem fog működni-mert otthonát a szerelés idején nem dekódolták., Van egy egyszerű módja ennek a szimbolikus linkek:

  • hozzon létre egy alternatív könyvtárat, hogy felmászik az NFS részvények:
$ sudo mkdir /nfs$ sudo mkdir /nfs/music
  • Szerkesztés /etc/fstab, hogy felmászik a NFS részesedése ebbe a könyvtárba helyett:

nfsServer:zene /nfs/music nfs auto 0 0

  • hozzon létre egy szimbolikus linket otthonában, rámutatva a tényleges csatolási helyre (esetünkben törölje az ott már létező”zene”könyvtárat):
$ rmdir /home/user/Music$ ln -s /nfs/music/ /home/user/Music