Я пытаюсь настроить NFSv4 с помощью Kerberos. Сервер - FreeBSD 13.0-RELEASE, а клиент - Ubuntu 20. У меня работает часть Kerberos, и я могу автоматически получить билет при входе в систему для моего пользователя и SSH на сервере при аутентификации через Kerberos. Так что я уверен, что моя настройка Kerberos до сих пор верна.
Но когда я пытаюсь смонтировать общие ресурсы NFSv4, я получаю сразу три ошибки:
# mount -vvvv -t nfs4 -o sec=krb5 servidor:/ /mnt
mount.nfs4: время ожидания установлено на вторник, 2 ноября, 00:54:36 2021 г.
mount.nfs4: пробуем текстовые опции 'sec=krb5,vers=4.2,addr=10.42.42.2,clientaddr=10.42.42.119'
mount.nfs4: mount(2): неверный аргумент
mount.nfs4: пробуем текстовые опции 'sec=krb5,vers=4.1,addr=10.42.42.2,clientaddr=10.42.42.119'
mount.nfs4: mount(2): Отказано в доступе
mount.nfs4: пробуем текстовые опции 'sec=krb5,vers=4.1,addr=fe80::215:17ff:fe56:d754,clientaddr=::'
mount.nfs4: mount(2): ошибка ввода/вывода
mount.nfs4: сбой системного вызова монтирования
Первая ошибка - "Недопустимый аргумент", последняя - "Ошибка ввода/вывода". Не уверен, как их отлаживать.
Ошибка «Отказано в доступе». Я не уверен, связано ли это с Kerberos или с чем-то еще.
showmount -e сервер
показывает, что экспорт существует (по крайней мере, для NFSv3). Вот мой файл экспорта:
/tera/shared - все каталоги
/usr/home -все каталоги
V4: /tera/shared -sec=krb5,krb5i
V4: /usr/home -sec=krb5,krb5i
Насколько я понимаю, это должно экспортировать все, на любой IP-адрес в NFSv3 и на клиентов с проверкой подлинности Kerberos для NFSv4.
Обе машины имеют ключ nfs/hostname@REALM в своей таблице ключей (также пытались использовать nfs/hostname.fqdn@REALM и host/hostname@REALM и т. д.).