rpcbind, portmap

Updated: April 19, 2023

Map RPC program numbers into universal addresses

Note: rpcbind is identical to portmap because portmap is a symbolic link to rpcbind.

Syntax:

rpcbind [-dilLs]

Runs on:

QNX Neutrino

Options:

-d
Run in debug mode. In this mode, it doesn't fork when it starts. Also, it prints additional information during operation, or aborts on certain errors. Name-to-address translation consistency checks are also shown in detail.
-i
Make rpcbind insecure. You need this option to switch to nonsecure mode. This option allows SET and UNSET from any host. Normally rpcbind accepts these requests only from the loopback interface for security reasons. This change is necessary for programs that were compiled with earlier versions of the RPC library and don't make those requests using the loopback interface.
-l
Log security related events to the system log (syslog).
-L
Allow old-style local connections over the loopback interface. Without this option, local connections are only allowed over a local socket /var/run/rpcbind.sock.
-s
Cause rpcbind to change to the user daemon as soon as possible. Using the rpcbind utility, you use nonprivileged ports for outgoing connections, and prevent nonprivileged clients to connect to services from a privileged port.

Description:

The rpcbind server converts RPC program numbers into universal addresses. You must run this utility on the host to make RPC calls on a server.

When an RPC service is started, it tells rpcbind the address at which it is listening and the RPC program numbers it is prepared to serve. When a client wishes to make an RPC call to a given program number, it first contacts rpcbind on the server machine to determine the address where RPC requests should be sent.

The rpcbind utility should be started before any other RPC service. Normally, standard RPC servers are started by port monitors, so rpcbind must be started before port monitors are invoked.

When rpcbind is started, it checks that certain name-to-address translation calls function correctly. If they fail, the network configuration databases may be corrupt. Since RPC services cannot function correctly in this situation, rpcbind reports the condition and terminates.

Note:
  • The rpcbind utility is secure by default, and can be started only by the superuser.
  • This utility needs a writable /var/run directory in order to run.

Standard RPC servers can be run by inetd, so you must start rpcbind before inetd is invoked.

Files:

The rpcbind utility needs /etc/netconfig, as well as the following entries in /etc/services:

sunrpc          111/tcp         rpcbind portmap
sunrpc          111/udp         rpcbind portmap

It also requires the librpc shared library.

Caveats:

If you restart rpcbind, you must restart all RPC servers.