Я использую клиент Kubuntu 11.10 с сервером FreeBSD 9.0.
У сервера есть следующие строки в /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:
$ 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.