18.9. NFS and portmap

18.9. NFS and portmap


The following section only applies to NFSv2 or NFSv3 implementations that require the portmap service for backward compatibility.

The portmapper maps RPC services to the ports they are listening on. RPC processes notify portmap when they start, registering the ports they are listening on and the RPC program numbers they expect to serve. The client system then contacts portmap on the server with a particular RPC program number. The portmap service redirects the client to the proper port number so it can communicate with the requested service.

Because RPC-based services rely on portmap to make all connections with incoming client requests, portmap must be available before any of these services start.

The portmap service uses TCP wrappers for access control, and access control rules for portmap affect all RPC-based services. Alternatively, it is possible to specify access control rules for each of the NFS RPC daemons. The man pages for rpc.mountd and rpc.statd contain information regarding the precise syntax for these rules.

18.9.1. Troubleshooting NFS and portmap

Because portmap provides coordination between RPC services and the port numbers used to communicate with them, it is useful to view the status of current RPC services using portmap when troubleshooting. The rpcinfo command shows each RPC-based service with port numbers, an RPC program number, a version number, and an IP protocol type (TCP or UDP).

To make sure the proper NFS RPC-based services are enabled for portmap, issue the following command as root:

rpcinfo -p

The following is sample output from this command:

program vers proto   port
100000    2   tcp    111  portmapper     
100000    2   udp    111  portmapper     
100021    1   udp  32774  nlockmgr     
100021    3   udp  32774  nlockmgr     
100021    4   udp  32774  nlockmgr     
100021    1   tcp  34437  nlockmgr     
100021    3   tcp  34437  nlockmgr     
100021    4   tcp  34437  nlockmgr     
100011    1   udp    819  rquotad     
100011    2   udp    819  rquotad     
100011    1   tcp    822  rquotad     
100011    2   tcp    822  rquotad     
100003    2   udp   2049  nfs     
100003    3   udp   2049  nfs     
100003    2   tcp   2049  nfs     
100003    3   tcp   2049  nfs     
100005    1   udp    836  mountd     
100005    1   tcp    839  mountd     
100005    2   udp    836  mountd     
100005    2   tcp    839  mountd     
100005    3   udp    836  mountd     
100005    3   tcp    839  mountd

If one of the NFS services does not start up correctly, portmap is unable to map RPC requests from clients for that service to the correct port. In many cases, if NFS is not present in rpcinfo output, restarting NFS causes the service to correctly register with portmap and begin working. For instructions on starting NFS, refer to Section 18.5, “Starting and Stopping NFS”.

Other useful options are available for the rpcinfo command. Refer to the rpcinfo man page for more information.

Note: This documentation is provided {and copyrighted} by Red Hat®, Inc. and is released via the Open Publication License. The copyright holder has added the further requirement that Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder. The CentOS project redistributes these original works (in their unmodified form) as a reference for CentOS-5 because CentOS-5 is built from publicly available, open source SRPMS. The documentation is unmodified to be compliant with upstream distribution policy. Neither CentOS-5 nor the CentOS Project are in any way affiliated with or sponsored by Red Hat®, Inc.