RPCBIND(8)
โจ RPCBIND โจ
okay so bestie, welcome to rpcbind โ the manual page for the universal addresses to RPC program number mapper ๐ซ it's from the System Manager's Manual, section 8, and it's genuinely one of those little daemons that holds the whole RPC situation together. let's get into it ๐ซถ
๐ธ SYNOPSIS ๐ธ
rpcbind [-adfhilsvw]
๐ DESCRIPTION ๐
so the rpcbind utility is a server that converts RPC program numbers into universal addresses. that's the whole job. and it must be running on the host if you wanna make RPC calls on a server on that machine. no rpcbind, no calls, periodt ๐ญ
here's the lore. when an RPC service starts up, it tells rpcbind the address it's listening on, plus the RPC program numbers it's ready to serve. then when a client wants to make an RPC call to a given program number, it first hits up rpcbind on the server machine to find out where the RPC requests should actually be sent. matchmaker behavior fr ๐
the order matters, bestie: rpcbind should be started before any other RPC service. normally, standard RPC servers get started by port monitors, so rpcbind must be started before port monitors are invoked. like, it's the opening act, and it does NOT get skipped ๐
when rpcbind starts, it checks that certain name-to-address translation-calls function correctly. if they fail, the network configuration databases may be corrupt. and since RPC services cannot function correctly in that situation, rpcbind reports the condition and terminates. dramatic? yes. necessary? also yes ๐
also hi, important: the rpcbind utility can only be started by the super-user. sorry to the girlies without root ๐ฅฒ
โจ OPTIONS โจ
-aโ when debugging (-d), do an abort on errors. spicy mode ๐ถ๏ธ-dโ run in debug mode. in this mode,rpcbindwill log additional information during operation, and will abort on certain errors if-ais also specified. with this option, the name-to-address translation consistency checks are shown in detail. it's giving verbose queen ๐-fโ do not fork and become a background process. it stays right there with you, main character energy, no disappearing acts ๐-hโ specify specific IP addresses to bind to for UDP requests. this option may be specified multiple times and can be used to restrict the interfacesrpcbindwill respond to. when specifying IP addresses with-h,rpcbindwill automatically add127.0.0.1and if IPv6 is enabled,::1to the list. if no-hoption is specified,rpcbindwill bind toINADDR_ANY, which could lead to problems on a multi-homed host due torpcbindreturning a UDP packet from a different IP address than it was sent to. ๐ฌ note that whenrpcbindis controlled via systemd's socket activation, the-hoption is ignored. in this case, you need to edit theListenStreamandListenDgramdefinitions in/usr/lib/systemd/system/rpcbind.socketinstead. yes bestie, you have to go edit the file, i don't make the rules ๐ซ-iโ โInsecureโ mode ๐ allow calls toSETandUNSETfrom any host. normallyrpcbindaccepts 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 do not make those requests using the loopback interface. legacy behavior, we respect it, we also side-eye it ๐-lโ turn on libwrap connection logging. receipts, but make them logs ๐-sโ causerpcbindto change to the userdaemonas soon as possible. this causesrpcbindto use non-privileged ports for outgoing connections, preventing non-privileged clients from usingrpcbindto connect to services from a privileged port. glow down for safety, we love to see it ๐ก๏ธ-vโ printrpcbindversion and builtin configuration and exit. quick lil vibe check then bounce โ๏ธ-wโ causerpcbindto do a "warm start" by read a state file whenrpcbindstarts up. the state file is created whenrpcbindterminates. so it remembers where it left off, unlike me during finals ๐ญ
๐ FILES ๐
the rpcbind utility tries to load configuration file in following order:
/etc/rpcbind.conf/etc/default/rpcbind/etc/sysconfig/rpcbind
first one it finds wins, basically first-come-first-served ๐
๐ฆ NOTES ๐ฆ
all RPC servers must be restarted if rpcbind is restarted. like, all of them. no exceptions, no negotiating, no "but i just started it" ๐ค
๐ SEE ALSO ๐
rpcinfo(8)โ go say hi, it's the friend that tells you what's actually registered ๐
๐ LINUX PORT ๐
(the manual keeps this section as a little marker of its Linux/port heritage, so here it is, honored and iconic โจ)
and that's the whole page, bestie! ๐ this one's from the Debian crew, dated September 14, 1992 โ yes, 1992, a true vintage icon that's still out here mapping addresses for us ๐ the page itself is RPCBIND(8), part of the System Manager's Manual, and you can find it in section 8 like all the good sysadmin stuff. now go start your RPC services in the right order and slay ๐
โจ๐ซถ
๐ฆ where this page comes from
- alpine 3.23: rpcbind-doc 1.2.8-r0 ยท BSD-3-Clause
- alpine 3.24: rpcbind-doc 1.2.9-r0 ยท BSD-3-Clause
- arch rolling: rpcbind 1.3.1-3 ยท BSD-3-Clause
- centos-stream 10: rpcbind 1.2.9-1.el10 ยท BSD-3-Clause
- fedora 43: rpcbind 1.2.8-0.fc43 ยท BSD-3-Clause
- fedora 43: rpcbind 1.2.9-2.fc43 ยท BSD-3-Clause
- fedora 44: rpcbind 1.2.8-1.fc44 ยท BSD-3-Clause
- fedora 44: rpcbind 1.3.1-0.fc44 ยท BSD-3-Clause
- nixpkgs unstable: rpcbind 1.3.1
- opensuse-leap 16.0: rpcbind 1.2.9-160000.3.1 ยท BSD-4-Clause
- opensuse-leap 16.0: rpcbind 1.2.9-160000.3.1 ยท BSD-4-Clause
- opensuse-leap 16.0: rpcbind 1.2.9-160000.3.1 ยท BSD-4-Clause
- opensuse-leap 16.0: rpcbind 1.2.9-160000.3.1 ยท BSD-4-Clause
- Copyright 1989 AT&T
- Copyright 1991 Sun Microsystems, Inc
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms