两台主机系统:CentOS7,内核3.10.0-957
服务端:192.168.11.140
客户端:192.168.11.141
1、安装NFS
yum -y install nfs
yum -y install rpcbind
2、配置服务端
vi ./etc/exports
/data *(rw) # 共享/data资源路径,*表明接收所有的ip地址,rw表示允许客户端读写,更多参数参考官网文档
重启服务
systemctl restart nfs
systemctl restart rpcbind
3、配置iptables
因为nfs采用rpc,每次启动的时候的端口都不一样,但作为服务端应该尽可能减少开放不必要的端口,因此限制一下端口。
vi /etc/sysconfig/nfs
在该文件最后面添加:
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004
查看rpc的使用的端口:
防火墙放行:
iptables -A INPUT -s 192.168.11.141 -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -s 192.168.11.141 -p udp --dport 111 -j ACCEPT
iptables -A INPUT -s 192.168.11.141 -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -s 192.168.11.141 -p udp --dport 2049 -j ACCEPT
iptables -A INPUT -s 192.168.11.141 -p tcp --dport 30001:30004 -j ACCEPT
iptables -A INPUT -s 192.168.11.141 -p udp --dport 30001:30004 -j ACCEPT
centos7可能一开始就给iptables配置了一条拒绝所有来源,上面的规则一定要在这个规则之上。
如图:
看到最后一条规则,是拒绝所有INPUT,因此要放在最后。如果这条规则已经存在,那么可以
(1)先删除这条规则,然后添加上面6条规则会再添加这条规则。
(2)直接编辑/etc/sysconfig/iptables,把这条规则放在6条规则下面
4、测试
在客户端查看nfs服务端共享资源的目录:
把服务端的/data挂载到/mnt/data
mount -t nfs 192.168.11.140:/data /mnt/data
则可在客户端/mnt/data下获得共享资源。