RPCBIND(8) | System Manager's Manual | RPCBIND(8)

# NAME

`rpcbind` — universal addresses to RPC program number mapper (né portmapper)

# SYNOPSIS

`rpcbind` | [`-6adiLlsWw`] [`-h` bindip]

# DESCRIPTION

The `rpcbind` utility is a server that converts RPC program numbers into universal addresses. It must be running on the host to be able to make RPC calls on a server on that machine.

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.

The `rpcbind` utility can only be started by the super-user.

Access control is provided by /etc/hosts.allow and /etc/hosts.deny, as described in hosts_access(5) with daemon name `rpcbind`.

# OPTIONS

`-6`
  Bind to `AF_INET6` (IPv6) addresses only.
`-a`
  When debugging (`-d`), abort on errors.
`-d`
  Run in debug mode. In this mode, `rpcbind` will not fork when it starts, will print additional information during operation, and will abort on certain errors if `-a` is also specified. With this option, the name-to-address translation consistency checks are shown in detail.
`-h` bindip
  IP addresses to bind to when servicing TCP and UDP requests. This option may be specified multiple times and is typically necessary when running on a multi-homed host. If no `-h` option is specified, `rpcbind` will bind to `INADDR_ANY`, which could lead to problems on a multi-homed host due to `rpcbind` returning a UDP packet from a different IP address than it was sent to. Note that when specifying IP addresses with `-h`, `rpcbind` will automatically add `127.0.0.1` and if IPv6 is enabled, `::1` to the list.
`-i`
  “Insecure” mode. Allows calls to SET and UNSET RPC procedures 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(3) library and do not make those requests using the loopback interface.
`-L`
  Allows old-style local connections over the loopback interface. Without this flag, local connections are only allowed over a local socket, /var/run/rpcbind.sock.
`-l`
  Turns on libwrap connection logging.
`-s`
  Causes `rpcbind` to change to the user daemon as soon as possible. This causes `rpcbind` to use non-privileged ports for outgoing connections, preventing non-privileged clients from using `rpcbind` to connect to services from a privileged port.
`-W`
  Enable libwrap (TCP wrappers) support.
`-w`
  Enable the warmstart feature.

  The warmstart feature saves RPC registrations on termination. Any saved RPC registrations are restored on restart if `-w` is specified. This feature helps avoid RPC service interruption when restarting `rpcbind`. warmstart support must be compiled in to `rpcbind`. Portmap (version 2) registrations are stored in /tmp/portmap.file. `rpcbind` (version 3) registrations are stored in /tmp/rpcbind.file.

# NOTES

All RPC servers must be restarted if `rpcbind` is restarted.

# FILES

/var/run/portmap.file
  saved portmap registrations file.
/var/run/rpcbind.file
  saved `rpcbind` registrations file.
/var/run/rpcbind.sock
/etc/hosts.allow
  explicit remote host access list.
/etc/hosts.deny
  explicit remote host denial of service list.

# SEE ALSO

rpcbind(3), hosts_access(5), hosts_options(5), netconfig(5), rpcinfo(8)

# HISTORY

`rpcbind` is named after version 3 of the protocol, which provides “transport-independent RPC” (TI-RPC). Version 2 of the protocol and the program that implemented it, a predecessor of `rpcbind`, were called “portmap”, and the program was colloquially known as “portmapper”. The notion of “port” is specific to TCP/IP, so newer, transport-independent versions of the protocol got rid of it, but the old name is still used informally.

August 17, 2017 | NetBSD 11.99