关于CentOS7上的配置NFS服务器,请参看:http://blog.csdn.net/w171066/article/details/51252116

在CentOS7服务器上配置NFS服务并共享出目录后,发现客户端不能Mount共享出的目录,错误提示:
[NFS mount Error] System Error: No route to host.

关闭服务器端的防火墙后,问题解决,说明是防火墙端口的问题。在网上搜索了一下,找到了很有帮助的文章:http://linux.vbird.org/linux_server/0330nfs.php#nfsserver_security

解决方法如下:

首先打开111和2049端口,这是portmap和nfsd进程对应的端口。但是其他端口是系统开机时随机分配的,很难确定,所有需要修改配置文件/etc/sysconfig/nfs,把这些端口固定下来,然后在防火墙上关闭。

1.首先打开111和2049端口

# firewall-cmd  --permanent    --add-port=111/tcp

# firewall-cmd  --permanent    --add-port=111/udp

# firewall-cmd  --permanent    --add-port=2049/tcp

# firewall-cmd  --permanent    --add-port=2049/udp

2.编辑/etc/sysconfig/nfs文件

添加
RQUOTAD_PORT=1001
去掉下面语句前面的“#”号
LOCKD_TCPPORT=32803

LOCKD_UDPPORT=32769

MOUNTD_PORT=892

3.打开1001,32803,32769,892端口
# firewall-cmd  --permanent    --add-port  1001/tcp
# firewall-cmd  --permanent    --add-port  1001/udp

# firewall-cmd  --permanent    --add-port 32803/tcp

# firewall-cmd  --permanent    --add-port 32769/udp(

# firewall-cmd  --permanent    --add-port 892/tcp
# firewall-cmd  --permanent    --add-port 892/udp

4. 重启服务器(我发现光重启NFS服务不能解决问题)后执行"rpcinfo -p"命令,发现端口都改了过来

# rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100005    1   udp    892  mountd
    100005    1   tcp    892  mountd
    100005    2   udp    892  mountd
    100005    2   tcp    892  mountd
    100005    3   udp    892  mountd
    100005    3   tcp    892  mountd
    100024    1   udp  59115  status
    100024    1   tcp  46630  status
    100021    1   udp  32769  nlockmgr
    100021    3   udp  32769  nlockmgr
    100021    4   udp  32769  nlockmgr
    100021    1   tcp  32803  nlockmgr
    100021    3   tcp  32803  nlockmgr
    100021    4   tcp  32803  nlockmgr
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    3   udp   2049  nfs_acl

从客户端执行Mount成功。只是不知道开放这么多端口是否存在安全隐患。

 

转自:https://blog.csdn.net/w171066/java/article/details/52934862