跨互联网访问NFS

本来一直觉得NFS服务只能用于局域网,后来看了一些资料,好像是能够跨互联网访问NFS服务,正好手头刚买了一台云服务器,因此就实践验证一下。
云服务器使用的是CentOS7.5系统,但默认没有安装NFS服务,因此首先安装并启动服务:vim

[root@YTqgp ~]# yum install nfs-utils
[root@YTqgp ~]# systemctl start nfs

而后建立共享目录,并生成一个测试文件:服务器

[root@YTqgp ~]# mkdir /var/share
[root@YTqgp ~]# echo "hello" > /var/share/test.txt

修改配置文件,设置共享,并重启服务:ide

[root@YTqgp ~]# vim /etc/exports
/var/share *(ro,sync)
[root@YTqgp ~]# systemctl retart nfs

而后在我本地的虚拟机上挂载共享,云服务器的IP为106.13.121.19。虽然没有挂载成功,但错误提示是访问被拒绝,因此看来NFS服务的确是能够跨互联网访问的。测试

[root@Server ~]# mount -t nfs 106.13.121.19:/var/share /mnt/nfs
mount.nfs: access denied by server while mounting 106.13.121.19:/var/share

百度了一下错误提示,在云服务器上查看日志信息,发现错误缘由是客户端使用了无效的端口。日志

[root@YTqgp ~]# cat /var/log/messages | grep mount
Apr 12 13:51:23 YTqgp rpc.mountd[29798]: refused mount request from 112.224.65.136 for /var/share (/var/share): illegal port 15083

在服务器的配置文件中添加insecure选项,该选项的做用是容许客户端从大于1024的端口发送链接请求,修改完成后重启服务。code

[root@YTqgp ~]# vim /etc/exports
/var/share *(insecure,ro,sync)
[root@YTqgp ~]# systemctl retart nfs

再次在本地虚拟机上测试,这下成功挂载了:server

[root@Server ~]# mount -t nfs 106.13.121.19:/var/share /mnt/nfs
[root@Server ~]# df 
文件系统                    1K-块          已用            可用          已用%       挂载点
……
106.13.121.19:/var/share 41152768 1803136 37603328    5% /mnt/nfs
相关文章
相关标签/搜索