NFS Client/Server på Ubuntu server.

NFS server er en service hvor man kan dele filer mellem maskiner.

Network File System (NFS) er et gammelt system. Det er udviklet af Sun i 1984. Version som vi bruger i dag er fra 1995. Og det bliver brugt mange steder idag.

Client installation.

For at tilgå nfs server skal man have nfs-common pakken installeret på Ubuntu. Beskrivelsen af pakken siger NFS support files common to client and server.

Så den pakke installere vi lige.

$ sudo apt install nfs-common

Og du er klar til at mounte diske fra NFS servere.

Når man skal mount diske fra nfs server eller nfs network storage box bruges et andet format, da det jo er en remove storage system. Så vi skal bruge ip adressen på serveren samt share navnet som er oprettet.

Her er et eksempel på en mounted disk fra en network storage box.

fstab nfs share mount.

$ cat /etc/fstab
192.168.0.12:/public /mnt/nasbox/vol1 nfs auto 0 0

Server installation.

For at installere server version skal du bruge en pakke som hedder nfs-kernel-server i Ubuntu.

For at installere server versionen.

$ apt install nfs-kernel-server

For at dele et bibliotek eller disk skal du rette i filen /etc/exports.

Formatet er server:path /mountpoint fstype option,option,… 0 0

$ vi /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/mnt/sharedisk *(rw,sync,no_subtree_check)

Dette vil share /mnt/sharedisk som nfs version 3. Men inden der virker skal du huske at indlæse den nye konfig du har lavet i export filen. For at gøre det skal du bruge kommandoen exportfs

$ exportfs -a

Og du er klar. Hvis det ikke virker har du en fejl i konfig filen, eller du har firewall som stopper delingen. Du kan checke om du har firewall med iptables kommandoen.

Hvis der ikke er nogle firewall på serveren vil det så sådan her ud.

$ sudo iptables -L

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination