nfs-utils
- Review systemd support in article. man nfs.systemd, /etc/nfs.conf, etc.
Hálózati Fájlrendszer (NFS) egy fájlrendszer-protokoll, amely lehetővé teszi a kliens számítógépek számára, hogy hozzáférjenek a hálózathoz csatolt fájlrendszerekhez (exportoknak nevezve) egy host rendszerről. Az NFS fájlrendszert támogatja a Linux kernel, és a felhasználói térben található szolgáltatások és segédprogramok elérhetők a net-fs/nfs-utils szoftvercsomagban.
Telepítés
Kernel
Az NFS szerver támogatása nem szükséges az NFS kliens számára. Fordítva pedig az NFS kliens támogatása nem szükséges az NFS szerverek számára. Az Inotify támogatás csak az NFSv4 esetében szükséges. Az NFSv3 kizárólag a régi kliensszoftverek kompatibilitásához szükséges, például a BusyBox mount parancs nem támogatja az NFSv4-et.
Kliens támogatás
A kliens kerneltámogatását engedélyezni kell minden olyan operációs rendszeren, amely csatlakozik az NFS exportokat futtató host számítógéphez.
File systems --->
[*] Inotify support for userspace
[*] Network File Systems --->
<*> NFS client support
< > NFS client support for NFS version 2
<*> NFS client support for NFS version 3
[ ] NFS client support for the NFSv3 ACL protocol extension (NEW)
<*> NFS client support for NFS version 4
[ ] Provide swap over NFS support
[ ] NFS client support for NFSv4.1
[ ] Use the legacy NFS DNS resolver
[ ] NFS: Disable NFS UDP protocol support
Szerver támogatás
A szerver kerneltámogatása csak az NFS exportokat kiszolgáló operációs rendszeren szükséges. Helyi tesztelési célokra hasznos lehet a kliens támogatás engedélyezése is, ahogyan az az előző szakaszban meg lett határozva a szerver esetében.
File systems --->
[*] Inotify support for userspace
[*] Network File Systems --->
<*> NFS server support
-*- NFS server support for NFS version 3
[ ] NFS server support for the NFSv3 ACL protocol extension (NEW)
[*] NFS server support for NFS version 4
[ ] NFSv4.1 server support for pNFS block layouts (NEW)
[ ] NFSv4.1 server support for pNFS SCSI layouts (NEW)
[ ] NFSv4.1 server support for pNFS Flex File layouts (NEW)
[ ] Provide Security Label support for NFSv4 server (NEW)
USE jelölőzászlók
USE flags for net-fs/nfs-utils NFS client and server daemons
+libmount
|
Link mount.nfs with libmount |
+nfsv3
|
Enable support for NFSv2 and NFSv3 |
+nfsv4
|
Enable support for NFSv4 (includes NFSv4.1 and NFSv4.2) |
+uuid
|
Support UUID lookups in rpc.mountd |
caps
|
Use Linux capabilities library to control privilege |
junction
|
Enable NFS junction support in nfsref |
kerberos
|
Add kerberos support |
ldap
|
Add ldap support |
sasl
|
Add support for the Simple Authentication and Security Layer |
selinux
|
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur |
tcpd
|
Add support for TCP wrappers |
Emerge
Telepítse a net-fs/nfs-utils szoftvercsomagot:
root #
emerge --ask net-fs/nfs-utils
Beállítás
Szerver
Az alábbi táblázat ismerteti azokat a fájlrendszereket, amelyeket a szerver exportálni fog:
Eszköz | Csatolási könyvtár | Leírás |
---|---|---|
/dev/sdb1 | /home | Fájlrendszer, amely a felhasználók otthoni könyvtárait tartalmazza. |
/dev/sdc1 | /data | Fájlrendszer, amely a felhasználói adatokat tartalmazza. |
Virtuális gyökérkönyvtár
Noha ez a cikk a legjobb gyakorlatnak számító NFSv4 telepítést mutatja be egy virtuális gyökérkönyvtár használatával, lehetséges a szükséges könyvtárak közvetlen exportálása is anélkül, hogy azt használnánk. Ha ez a kívánt megoldás, akkor ezt a szakaszt át lehet ugrani, és ehelyett az exports fájlt a következő módon kell kitölteni:
/etc/exports
/home 192.0.2.0/24(insecure,rw,sync,no_subtree_check)
Az exportálni kívánt fájlrendszerek egyetlen könyvtár alá helyezhetők el. Ezt a könyvtárat virtuális gyökérkönyvtárnak nevezzük.
root #
mkdir /export
A /export könyvtárat használjuk ezen cikk során virtuális gyökérkönyvtárként, bár bármely más könyvtár is használható, például /nfs vagy /srv/nfs.
Hozzon létre könyvtárakat a virtuális gyökérkönyvtárban azokhoz a fájlrendszerekhez (például /home és /data), amelyeket exportálni kíván.
root #
mkdir /export/home
root #
mkdir /export/data
Az exportálni kívánt fájlrendszereket elérhetővé kell tenni a virtuális gyökérkönyvtár megfelelő könyvtáraiban. Ezt a --bind
opcióval lehet megvalósítani a mount paranccsal (ha olyasmit kell felcsatolni a fájlrendszerbe, ami más fájlrendszerekben van felcsatolva, akkor használja helyette a --rbind
opciót).
root #
mount --bind /home /export/home
root #
mount --bind /data /export/data
Az említett csatolások tartóssá tételéhez adja hozzá a következő sorokat a /etc/fstab fájlhoz:
/etc/fstab
/home /export/home none bind 0 0
/data /export/data none bind 0 0
Exportok
Azok a fájlrendszerek, amelyeket elérhetővé kell tenni a kliensek számára, a /etc/exports fájlban vannak megadva. Ez a fájl tartalmazza az exportálni kívánt könyvtárakat, azokat a klienseket, amelyek hozzáférhetnek ezekhez a könyvtárakhoz, valamint az egyes kliensekhez tartozó opciók listáját. További információért az NFS export beállítási opcióiról, kérjük, tekintse meg a man exports parancs man súgóját.
Az alábbi táblázat röviden ismerteti a beállításban használt szerveropciókat:
Opció | Leírás |
---|---|
insecure
|
A szerver megköveteli, hogy a kliens kérések nem a privilégiummal rendelkező portokról induljanak (1024 feletti portszámok). Ez az opció szükséges, amikor exportált könyvtárakat csatolnak OS X rendszerről, vagy a nfs:/ kioslave használatával KDE-ben. Alapértelmezés szerint a privilégiummal rendelkező portok használata van beállítva. |
rw
|
A kliensnek olvasási és írási hozzáférése lesz az exportált könyvtárhoz. Alapértelmezés szerint csak az olvasási hozzáférés az engedélyezett. |
sync
|
A szervernek meg kell várnia, amíg a fájlrendszerben végrehajtott módosítások elmentésre kerülnek a tárolóba, mielőtt további klienskérésekre válaszolna. Ez az alapértelmezett beállítás. |
no_subtree_check
|
A szerver nem ellenőrzi, hogy a kliens által kért fájl az adott fájlrendszerben és az exportált fa megfelelő részében található-e. Ez az alapértelmezett beállítás. |
crossmnt
|
A szerver meg fogja jeleníteni azokat a fájlrendszereket, amelyek a virtuális gyökérkönyvtár alatt vannak felcsatolva a fájlrendszerben, és amelyek egyébként el lennének rejtve, amikor a kliens felcsatolja a virtuális gyökérkönyvtárat. |
fsid=0
|
Ez az opció szükséges a virtuális gyökérkönyvtár egyedi azonosításához. |
Ha módosításokat végez a /etc/exports fájlban az NFS szerver indítása után, akkor futtassa a következő parancsot a változások klienshez való továbbítása érdekében:
root #
exportfs -rv
IPv4
A beállítás hozzáférést biztosít az exportált helyi megosztásokhoz, és a hozzáférést az 192.0.2.0/24
IP hálózat kliensei számára engedélyezi. A kliens hozzáférés megadható egyetlen számítógépre is (IP-cím vagy teljesen kvalifikált domain név alapján), NIS netcsoportként, vagy egyetlen *
karakter használatával, amely minden kliens számára hozzáférést biztosít.
/etc/exports
/export 192.0.2.0/24(insecure,rw,sync,no_subtree_check,crossmnt,fsid=0)
/export/home 192.0.2.0/24(insecure,rw,sync,no_subtree_check)
/export/data 192.0.2.0/24(insecure,rw,sync,no_subtree_check)
IPv6
IPv6 alapú beállítás. Az engedélyezett IPv6 előtagokat a már beállított IPv4 hálózatok után kell megadni.
A fenti beállítás IP hálózat alapján engedélyezi a hozzáférést az exportált könyvtárakhoz, jelen esetben 2001:db8:1::/64
.
Ezek az IP hálózatok hozzáférhetnek az exportált megosztásokhoz az NFS szerveren:
/etc/exports
/export 2001:db8:1::/64(insecure,rw,sync,no_subtree_check,crossmnt,fsid=0)
/export/home 2001:db8:1::/64(insecure,rw,sync,no_subtree_check)
/export/data 2001:db8:1::/64(insecure,rw,sync,no_subtree_check)
Kettős stack-et használó beállítás
IPv4 és IPv6 hálózatok, amelyek hozzáférhetnek az exportált megosztásokhoz az NFS szerveren, itt: 192.0.2.0/24
és 2001:db8:1::/64
.
/etc/exports
/export 192.0.2.0/24(insecure,rw,sync,no_subtree_check,crossmnt,fsid=0) 2001:db8:1::/64(insecure,rw,sync,no_subtree_check,crossmnt,fsid=0)
/export/home 192.0.2.0/24(insecure,rw,sync,no_subtree_check) 2001:db8:1::/64(insecure,rw,sync,no_subtree_check)
/export/data 192.0.2.0/24(insecure,rw,sync,no_subtree_check) 2001:db8:1::/64(insecure,rw,sync,no_subtree_check)
Szolgáltatás
OpenRC
Az NFS háttérfolyamat (háttérszolgáltatás) OpenRC init rendszer esetében a OPTS_RPC_NFSD változóval van beállítva:
/etc/conf.d/nfs
OPTS_RPC_NFSD="8 -V 3 -V 4 -V 4.1"
systemd
Az NFS háttérfolyamat (háttérszolgáltatás) a systemd init rendszer esetében a /etc/nfs.conf beállításfájlon keresztül van beállítva:
/etc/nfs.conf
[nfsd]
threads=4
vers3=on
vers4=on
vers4.1=on
Az opció threads=4
az indítandó NFS szerver szálak számát jelöli, alapértelmezetten 8 szál van elindítva. Az opciók vers3=on
, vers4=on
és vers4.1=on
az NFS 3-as, 4-es és 4.1-es verzióját engedélyezik. További információért az NFS háttérfolyamat beállítási lehetőségeiről tekintse meg az man nfsd szolgáltatásnak a man súgóját. Az NFS főbb verziói közötti technikai különbségek a Wikipédia cikkében vannak részletesen kifejtve.
Szolgáltatás
OpenRC
Az NFS szerver elindításához:
root #
rc-service nfs start
* Starting rpcbind ... [ ok ] * Starting NFS statd ... [ ok ] * Starting idmapd ... [ ok ] * Exporting NFS directories ... [ ok ] * Starting NFS mountd ... [ ok ] * Starting NFS daemon ... [ ok ] * Starting NFS smnotify ... [ ok ]
A fenti kimenet azt mutatja, hogy számos más szolgáltatás is elindul az nfs szolgáltatással együtt. Az összes NFS szolgáltatás leállításához állítsa le az rpcbind szolgáltatást:
root #
rc-service rpcbind stop
Annak érdekében, hogy az NFS szerver automatikusan elinduljon amikor a számítógép bootol:
root #
rc-update add nfs default
systemd
Az NFS szerver indításához:
root #
systemctl start rpcbind nfs-server
Annak érdekében, hogy az NFS szerver automatikusan elinduljon amikor a számítógép bootol:
root #
systemctl enable rpcbind nfs-server
Kliens
Szolgáltatás
OpenRC
Az exportált könyvtárak felcsatolásának érdekében indítsa el az NFS klienst:
root #
rc-service nfsclient start
* Starting rpcbind [ ok ] * Starting NFS statd [ ok ] * Starting NFS sm-notify [ ok ]
Annak érdekében, hogy az NFS kliens automatikusan elinduljon amikor a számítógép bootol:
root #
rc-update add nfsclient default
systemd
A nfs-client szolgáltatás automatikusan elindul, amikor a systemd érzékeli, hogy exportált könyvtárak kerülnek csatolásra.
Exportok felcsatolása
Az alábbi parancsok és beállításfájlok az IPv4 címként a
192.0.2.1
, IPv6 címként pedig a 2001:db8:1::1
címet használják az NFS szerver megjelenítéséhez.Csatolja fel az exportált könyvtárakat a fájlrendszerbe:
root #
mount 192.0.2.1:/home /home
root #
mount 192.0.2.1:/data /data
Az előzőleg felcsatolt könyvtárak állandóvá tételéhez adja hozzá a következőt a /etc/fstab fájlhoz:
/etc/fstab
192.0.2.1:/home /home nfs rw,_netdev 0 0
192.0.2.1:/data /data nfs rw,_netdev 0 0
root #
mount 192.0.2.1:/home -t nfs4 -o _netdev,rsize=1048576,wsize=1048576,vers=4
A virtuális gyökérkönyvtár felcsatolható a fájlrendszerbe az egyes exportált könyvtárak helyett. Ezáltal az összes exportált könyvtár elérhetővé válik az ügyfél számára.
root #
mount 192.0.2.1:/ /mnt
A fájlrendszerbe előzőleg felcsatolt könyvtár állandóvá tételéhez adja hozzá a következőt a /etc/fstab fájlhoz:
/etc/fstab
192.0.2.1:/ /mnt nfs rw,_netdev 0 0
Amikor az exportált könyvtárak felcsatolásához a /etc/fstab fájlt használja, akkor adja hozzá a netmount szolgáltatást az alapértelmezett futási szinthez:
root #
rc-update add netmount default
Valószínűleg szükséges lesz megadni a hálózatkezelési függőségeket a /etc/conf.d/netmount fájlban.
Ha az NFS szerver vagy kliens csak az NFSv3-at támogatja, akkor a csatoláskor az exportált könyvtár teljes elérési útját (például /export/home vagy /export/data) meg kell adni.
root #
mount 192.0.2.1:/export/home /home
root #
mount 192.0.2.1:/export/data /data
Ugyanez érvényes a virtuális gyökérkönyvtár csatolásakor is.
root #
mount 192.0.2.1:/export /mnt
Amikor az exportált könyvtárakat egy IPv6 hálózaton csatolja fel a fájlrendszerbe, akkor helyezze az IPv6 NFS szerver IP-címét szögletes zárójelek közé.
root #
mount [2001:db8:1::1]:/home /home
root #
mount [2001:db8:1::1]:/data /data
Link-local IPv6 címek felcsatolásakor meg kell adni a kimenő helyi hálózati interfészt is.
root #
mount [fe80::215:c5ff:fb3e:e2b1%eth0]:/home /home
root #
mount [fe80::215:c5ff:fb3e:e2b1%eth0]:/data /data
NFSv4 esetén a virtuális gyökérkönyvtár a szerver beállításaitól függően eléggé "láthatatlan" lehet. Előfordulhat, hogy relatív elérési utat kell használni.
root #
mount -t nfs4 192.0.2.1:home /home
root #
mount -t nfs4 192.0.2.1:data /data
A nagy fájlokon végzett I/O teljesítmény NFSv4 alatt *jelentősen* javítható az alábbiak révén, amelyek a maximális olvasási és írási méretet 1024^2 byte-ra, vagyis 1 MiB méretűre növelik.
root #
mount 192.0.2.1:/home /home -o rsize=1048576,wsize=1048576,vers=4
Az állandóság érdekében:
/etc/fstab
192.0.2.1:/data /data nfs4 _netdev,rw,rsize=1048576,wsize=1048576,vers=4
Kerberos
Lehetséges az NFS-kliens azonosítása Kerberos GSS használatával. Ehhez néhány módosításra lesz szükség. Az alábbi utasítások feltételezik, hogy a Kerberos már telepítve van ugyanarra a szerverre, mint az NFS (amelynek a hostname ja server.domain.tld), és hogy a kliens (client.domain.tld) képes kinit parancsot futtatni rajta. A Kerberos alapértelmezett tartománya: DOMAIN_REALM.TLD.
Először engedélyezze a következő kernelopciót (CONFIG_RPCSEC_GSS_KRB5) mind a szerveren, mind a kliensen. Vegye figyelembe, hogy ez az opció nem jelenik meg, ha nem lettek kiválasztva a szükséges kriptográfiai szoftverfüggőségek. További információért tekintse át a kernelopciók szoftverfüggőségeit.
File systems --->
[*] Network File Systems --->
<*> Secure RPC: Kerberos V mechanism
Ezután hozzon létre alapértelmezett azonosítókat (principals) az NFS szolgáltatáshoz mind a szerveren, mind a kliensen. A szerveren futtassa a következő parancsot:
root #
kadmin.local add_principal -randkey nfs/server.domain.tld
root #
kadmin.local add_principal -randkey nfs/client.domain.tld
Minden számítógépnek el kell mentenie a jelszavát egy helyi keytab fájlba. Ennek legegyszerűbb módja (a szerveren) a következő parancs végrehajtása:
root #
kadmin.local ktadd nfs/server.domain.tld
root #
kadmin.local ktadd -k /root/krb5.keytab nfs/client.domain.tld
Ezután másolja át a /root/krb5.keytab fájlt a kliensre /etc/krb5.keytab néven. Ne feledje, hogy a fájlt a rootnak kell birtokolnia, és a fájl jogosultsága 0600
kell, hogy legyen.
A rpc.gssd szolgáltatásnak a kliens oldalon kell futnia. Az alábbi sornak szerepelnie kell a kliens /etc/conf.d/nfsclient fájljában:
/etc/conf.d/nfsclient
rc_need="!rpc.statd rpc.gssd"
A rpc.idmapd és rpc.svcgssd szolgáltatásoknak a szerver oldalon kell futniuk. Az alábbi sornak szerepelnie kell a szerver /etc/conf.d/nfs fájljában:
/etc/conf.d/nfs
NFS_NEEDED_SERVICES="rpc.idmapd rpc.svcgssd"
A rpc.idmapd szolgáltatást megfelelően kell beállítani (a szerveren):
/etc/idmapd.conf
[General]
Domain = domain.tld
Local-Realms = DOMAIN_REALM.TLD
Adja hozzá a sec=krb5
beállítást az exportálási opciókhoz.
/etc/exports
/home 192.0.2.0/24(insecure,rw,sync,no_subtree_check,sec=krb5)
Lehetséges a biztonság növelése a sec=krb5i
(felhasználói hitelesítés és integritás-ellenőrzés) vagy akár a sec=krb5p
(felhasználói hitelesítés, integritás-ellenőrzés és NFS-forgalom titkosítása) használatával is. Minél nagyobb a biztonság, annál több erőforrásra van szükség.
Ugyanezt az opciót a kliensoldalon a felcsatolási parancshoz is hozzá kell adni.
Hibaelhárítás
- Ellenőrizze, hogy az NFS-szerver fut-e és várakozik-e kapcsolatokra:
root #
ss -tulpn | grep rpc
udp UNCONN 0 0 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=4020,fd=6)) udp UNCONN 0 0 0.0.0.0:49657 0.0.0.0:* users:(("rpc.mountd",pid=4149,fd=4)) udp UNCONN 0 0 0.0.0.0:58082 0.0.0.0:* users:(("rpc.mountd",pid=4149,fd=12)) udp UNCONN 0 0 127.0.0.1:834 0.0.0.0:* users:(("rpc.statd",pid=4050,fd=5)) udp UNCONN 0 0 0.0.0.0:34042 0.0.0.0:* users:(("rpc.statd",pid=4050,fd=8)) udp UNCONN 0 0 0.0.0.0:35152 0.0.0.0:* users:(("rpc.mountd",pid=4149,fd=8)) udp UNCONN 0 0 *:111 *:* users:(("rpcbind",pid=4020,fd=8)) udp UNCONN 0 0 *:49463 *:* users:(("rpc.mountd",pid=4149,fd=14)) udp UNCONN 0 0 *:43316 *:* users:(("rpc.mountd",pid=4149,fd=10)) udp UNCONN 0 0 *:44048 *:* users:(("rpc.mountd",pid=4149,fd=6)) udp UNCONN 0 0 *:44332 *:* users:(("rpc.statd",pid=4050,fd=10)) tcp LISTEN 0 0 0.0.0.0:52271 0.0.0.0:* users:(("rpc.mountd",pid=4149,fd=5)) tcp LISTEN 0 0 0.0.0.0:41965 0.0.0.0:* users:(("rpc.mountd",pid=4149,fd=9)) tcp LISTEN 0 0 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=4020,fd=7)) tcp LISTEN 0 0 0.0.0.0:48527 0.0.0.0:* users:(("rpc.mountd",pid=4149,fd=13)) tcp LISTEN 0 0 0.0.0.0:53559 0.0.0.0:* users:(("rpc.statd",pid=4050,fd=9)) tcp LISTEN 0 0 *:52293 *:* users:(("rpc.mountd",pid=4149,fd=7)) tcp LISTEN 0 0 *:43983 *:* users:(("rpc.mountd",pid=4149,fd=15)) tcp LISTEN 0 0 *:111 *:* users:(("rpcbind",pid=4020,fd=9)) tcp LISTEN 0 0 *:40105 *:* users:(("rpc.statd",pid=4050,fd=11)) tcp LISTEN 0 0 *:38481 *:* users:(("rpc.mountd",pid=4149,fd=11))
- Ellenőrizze, hogy mely NFS szolgáltatások futnak:
root #
rpcinfo -p
program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 57655 status 100024 1 tcp 34950 status 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100021 1 udp 44208 nlockmgr 100021 3 udp 44208 nlockmgr 100021 4 udp 44208 nlockmgr 100021 1 tcp 44043 nlockmgr 100021 3 tcp 44043 nlockmgr 100021 4 tcp 44043 nlockmgr
- Sorolja fel az NFS-szerver által exportált könyvtárakat:
root #
exportfs -v
/export 192.0.2.0/24(rw,wdelay,crossmnt,insecure,root_squash,no_subtree_check,fsid=0,sec=sys,no_all_squash) /export/home 192.0.2.0/24(rw,wdelay,insecure,root_squash,no_subtree_check,sec=sys,no_all_squash) /export/data 192.0.2.0/24(rw,wdelay,insecure,root_squash,no_subtree_check,sec=sys,no_all_squash)
- Sorolja fel az aktuális nyitott kapcsolatokat az NFS-szerverhez:
user $
ss -tun|grep -E 'Sta|2049'
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process tcp ESTAB 0 0 192.0.2.1:2049 192.0.2.10:1012
- Ellenőrizze, hogy az exportált könyvtárakat az NFS-kliens felcsatolta-e a fájlrendszerbe:
user $
ss -tun|grep -E 'Sta|2049'
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process tcp ESTAB 0 0 192.0.2.10:1012 192.0.2.1:2049
Rendszer válaszának a hiánya
A rendszer leállítása során előfordulhat, hogy az NFS-kliens megpróbálja lecsatolni az exportált könyvtárakat azután, hogy a udev leállt, ami a rendszer válaszának hiányához vezethet. Ennek megelőzésére egy local.d szkript használható, amely leállítás közben kényszeríti az exportált könyvtárak lecsatolását.
Hozza létre az nfs.stop fájlt:
/etc/local.d/nfs.stop
/bin/umount -a -f -t nfs,nfs4
Állítsa be a megfelelő fájl attribútumokat:
root #
chmod a+x /etc/local.d/nfs.stop
További olvasnivaló a témában
- Samba — a re-implementation of the SMB/CIFS networking protocol, a Microsoft Windows alternative to Network File System (NFS).
Külső források
- NFSv2, v3 and v4.x versions and variations
- Ubuntu Wiki - NFSv4Howto
- Funtoo Wiki - NFS
- Linux NFS - General troubleshooting recommendations
- Linux NFS - HOWTO Troubleshooting
- RFC 1094 - Network File System (NFS) version 2 Protocol
- RFC 1813 - Network File System (NFS) version 3 Protocol
- RFC 7530 - Network File System (NFS) version 4 Protocol
- RFC 8881 - Network File System (NFS) version 4.1 Protocol
- RFC 7862 - Network File System (NFS) version 4.2 Protocol