From Fedora Project Wiki
(changed from ==== to * in steps)
mNo edit summary
Line 1: Line 1:
= Sharing files with NFSv4 on Fedora 12 (Server -> Multi) =
= Sharing files with NFSv4 on Fedora 12 (Server -> Multi) =
{{TOClimit|3}}


== Description ==
== Description ==
Line 26: Line 28:
=== Configuring the server ===
=== Configuring the server ===


* Open up the necessary port on the firewall (port: 2049). Activate the "Security Level and Firewall" tool. You will be asked for your root password. Please enter it:  
* Open up the necessary port on the firewall (port: 2049). Activate the "Security Level and Firewall" tool. You will be asked for your root password. Please enter it:
<pre>su -c "system-config-securitylevel"</pre>
<pre>su -c "system-config-securitylevel"</pre>


* Activate "NFS4" and click "OK"
* Activate "NFS4" and click "OK"


* Edit /etc/idmapd.conf. Enter your root password when prompted
* Edit /etc/idmapd.conf. Enter your root password when prompted:
<pre>su -c "gedit /etc/idmapd.conf"</pre>  
<pre>su -c "gedit /etc/idmapd.conf"</pre>  


* Configure your domain name and change the users to nfsnobody
* Configure your domain name and change the users to nfsnobody:
<pre>
<pre>
[General]
[General]
Line 44: Line 46:
</pre>
</pre>


* Start the rpcidmapd and nfslock services, then start the nfs service. Alternatively, you can use System->Administration->Services or System->Administration->Server Settings->Services GUIs. Please enter the root password when prompted
* Start the rpcidmapd and nfslock services, then start the nfs service. Alternatively, you can use System->Administration->Services or System->Administration->Server Settings->Services GUIs. Please enter the root password when prompted:
<pre>
<pre>
su -c "/sbin/service rpcidmapd start"
su -c "/sbin/service rpcidmapd start"
Line 51: Line 53:
</pre>
</pre>


* Set rpcidmapd, nfslock, and nfs services to start on boot.Alternatively, you can use System->Administration->Services or System->Administration->Server Settings->Services GUIs. Please enter the root password when prompted
* Set rpcidmapd, nfslock, and nfs services to start on boot.Alternatively, you can use System->Administration->Services or System->Administration->Server Settings->Services GUIs. Please enter the root password when prompted:
<pre>
<pre>
su -c "/sbin/chkconfig --level 345 rpcidmapd on"
su -c "/sbin/chkconfig --level 345 rpcidmapd on"
Line 58: Line 60:
</pre>
</pre>


* Create the dirs of the exports inside "/nfs4exports". Enter your root password when prompted
* Create the dirs of the exports inside "/nfs4exports". Enter your root password when prompted:
<pre>su -c "mkdir -p /nfs4exports/{share1,share2,share3}"</pre>
<pre>su -c "mkdir -p /nfs4exports/{share1,share2,share3}"</pre>


* Edit /etc/fstab
* Edit /etc/fstab:
<pre>su -c "gedit /etc/fstab"</pre>
<pre>su -c "gedit /etc/fstab"</pre>


* Bind the desired shares to the, recently created, dirs at /nfs4exports
* Bind the desired shares to the, recently created, dirs at /nfs4exports:
<pre>
<pre>
/path/to/share1 /nfs4exports/share1 none bind 0 0
/path/to/share1 /nfs4exports/share1 none bind 0 0
Line 71: Line 73:
</pre>
</pre>


* Remount everything. Enter your root password when prompted
* Remount everything. Enter your root password when prompted:
<pre>su -c "mount -a"</pre>
<pre>su -c "mount -a"</pre>


* Edit /etc/exports. Enter your root password when prompted
* Edit /etc/exports. Enter your root password when prompted:
<pre>su -c "gedit /etc/exports"</pre>
<pre>su -c "gedit /etc/exports"</pre>


* Add your shares here (available to your home network) If you want your shares to be read only, change "rw" to "ro" from these statements
* Add your shares here (available to your home network) If you want your shares to be read only, change "rw" to "ro" from these statements:
<pre>
<pre>
/nfs4exports 192.168.1.0/255.255.255.0(rw,insecure,no_subtree_check,nohide,fsid=0)
/nfs4exports 192.168.1.0/255.255.255.0(rw,insecure,no_subtree_check,nohide,fsid=0)
Line 85: Line 87:
</pre>
</pre>


* Reload your exports. Please enter your root password when prompted
* Reload your exports. Please enter your root password when prompted:
<pre>su -c "/usr/sbin/exportfs -rv"</pre>
<pre>su -c "/usr/sbin/exportfs -rv"</pre>


* Edit your /etc/hosts.allow file, so your clients are allowed to access your nfs. Please enter your root password when prompted
* Edit your /etc/hosts.allow file, so your clients are allowed to access your nfs. Please enter your root password when prompted:
<pre>su -c "gedit /etc/hosts.allow"</pre>
<pre>su -c "gedit /etc/hosts.allow"</pre>


* Allow your LAN to access your services
* Allow your LAN to access your services:
<pre>rpcbind: 192.168.1.0/255.255.255.0</pre>
<pre>rpcbind: 192.168.1.0/255.255.255.0</pre>


* Reboot
* Reboot:
<pre>su -c "/sbin/shutdown -r now"</pre>
<pre>su -c "/sbin/shutdown -r now"</pre>


=== Configuring the clients ===
=== Configuring the clients ===
* Edit /etc/idmapd.conf. Enter your root password when prompted
* Edit /etc/idmapd.conf. Enter your root password when prompted:
<pre>su -c "gedit /etc/idmapd.conf"</pre>
<pre>su -c "gedit /etc/idmapd.conf"</pre>


* Configure your domain name and change the users to nfsnobody
* Configure your domain name and change the users to nfsnobody:
<pre>
<pre>
[General]
[General]
Line 111: Line 113:
</pre>
</pre>


* Edit /etc/fstab. Please enter your root password when prompted
* Edit /etc/fstab. Please enter your root password when prompted:
<pre>su -c "gedit /etc/fstab"</pre>
<pre>su -c "gedit /etc/fstab"</pre>


* Create the mounting dirs
* Create the mounting dirs:
<pre>su -c "mkdir /mnt/shares /home/me/share1 /home/he/share2 /home/it/share3"</pre>
<pre>su -c "mkdir /mnt/shares /home/me/share1 /home/he/share2 /home/it/share3"</pre>


* Add the desired shares
* Add the desired shares:
<pre>
<pre>
<ip-address-to-server>:/ /mnt/shares nfs4 rsize=8192,wsize=8192,timeo=14,intr
<ip-address-to-server>:/ /mnt/shares nfs4 rsize=8192,wsize=8192,timeo=14,intr
Line 125: Line 127:
</pre>
</pre>


* Remount everything
* Remount everything:
<pre>su -c "mount -a"</pre>
<pre>su -c "mount -a"</pre>


Line 143: Line 145:


== Added Reading ==
== Added Reading ==
http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/Network_Related_Configuration/ch-nfs.html
* http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/Network_Related_Configuration/ch-nfs.html
 
* http://www.brennan.id.au/19-Network_File_System.html
http://www.brennan.id.au/19-Network_File_System.html

Revision as of 03:06, 26 September 2009

Sharing files with NFSv4 on Fedora 12 (Server -> Multi)

Description

This HowTo explains how to set up the Network File System version 4 on your LAN for multiple shares. It explains, also, how to mount the "exports" on your client.

Applicable to Fedora Versions

  • Fedora 12

Requirements

Everything comes preinstalled on an "out-of-the-box" installation of Fedora. The following are only services.

Server requirements

  • nfs
  • rpc2

These are the client's requirements

  • nfs
  • nfslock
  • rpc2
Note.png
The rpc.nfsd and rpc.rquotad services that are needed are started by the nfs service. Most of them don't need user configuration. rpc.lockd, rpc.statd and rpc.mountd are not used by NFSv4.


Doing the Work

Configuring the server

  • Open up the necessary port on the firewall (port: 2049). Activate the "Security Level and Firewall" tool. You will be asked for your root password. Please enter it:
su -c "system-config-securitylevel"
  • Activate "NFS4" and click "OK"
  • Edit /etc/idmapd.conf. Enter your root password when prompted:
su -c "gedit /etc/idmapd.conf"
  • Configure your domain name and change the users to nfsnobody:
[General]
Domain = example.com

[Mapping]
Nobody-User = nfsnobody
Nobody-Group = nfsnobody
  • Start the rpcidmapd and nfslock services, then start the nfs service. Alternatively, you can use System->Administration->Services or System->Administration->Server Settings->Services GUIs. Please enter the root password when prompted:
su -c "/sbin/service rpcidmapd start"
su -c "/sbin/service nfslock start"
su -c "/sbin/service nfs start"
  • Set rpcidmapd, nfslock, and nfs services to start on boot.Alternatively, you can use System->Administration->Services or System->Administration->Server Settings->Services GUIs. Please enter the root password when prompted:
su -c "/sbin/chkconfig --level 345 rpcidmapd on"
su -c "/sbin/chkconfig --level 345 nfslock on"
su -c "/sbin/chkconfig --level 345 nfs on"
  • Create the dirs of the exports inside "/nfs4exports". Enter your root password when prompted:
su -c "mkdir -p /nfs4exports/{share1,share2,share3}"
  • Edit /etc/fstab:
su -c "gedit /etc/fstab"
  • Bind the desired shares to the, recently created, dirs at /nfs4exports:
/path/to/share1		/nfs4exports/share1	none	bind	0 0
/path/to/share2		/nfs4exports/share2	none	bind	0 0
/path/to/share3		/nfs4exports/share3	none	bind	0 0
  • Remount everything. Enter your root password when prompted:
su -c "mount -a"
  • Edit /etc/exports. Enter your root password when prompted:
su -c "gedit /etc/exports"
  • Add your shares here (available to your home network) If you want your shares to be read only, change "rw" to "ro" from these statements:
/nfs4exports			192.168.1.0/255.255.255.0(rw,insecure,no_subtree_check,nohide,fsid=0)
/nfs4exports/share1		192.168.1.0/255.255.255.0(rw,insecure,no_subtree_check,nohide)
/nfs4exports/share2             192.168.1.0/255.255.255.0(rw,insecure,no_subtree_check,nohide)
/nfs4exports/share3             192.168.1.0/255.255.255.0(rw,insecure,no_subtree_check,nohide)
  • Reload your exports. Please enter your root password when prompted:
su -c "/usr/sbin/exportfs -rv"
  • Edit your /etc/hosts.allow file, so your clients are allowed to access your nfs. Please enter your root password when prompted:
su -c "gedit /etc/hosts.allow"
  • Allow your LAN to access your services:
rpcbind: 192.168.1.0/255.255.255.0
  • Reboot:
su -c "/sbin/shutdown -r now"

Configuring the clients

  • Edit /etc/idmapd.conf. Enter your root password when prompted:
su -c "gedit /etc/idmapd.conf"
  • Configure your domain name and change the users to nfsnobody:
[General]
Domain = example.com

[Mapping]
Nobody-User = nfsnobody
Nobody-Group = nfsnobody
  • Edit /etc/fstab. Please enter your root password when prompted:
su -c "gedit /etc/fstab"
  • Create the mounting dirs:
su -c "mkdir /mnt/shares /home/me/share1 /home/he/share2 /home/it/share3"
  • Add the desired shares:
<ip-address-to-server>:/	/mnt/shares	nfs4	rsize=8192,wsize=8192,timeo=14,intr
<ip-address-to-server>:/	/home/me/share1	nfs4	rsize=8192,wsize=8192,timeo=14,intr
<ip-address-to-server>:/	/home/he/share2	nfs4	rsize=8192,wsize=8192,timeo=14,intr
<ip-address-to-server>:/	/home/it/share3	nfs4	rsize=8192,wsize=8192,timeo=14,intr
  • Remount everything:
su -c "mount -a"

Troubleshooting

How to test

Next time...

Common problems and fixes

Later...

More Information

RedHat recommends, on RHEL5 Docs, that one should use automount instead of /etc/fstab; which saves resources when sharing to multiple workstations. I haven't had the time to try this configuration. This document will be modified/augmented once I've got the hang of it.

Disclaimer

I haven't had te opportunity to test this HowTo since I lack of a networked PC to do it, so you may run into problems, if you do, come tofedora on irc.freenode.net or leave me messages so I know what's up. Feel free to propose changes and stuff.

Added Reading