“был указан неверный параметр монтирования” при монтировании раздела krb5p nfs4 на Ubuntu.

Вопрос или проблема

У меня есть подключаемая сеть NFS4 с использованием krb5p.

Я без проблем получаю к ней доступ с клиентов CentOS, для этого требуется:

yum install krb5-workstation
setup krb5 (редактирование krb5.conf, настройка keytab)
systemctl enable nfs-secure.service && systemctl start nfs-secure.service
systemctl enable nfs-client.target && systemctl start nfs-client.target
mkdir /mnt/x
Добавьте следующее в fstab:
server.example.com:/srv/share/subdir /mnt/x nfs4 defaults,sec=krb5p,noexec,nosuid,_netdev,auto 0 0

Это отлично работает на CentOS, я настроил так уже дюжину клиентских хостов. Однако на Ubuntu я получаю ошибку:
mount.nfs4: an incorrect mount option was specified

Я думаю, что ошибка на Ubuntu связана с nfs-secure.service, однако, похоже, отсутствует эквивалент на Ubuntu, который устанавливается с клиентом NFS? (Я использую Ubuntu 16.04.5 LTS).

ОБНОВЛЕНИЕ:

Я попробовал:
systemctl enable rpc-gssd.service && systemctl start rpc-gssd.service

Это запускается нормально:

# systemctl status rpc-gssd.service
● rpc-gssd.service - RPC security service for NFS client and server
   Loaded: loaded (/lib/systemd/system/rpc-gssd.service; static; vendor preset: enabled)
   Active: active (running) since Thu 2018-10-04 16:49:40 BST; 6min ago
  Process: 51689 ExecStart=/usr/sbin/rpc.gssd $GSSDARGS (code=exited, status=0/SUCCESS)
 Main PID: 51691 (rpc.gssd)
    Tasks: 1
   Memory: 516.0K
      CPU: 13ms
   CGroup: /system.slice/rpc-gssd.service
           └─51691 /usr/sbin/rpc.gssd

Но Ubuntu просто зависает при попытке монтировать?

 # mount -v -t nfs4 -o defaults,sec=krb5p,noexec,nosuid,_netdev,auto server.example.com:/srv/dir/example /mnt/example
mount.nfs4: timeout set for Thu Oct  4 16:54:40 2018
mount.nfs4: trying text-based options 'sec=krb5p,addr=10.10.10.10,clientaddr=10.10.10.9'
# НИЧЕГО БОЛЬШЕ НЕ ПРОИСХОДИТ.....

Это просто общее сообщение об ошибке (также полностью вводящее в заблуждение), которое указывает на проблему в вашей клиентской конфигурации kerberos, обычно на то, что служба GSSAPI не запущена. Попробуйте запустить ее, или если у вас есть nss-client.target, включите/запустите его.

Ответ или решение

Когда вы получаете ошибку "incorrect mount option was specified" при попытке подключить раздел NFS4 с опцией krb5p на Ubuntu, важно понять, что эта проблема часто связана с неправильной конфигурацией Kerberos или отсутствующими сервисами безопасности. В то время как в CentOS конфигурация может работать безупречно, Ubuntu может потребовать немного больше внимания к деталям, поскольку структура служб и их название могут различаться.

Теория

В отличие от CentOS, где используется nfs-secure.service, в Ubuntu часто необходимо запускать rpc-gssd.service, чтобы поддерживать Kerberos для NFS. Kerberos обеспечивает аутентификацию через сеть и должен быть правильно сконфигурирован, чтобы NFS мог использовать его функции. Кроме того, настройки /etc/krb5.conf и ключ-класс (keytab) должны быть корректно настроены. Файловая система NFS также требует соответствующих привилегий и настроек безопасности для соответствия политике Kerberos.

Пример

Рассмотрим необходимость запуска службы rpc-gssd.service для обеспечения работы Kerberos. После установки соответствующих пакетов с помощью sudo apt install nfs-common krb5-user, необходимо вручную активировать и запустить необходимые сервисы:

sudo systemctl enable rpc-gssd.service
sudo systemctl start rpc-gssd.service

Вы должны убедиться, что в /etc/fstab указаны правильные опции монтирования, соответствующие krb5p. Настройка может выглядеть следующим образом:

server.example.com:/srv/share/subdir /mnt/x nfs4 defaults,sec=krb5p,noexec,nosuid,_netdev,auto 0 0

Применение

Для решения проблемы на Ubuntu, выполните следующие шаги:

  1. Проверьте и обновите конфигурацию Kerberos: Убедитесь, что файл /etc/krb5.conf правильно настроен и совпадает с теми настройками, что работают на CentOS. Не забудьте обновить файл keytab с правильными учетными данными.

  2. Активируйте rpc-gssd.service: Используйте команды systemctl для запуска данного сервиса, что вы уже сделали. Убедитесь, что данный сервис находится в активном состоянии.

  3. Настраиваем /etc/fstab: Проверьте, что все параметры монтирования корректны и соответствуют политике безопасности сервера NFS.

  4. Исправление потенциальных зависимостей: Убедитесь, что отсутствуют зависимости от таких сервисов, которые в Ubuntu могут быть аналогичны nss-client.target.

Если, несмотря на всё вышеперечисленное, система всё еще зависает, вам стоит выполнить диагностику с помощью:

sudo journalctl -xe

Этот инструмент поможет выявить дополнительные ошибки, которые могли быть упущены. Таким образом, интеграция клиента Ubuntu в вашу инфраструктуру NFS и Kerberos должна пройти успешно после выполнения этих шагов.

Оцените материал
Добавить комментарий

Капча загружается...