WTF? RPCPROG_NFS: RPC: Program not registered

Rick Macklem rmacklem at uoguelph.ca
Sat Feb 16 15:29:56 UTC 2013


Ronald F. Guilmette wrote:
> I have a 9.1-RELEASE server whose /etc/rc.conf file contains, among
> other
> things, the following lines:
> 
> ifconfig_nfe0="inet 192.168.1.2 netmask 255.255.255.0"
> #
> nfs_client_enable="YES"
> nfs_server_enable="YES"
> nfs_server_flags="-h 192.168.1.2"
Add -t to these flags. It appears that the default is
UDP only.

> mountd_enable="YES"
> rpcbind_enable="YES"
> 
> On this server, I also have an /etc/exports file that contains:
> 
> /home/rfg -network 192.168.1.0 -mask 255.255.255.0
> /x -network 192.168.1.0 -mask 255.255.255.0
> 
> On this same server, when I do "showmount -e 192.168.1.2" I get the
> following
> output:
> 
> Exports list on 192.168.1.2:
> /x 192.168.1.0
> /home/rfg 192.168.1.0
> 
> 
> On this server, when I am root, I attempt to do:
> 
> mount -t nfs 192.168.1.2:/x /mnt
> 
> but tnen I just get the following error:
> 
> [tcp] 192.168.1.2:/x: RPCPROG_NFS: RPC: Program not registered
> 
> Why?
> 
It is trying to mount via TCP and you only have UDP enabled, I think.

> More to the point, what I can do to get rid of this error?
> 
I think adding -t to the nfs_server_flags should fix it.

> I really am stuck. I have no idea what causes this error, nor even how
> to
> debug it. I have already google'd the hell out of the problem, and I
> am
> still coming up empty.
> 
> Note also that when the failure occurs there is -nothing- added at
> that
> time to /var/log/messages.
> 
> 
> Reards,
> rfg
> 
> 
> P.S. Of course, I don't actually need to mount the exported volume
> onto
> the same machine where it physically already resides. I do however
> wish
> to mount it (via NFS) onto another system on my LAN, and over on that
> other
> system, when I try to mount it, I am getting the exact same *&^%$#@
> error.
> 
> 
> P.P.S. In case anybody should ask, this is the output of rpcinfo
> 192.168.1.2:
> 
> program version netid address service owner
> 100000 4 tcp 0.0.0.0.0.111 rpcbind superuser
> 100000 3 tcp 0.0.0.0.0.111 rpcbind superuser
> 100000 2 tcp 0.0.0.0.0.111 rpcbind superuser
> 100000 4 udp 0.0.0.0.0.111 rpcbind superuser
> 100000 3 udp 0.0.0.0.0.111 rpcbind superuser
> 100000 2 udp 0.0.0.0.0.111 rpcbind superuser
> 100000 4 tcp6 ::.0.111 rpcbind superuser
> 100000 3 tcp6 ::.0.111 rpcbind superuser
> 100000 4 udp6 ::.0.111 rpcbind superuser
> 100000 3 udp6 ::.0.111 rpcbind superuser
> 100000 4 local /var/run/rpcbind.sock rpcbind superuser
> 100000 3 local /var/run/rpcbind.sock rpcbind superuser
> 100000 2 local /var/run/rpcbind.sock rpcbind superuser
> 100005 1 udp6 ::.3.63 mountd superuser
> 100005 3 udp6 ::.3.63 mountd superuser
> 100005 1 tcp6 ::.3.63 mountd superuser
> 100005 3 tcp6 ::.3.63 mountd superuser
> 100005 1 udp 0.0.0.0.3.63 mountd superuser
> 100005 3 udp 0.0.0.0.3.63 mountd superuser
> 100005 1 tcp 0.0.0.0.3.63 mountd superuser
> 100005 3 tcp 0.0.0.0.3.63 mountd superuser
> 100003 2 udp 0.0.0.0.8.1 nfs superuser
> 100003 3 udp 0.0.0.0.8.1 nfs superuser
> 
Only udp is here. After adding -t and rebooting, you should see
tcp lines as well. At least that`s my guess.

Good luck with it, rick

> 
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"


More information about the freebsd-net mailing list