rhel7配置NFS时出现clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to ho...

问题:html

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

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

 

缘由:app

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

 

解决办法:spa

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

systemctl stop firewalldhtm

若是开启了iptables的话,也是同样的,iptables的策略里也默认不会为nfs服务开启须要的端口ip

systemctl stop iptablesci

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文件系统。

相关文章
相关标签/搜索