Joe*_*Fan 17 ubuntu nfs virtual-machines
在我的 Ubuntu 系统上,我在 /etc/fstab 中有这一行:
myserver:/home/me /mnt/me nfs rsize=8192,wsize=8192,timeo=14,intr
Run Code Online (Sandbox Code Playgroud)
当我做
sudo mount -a
Run Code Online (Sandbox Code Playgroud)
我得到:
mount.nfs: access denied by server while mounting myserver:/home/me
Run Code Online (Sandbox Code Playgroud)
我该如何诊断这个问题?nfs 服务器也是 Ubuntu。
其他详细信息:我可以毫无问题地从同一网络上的其他 Ubuntu 客户端安装此 nfs 共享。但是,有问题的客户端的不同之处在于它在 Windows 系统上的 VirtualBox 中运行。我可以从有问题的客户端 ping “myserver”。
编辑: “myserver”上的 /etc/exports:
/home/me *(rw,all_squash,async,no_subtree_check,anonuid=1000,anongid=1000)
Run Code Online (Sandbox Code Playgroud)
“myserver”上的 /etc/hosts.allow 和 /etc/hosts.deny 都是注释。请记住,我可以从同一网络上的其他客户端正常连接。
Joe*_*Fan 31
找到了!
其中一个日志有一行:
refused mount request from 192.168.1.108 for /home/me (/home/me): illegal port 64112
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索,发现由于端口超过 1024,我需要在服务器上的 /etc/exports 中的相关行中添加“不安全”选项。一旦我这样做了(并运行了 exportfs -r),客户端上的 mount -a 就起作用了。
小智 14
这个问题与如何为您的虚拟机设置网络有关。
默认情况下,VirtualBox 有NAT网络。这导致端口转换。
这一步一步给出:
正如@JoelFan 所提到的,一种解决方法是将insecure
选项设置为服务器。这是一个快速修复,但......不安全;)
为我解决这个问题的方法(以安全的方式)是将此虚拟机从NAT更改为桥接网络。这样,我的虚拟机就有了自己的 IP 地址,并且没有进行端口转换。
归档时间: |
|
查看次数: |
72394 次 |
最近记录: |