De acuerdo con la documentación:
La utilidad rpcbind [3] asigna los servicios RPC a los puertos en los que escuchan. Los procesos RPC notifican a rpcbind cuando comienzan, registrando los puertos que están escuchando y los números de programa RPC que esperan servir. El sistema del cliente luego contacta a rpcbind en el servidor con un número de programa RPC particular. El servicio rpcbind redirige al cliente al número de puerto adecuado para que pueda comunicarse con el servicio solicitado.
Para probar esto, configuré un servidor NFS y un cliente y monitoreé el tráfico entre ellos. Por lo que vi, el cliente ya sabía que el servicio NFS en el servidor estaba escuchando en el puerto 2049.
Entonces, ¿cuándo entra en juego rcpbind? Cuando lo hago rpcinfo
en el servidor, obtengo lo siguiente:
100003 2 udp 0.0.0.0.8.1 nfs superuser
100003 3 udp 0.0.0.0.8.1 nfs superuser
100003 2 udp6 ::.8.1 nfs superuser
100003 3 udp6 ::.8.1 nfs superuser
100003 2 tcp 0.0.0.0.8.1 nfs superuser
100003 3 tcp 0.0.0.0.8.1 nfs superuser
100003 2 tcp6 ::.8.1 nfs superuser
100003 3 tcp6 ::.8.1 nfs superuser
¿Qué 0.0.0.0.8.1
significa en este caso? ¿Y cómo se traduce esto al puerto 2049?