Freebsd

如何禁用與 FreeBSD NFSv4 伺服器的 NFSv3/v2 連接?

  • April 29, 2012

我正在使用帶有 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

我從從事 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 掛載結束。

引用自:https://serverfault.com/questions/384179