解决clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to

Posted 对方正在输入你的

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to相关的知识,希望对你有一定的参考价值。

问题起因:

在配置好一台NFS服务器,建立好分享目录,刷新配置以后,在另一台客户机中使用showmount -e 出现报错:

clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

 

问题原因:

服务端的防火墙上默认没有开启nfs服务相应的端口

 

解决办法:

1.简单粗暴地关闭防火墙

systemctl stop firewalld

如果开启了iptables的话,也是一样的,iptables的策略里也默认不会为nfs服务开启需要的端口

systemctl stop iptables

2.在防火墙上开启端口

在设置了防火墙的环境中使用NFS,需要在防火墙上打开如下端口:

1. portmap 端口 111 udp/tcp;
2. nfsd 端口 2049 udp/tcp;
3. mountd 端口 "xxx" udp/tcp
系统 RPC服务在 nfs服务启动时默认会为 mountd动态选取一个随机端口(32768--65535)来进行通讯,我们可以通过编辑/etc/services 文件为 mountd指定一个固定端口:
# vim /etc/services
在末尾添加
mountd 1011/udp
mountd 1011/tcp
wq退出保存该文件


# stopsrc -s rpc.mountd
# startsrc -s rpc.mountd
# exportfs -a
# rpcinfo -p Hostname
现在我们会发现 mountd已经和端口 1011绑定了。

另外,nfs中需要通讯的服务还有 rpc.lockd和 rpc.statd,其中对lockd我们可以用类似的方法来指定固定端口,
# vim /etc/services
添加
lockd 35000/ucp
lockd 35000/tdp


# stopsrc -s rpc.lockd
# startsrc -s rpc.lockd
# exportfs -a
nfs客户端mount文件系统
# rpcinfo -p Hostname

但 rpc.statd无法通过该方法来指定端口,它只能使用随机端口,如有必要,在防火墙上要根据下面命令的显示来开放随机端口:

# no -a |grep ephemeral
tcp_ephemeral_high = 65535
tcpp_ephemeral_low = 32768
udp_ephemeral_high = 65535
udp_ephemeral_low = 32768

当然也可以不开放 rpc.statd需要的随机端口,带来的影响就是如果 nfs连接中断(比如server或client宕掉了),系统将无法通过statd来恢复连接中断前的状态,而必须重新 mount该nfs文件系统。

有关statd的详细功能说明,请参阅 http://publib.boulder.ibm.com/infocenter/
pseries/v5r3/topic/com.ibm.aix.cmds/doc/aixcmds5/statd.htm




























以上是关于解决clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to的主要内容,如果未能解决你的问题,请参考以下文章

clnt_create: RPC: Port mapper failure

NFS服务器出现:clnt_create:RPC:Port mapper failure - Unable to receive:errno 113(No route to host)

clnt_create: RPC: Program not registered

RPC:未知协议

如何解决:RPC: Port mapper failure - RPC: Unable to receive errno = Connection denied

配置主机NFS服务