将 NFSv4 共享从 Debian Linux 6 挂载到 Freebsd 9-RC3“服务器需要更强的身份验证”

将 NFSv4 共享从 Debian Linux 6 挂载到 Freebsd 9-RC3“服务器需要更强的身份验证”

我在尝试从 FreeBSD 9.0-RC3 安装到 Debian Linux 机器时遇到了一个奇怪的问题。

我使用的命令是:

sudo mount -v gorkon:/垃圾箱/tmp/test

这将返回以下直接信息:

mount:没有指定类型 - 由于冒号,我假设是 nfs mount.nfs:超时设置为 2012 年 1 月 5 日星期四 17:37:40 mount.nfs:尝试基于文本的选项“vers=4,addr=[serverip],clientaddr=[cllientaddr]” mount.nfs:mount(2):权限被拒绝 mount.nfs:挂载 gorkon:/dustbin 时服务器拒绝访问

我在服务器(gorkon)上找不到任何日志条目,但在我的 debian 系统日志中存在以下日志条目:

[30082.224612] RPC:服务器 gorkon 需要更强的身份验证。

NFS 服务器正在运行 nfsuserd 和 rpcbind。我尝试将 /etc/exports 中的共享设置为使用 sec=sys(并以相同的方式连接)。我没有在这个网络上设置 Kerberos,而且我也不打算开始。Debian NFSv4 服务器确实连接到 Solaris 10 NFSv4 服务器,如果我强制使用 nfsv4,FreeBSD 框无法通过 NFS 安装自己的共享(错误为 mount_nfs: /tmp/test, : 权限被拒绝)。FreeBSD 8.2-RELEASE 框也无法安装,同样的错误。

Solaris 10 机器也无法安装 FreeBSD 机器的安装座。此机器的错误是:

genunix:[ID 664466 kern.notice] 服务器 gorkon 的 NFS 复合失败:错误 7 genunix:[ID 532867 kern.warning] 警告:NFS 服务器对 gorkon 的初始调用失败:权限被拒绝。

NFSv3 挂载工作正常。

知道发生什么事了吗?

答案1

我遇到了同样的问题,请确保 /etc/exports 中有一个“V4:”根行,如下所示:

V4: / -sec=sys
/tank/dedup host1 host2 host3

答案2

您是否已在 FreeBSD 服务器和挂载它的 cmd 上指定了身份验证类型?据我所知,FreeBSD 要求 NFSv4 具备该功能。

sec=⟨flavor⟩ 此选项指定挂载应使用哪种安全类型。目前,它们是:

                 krb5 ‐  Use KerberosV authentication
                 krb5i ‐ Use KerberosV authentication and
                         apply integrity checksums to RPCs
                 krb5p ‐ Use KerberosV authentication and
                         encrypt the RPC data
                 sys ‐   The default AUTH_SYS, which uses a
                         uid + gid list authenticator

参见 mount_nfs(8)

答案3

在 FreeBSD 的服务器端,你需要在 /etc/rc.conf 中添加以下几行

nfs_server_enable="YES"
nfsv4_server_enable="YES"
nfsuserd_enable="YES"

这将是最简单的 /etc/exports

V4: /
/

在 Debian 客户端,您需要使用 NFSv4 挂载它,如下所示:

$ sudo mount -t nfs4 test.home:/ /mnt

您需要用 NFS 服务器的 IP 或主机名替换 test.home,并且您可以将 /mnt 替换为您想要使用的任何挂载点。

您可以通过查看此命令的输出来检查所使用的协议:

$ mount
test.home:/ on /mnt type nfs4 (rw,addr=192.168.1.5,clientaddr=192.168.1.3)

相关内容