Автор Тема: FreeIPA и монтирование NFS с керберосом (решено)  (Прочитано 8448 раз)

Оффлайн chemerik

  • Начинающий
  • *
  • Сообщений: 8
    • Email
Настраиваю FreeIPA домен на Alt 8 server.
Установка сервера и клиентов происходит отлично, они прописываются на сервере и в dns. Авторизация пользователей на клиентах тоже работает.
Теперь этап настройки nfs сервера. NFS сервер настроен, введен в домен FreeIPA, в домене добавлен сервис nfs/altlinux.loc
Keytab экспортирован на nfs сервер.

но с монтированием nfs ресурсов с керберос авторизацией есть проблемы:

mount -vvv -t nfs -o sec=krb5 nfs.altlinux.loc:/srv/share /mnt/nfs   

mount.nfs: timeout set for Mon Jun 25 16:52:51 2018                                                 
mount.nfs: trying text-based options 'sec=krb5,vers=4.0,addr=10.10.20.44,clientaddr=10.10.20.42'
mount.nfs: mount(2): Invalid argument                                                               
mount.nfs: trying text-based options 'sec=krb5p,addr=10.10.20.44'                                 
mount.nfs: prog 100003, trying vers=3, prot=6                                                       
mount.nfs: trying 10.10.20.44 prog 100003 vers 3 prot TCP port 2049                               
mount.nfs: prog 100005, trying vers=3, prot=17                                                       
mount.nfs: trying 10.10.20.44 prog 100005 vers 3 prot UDP port 53970                               
mount.nfs: mount(2): Invalid argument                                                               
mount.nfs: an incorrect mount option was specified                                                   

Такое впечатление, что клиент пытается подмонтировать nfs шару по протоколу NFSv4, а сервер знает только NFSv3.

Вроде бы все пакеты, необходимые для работы nfs сервера с керберосом установлены.

Кто-нибудь настраивал nfs с поддержкой кербероса в альте?
« Последнее редактирование: 28.06.2018 14:06:52 от chemerik »

Оффлайн chemerik

  • Начинающий
  • *
  • Сообщений: 8
    • Email
кое что прояснилось.

Не стартовал автоматически rpc-gssd на клиенте.
systemctl enable rpc-gssd заканчивается ошибкой, приходится стартовать вручную.

Теперь попытка монтирования оканчивается ошибкой:
mount -vvv -t nfs4 -o sec=krb5 nfs.altlinux.loc:/srv/share /mnt/nfs
mount.nfs4: timeout set for Thu Jun 28 14:30:51 2018
mount.nfs4: trying text-based options 'sec=krb5,vers=4.0,addr=10.10.20.44,clientaddr=10.10.20.42'
mount.nfs4: mount(2): Permission denied
mount.nfs4: access denied by server while mounting mmc-nfs.altlinux.loc:/srv/share

и на сервере в логах ошибка принципала:
Jun 28 14:28:51 mmc-nfs rpc.svcgssd[473]: ERROR: GSS-API: error in handle_nullreq: gss_accept_sec_context(): GSS_S_FAILURE (Unspecified GSS failure.  Minor code may provide more information) - Request ticket server nfs/nfs.altlinux.loc@ALTLINUX.LOC kvno 4 not found in keytab; ticket is likely out of date



Онлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Так SPN в keytab поместили? Инструкция на altlinux.org есть.
Андрей Черепанов (cas@)

Оффлайн chemerik

  • Начинающий
  • *
  • Сообщений: 8
    • Email
Да, естественно, поместил. Даже несколько раз, для надежности :)
Это с сервера:
klist -k
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   1 host/nfs.altlinux.loc@ALTLINUX.LOC
   1 host/nfs.altlinux.loc@ALTLINUX.LOC
   1 nfs/nfs.altlinux.loc@ALTLINUX.LOC
   1 nfs/nfs.altlinux.loc@ALTLINUX.LOC
   3 nfs/nfs.altlinux.loc@ALTLINUX.LOC
   3 nfs/nfs.altlinux.loc@ALTLINUX.LOC
   5 nfs/nfs.altlinux.loc@ALTLINUX.LOC
   5 nfs/nfs.altlinux.loc@ALTLINUX.LOC

это на клиенте:
klist -k
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   1 host/cli.altlinux.loc@ALTLINUX.LOC
   1 host/cli.altlinux.loc@ALTLINUX.LOC
   2 host/cli.altlinux.loc@ALTLINUX.LOC
   2 host/cli.altlinux.loc@ALTLINUX.LOC
   2 nfs/nfs.altlinux.loc@ALTLINUX.LOC
   2 nfs/nfs.altlinux.loc@ALTLINUX.LOC
   4 nfs/nfs.altlinux.loc@ALTLINUX.LOC
   4 nfs/nfs.altlinux.loc@ALTLINUX.LOC
   5 nfs/nfs.altlinux.loc@ALTLINUX.LOC
   5 nfs/nfs.altlinux.loc@ALTLINUX.LOC



Оффлайн chemerik

  • Начинающий
  • *
  • Сообщений: 8
    • Email
Заработало

экспортировал кейтаб в отдельный файл на сервере:
ipa-getkeytab -s freeipa.altlinux.loc -p nfs/nfs.altlinux.loc@ALTLINUX.LOC  -k /tmp/krb5.keytab.nfs
потом добавил на сервер и клиент с одним номером KVNO
( echo rkt /tmp/krb5.keytab.nfs; echo wkt /etc/krb5.keytab) |ktutil

перезагрузил сервер и клиент, и стало монтироваться

Оффлайн dezzzm

  • Начинающий
  • *
  • Сообщений: 19
Заработало

экспортировал кейтаб в отдельный файл на сервере:
ipa-getkeytab -s freeipa.altlinux.loc -p nfs/nfs.altlinux.loc@ALTLINUX.LOC  -k /tmp/krb5.keytab.nfs
потом добавил на сервер и клиент с одним номером KVNO
( echo rkt /tmp/krb5.keytab.nfs; echo wkt /etc/krb5.keytab) |ktutil

перезагрузил сервер и клиент, и стало монтироваться
Вы получается на каждом клиенте этот /tmp/krb5.keytab.nfs файл загружаете?

У меня такие же проблемы как у ТС и такое же решение помогает, но тех поддержка ответила: цитата "ipa-getkeytab следует выполнять только на сервере nfs. Эта команда создает и сохраняет ключи необходимые для работы сервера nfs. Клиент должен просто быть в домене."
Получается на клиенте делать ничего не надо, но без этого не работает. Как все таки правильно нужно делать?

Оффлайн Rider

  • /usr/sbin/control
  • *******
  • Сообщений: 1 136
Мы проверим вашу ситуацию на нашем стенде и отпишемся в эту тему.

Оффлайн dezzzm

  • Начинающий
  • *
  • Сообщений: 19
Мы проверим вашу ситуацию на нашем стенде и отпишемся в эту тему.
А уже похоже починили.
Я попробовал сегодня с нуля развернуть nfs server(отдельная вм заведенная в фриипа домен) со свежими апдейтами и у меня реально работает без добавления на клиента дополнительных записей.
2 месяца набегами бился с этой проблемой - не работало, а тут на две недели забросил и видимо починили как раз.
Тоесть на клиенте только хост запись и все равно монтируется nfs и авторизация доменная работает
[root@testvm124 ~]# klist -k
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   1 host/testvm124.test.loc@TEST.LOC
   1 host/testvm124.test.loc@TEST.LOC

Спасибо разработчикам, а где можно отслеживать фиксы такие? есть ли патчноуты какие-то?
И остался вопрос еще с настройкой автомонтирования через ipa-client-automount, есть ли инструкции? Как сказала тп только недавно исправили пакет autofs добавив поддержку libsss и хотелось бы воспользоваться данным функционалом.
« Последнее редактирование: 17.10.2018 10:11:02 от dezzzm »

Онлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
git.altlinux.org
Андрей Черепанов (cas@)

Оффлайн Rider

  • /usr/sbin/control
  • *******
  • Сообщений: 1 136
Мы проверим вашу ситуацию на нашем стенде и отпишемся в эту тему.
А уже похоже починили.
Я попробовал сегодня с нуля развернуть nfs server(отдельная вм заведенная в фриипа домен) со свежими апдейтами и у меня реально работает без добавления на клиента дополнительных записей.
2 месяца набегами бился с этой проблемой - не работало, а тут на две недели забросил и видимо починили как раз.
Тоесть на клиенте только хост запись и все равно монтируется nfs и авторизация доменная работает
[root@testvm124 ~]# klist -k
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   1 host/testvm124.test.loc@TEST.LOC
   1 host/testvm124.test.loc@TEST.LOC

Спасибо разработчикам, а где можно отслеживать фиксы такие? есть ли патчноуты какие-то?
И остался вопрос еще с настройкой автомонтирования через ipa-client-automount, есть ли инструкции? Как сказала тп только недавно исправили пакет autofs добавив поддержку libsss и хотелось бы воспользоваться данным функционалом.

К сожалению, точно сказать что именно повлияло на решение этой проблемы - невозможно.
 Мы часто вносим различные исправления в систему,  а также бывают обновления компонент до более новых минорных версий с испавлением ошибок.
Отслеживать изменения в пакетной базе можно на этом сайте:
https://packages.altlinux.org/ru/p8/home

Там есть краткий changelog и при желании можно посмотреть изменения в самом пакете (в исходниках).

Мы в любом случае добавим ваш сценарий на наши стенды. Спасибо.