我正在使用带有FreeBSD 9.0服务器的Kubuntu 11.10客户端.
服务器在/etc/rc.conf中有以下行
nfs_server_enable="YES" nfsv4_server_enable="YES" nfsuserd_enable="YES"
以及/ etc / exports中的以下内容
V4: / /
我没有使用除默认sys之外的任何类型的安全性来保持此配置尽可能简单.
从客户端,这两个命令都成功挂载导出的NFS共享:
$sudo mount -t nfs test.home:/ /mnt $sudo mount -t nfs4 test.home:/ /mnt
我可以在服务器端执行哪些操作来禁用NFSv3及以下版本,以便以下操作不起作用?
$sudo mount -t nfs test.home:/ /mnt
解决方法
我从FreeBSD开发人员那里得到了以下这个问题的答案,他开发了NFS代码.要在服务器级别禁用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,clientaddr=192.168.1.3)
请注意,现在两者都以v4安装结束.