共计 1311 个字符,预计需要花费 4 分钟才能阅读完成。
原来一直以为 NFS 服务只能用于局域网,后来看了一些资料,好像是可以在广域网访访问 NFS 服务,正好手头刚买了一台云服务器,所以就实践验证一下。
云服务器使用的是 CentOS7.5 系统,但默认没有安装 NFS 服务,所以首先安装并启动服务:
[root@linuxidc ~]# yum install nfs-utils
[root@linuxidc ~]# systemctl start nfs
然后创建共享目录,并生成一个测试文件:
[root@linuxidc ~]# mkdir /var/share
[root@linuxidc ~]# echo “hello” > /var/share/test.txt
修改配置文件,设置共享,并重启服务:
[root@linuxidc ~]# vim /etc/exports
/var/share *(ro,sync)
[root@linuxidc ~]# systemctl retart nfs
然后在我本地的虚拟机上挂载共享,云服务器的 IP 为 218.98.12.13。虽然没有挂载成功,但错误提示是访问被拒绝,所以看来 NFS 服务的确是可以跨互联网访问的。
[root@Server ~]# mount -t nfs 218.98.12.13:/var/share /mnt/nfs
mount.nfs: access denied by server while mounting 218.98.12.13:/var/share
百度了一下错误提示,在云服务器上查看日志信息,发现错误原因是客户端使用了无效的端口。
[root@linuxidc ~]# cat /var/log/messages | grep mount
Apr 23 13:22:16 linuxidc rpc.mountd[29798]: refused mount request from 162.232.65.156 for /var/share (/var/share): illegal port 16083
在服务器的配置文件中添加 insecure 选项,该选项的作用是允许客户端从大于 1024 的端口发送连接请求,修改完成后重启服务。
[root@linuxidc ~]# vim /etc/exports
/var/share *(insecure,ro,sync)
[root@linuxidc ~]# systemctl retart nfs
再次在本地虚拟机上测试,这下成功挂载了:
[root@Server ~]# mount -t nfs 218.98.12.13:/var/share /mnt/nfs
[root@Server ~]# df
文件系统 1K- 块 已用 可用 已用 % 挂载点
……
218.98.12.13:/var/share 41152768 1803136 37603328 5% /mnt/nfs
10 分钟学会在 Ubuntu 18.04 LTS 上安装 NFS 服务器和客户端 https://www.linuxidc.com/Linux/2018-11/155331.htm
Llinux 下搭建 NFS 文件共享服务器 https://www.linuxidc.com/Linux/2018-12/156110.htm
: