如何禁用与 FreeBSD NFSv4 服务器的 NFSv3/v2 连接?

如何禁用与 FreeBSD NFSv4 服务器的 NFSv3/v2 连接?

我正在使用 Kubuntu 11.10 客户端和 FreeBSD 9.0 服务器。

服务器在 /etc/rc.conf 中有以下几行

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

并在 /etc/exports 中添加以下内容

V4: /
/

除了默认系统之外,我没有使用任何类型的安全性,以使此配置尽可能简单。

从客户端来看,这两个命令均成功挂载了导出的 NFS 共享:

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

我可以在服务器端做什么来禁用 NFSv3 及以下版本,以便以下内容不起作用?

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

答案1

我从从事 NFS 代码工作的 FreeBSD 开发人员那里得到了以下答案。要在服务器级别禁用 v2 和 v3 连接,需要运行以下命令:

sysctl vfs.nfsd.server_min_nfsvers=4

如果您希望更改在系统上永久生效,请添加以下行/etc/sysctl.conf

 vfs.nfsd.server_min_nfsvers=4

我刚刚在我最初的问题中的设置上测试了这一点,并使用 v3 和 v4 mount 命令得到了关于挂载的以下输出:

$ sudo mount -t nfs test.home:/ /mnt
$ mount
test.home:/ on /mnt type nfs (rw,vers=4,addr=192.168.1.5,clientaddr=192.168.1.3)

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

请注意,两者现在均已采用 v4 安装。

相关内容