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