另一个NFS权限错误:Linux NFS4访问被拒绝('Auth虚假证书(封印破坏)')来自NAT的VM

在虚拟机内部,主机地址是10.0.2.2,本地地址是10.0.2.15。 (VirtualBox的)。 这将在主机端转换为127.0.0.1。 连接:

sudo mount -vvvt nfs4 -o clientaddr=127.0.0.1 10.0.2.2:/srv /mnt 

我指定clientaddr,因为我想这个问题可能是由于地址不匹配,但它不会改变任何东西。 几分钟后,客户端返回通常的权限拒绝消息,服务器拒绝访问。

在服务器端,我运行

 # rpc.mountd -d all -F # rpc.idmapd -vvvf # rpc.nfsd -d 

我使用systemd,所以我也监视日志的任何输出。 当我发出安装请求时,以下内容在networking中可见:

 reply ERR 20: Auth Bogus Credentials (seal broken) 

但日志(除rpc.nfsd之外)或rpc.mountd或rpc.idmapd的输出中,除了某些启动消息外,不会显示任何内容。 实际上,在rpc.mountd的情况下,偶尔会得到以下结果:

 rpc.mountd: auth_unix_ip: inbuf 'nfsd 127.0.0.1' rpc.mountd: auth_unix_ip: client (nil) 'DEFAULT' 

据我所知(请纠正我!)没有其他来源的信息NFS的function,也没有configuration涉及。 我已经为每个命令指定了冗长的模式,所以我对如何诊断这个问题感到不知所措。

我假设这是我的导出文件的问题,如下所示:

 /srv 127.0.0.1(rw,sync,no_subtree_check,no_root_squash) 

但我宁愿从系统得到一些反馈,告诉我哪里出了问题,而不是通过反复试验来摆弄出口文件。 那么,有没有人知道我在哪里可以find更多关于发生了什么?

谢谢!

编辑

我最近运行了exportfs -rav

现在客户立即返回'操作不允许',rpc.mountd输出:

 rpc.mountd: auth_unix_ip: inbuf 'nfsd 127.0.0.1' rpc.mountd: v4root_create: path '/' flags 0x12401 rpc.mountd: v4root_create: path '/srv' flags 0x10401 rpc.mountd: auth_unix_ip: client 0x1d69d70 '127.0.0.1' rpc.mountd: nfsd_fh: inbuf '127.0.0.1 1 \x00000000' rpc.mountd: nfsd_fh: found 0x1d73e90 path / 

但是这个输出可能与运行exportfs有关。 (请注意,我之前几次重启守护进程,所以我不知道exportfs是如何产生影响的)

好吧,似乎添加'不安全'选项已经修复它:

 secure This option requires that requests originate on an Internet port less than IPPORT_RESERVED. (1024). This option is on by default. To turn it off, specify insecure. 

这很奇怪,因为我以root身份运行NFS客户端。

无论如何,为什么这个问题对于运营商(我)来说并不明显? 我不明白如果一个软件可以被认为适合生产使用,如果它的诊断是完全隐藏的,以便使非专家无法访问..我不是故意在这里抨击NFS,但似乎就像一个臭名昭着的混淆系统,可以真正使用一些更多的透明度,多久使用它..无论如何感谢阅读。