21.9. NFS and portmap
Note
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.
21.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 21.5, “Starting and Stopping NFS”.
Other useful options are available for the
rpcinfo
command. Refer to the rpcinfo
man page for more information.