Вводные данные:
- dc.rpn.int - контроллер домена FreeIPA
- 192.168.1.1 - ip адрес контроллера домена
- fs.rpn.int - файловый сервер NFS
- 192.168.1.10 - ip адрес файлового сервера
В первую очередь файловый сервер должен быть зарегистрирован в домене FreeIPA. Это делается либо непосредственно с самого файлового сервера с помощью команды ipa-client-install
(рекомендуется), либо с помощью утилит на контроллере FreeIPA:
# kinit admin # ipa host-add --ip-address 192.168.1.10 fs.rpn.int
Создаем NFS сервис для этого хоста:
# ipa service-add nfs/fs.rpn.int
Добавляем строку, описывающую службу NFS для сервера fs.rpn.int, в файл keytab (выполняется на файловом сервере fs.rpn.int)
# ipa-getkeytab -s dc.rpn.int -p nfs/fs.rpn.int -k /etc/krb5.keytab
На файловом сервере устанавливаем необходимое ПО:
# yum install nfs-utils
Включаем поддержку слабого шифрования. Это необходимо для того, что бы с сервером могли работать и устаревшие клиенты, использующие старые алгоритмы шифрования (например DES). Добавляем необходимый параметр в файл /etc/krb5.conf:
allow_weak_crypto = true
Обновляем конфигурацию kerberos на контроллере домена FreeIPA для поддержки шифрования DES:
# ldapmodify -x -D "cn=directory manager" -w password -h dc.rpn.int -p 389 dn: cn=RPN.INT,cn=kerberos,dc=rpn,dc=int changetype: modify add: krbSupportedEncSaltTypes krbSupportedEncSaltTypes: des-cbc-crc:normal - add: krbSupportedEncSaltTypes krbSupportedEncSaltTypes: des-cbc-crc:special - add: krbDefaultEncSaltTypes krbDefaultEncSaltTypes: des-cbc-crc:special
Создаем каталог, который будем раздавать пользователям сервером NFS:
# mkdir /nfs_share
Вносим соответствующие настройки в файл /etc/exports
(разрешаем доступ с любого хоста, включаем авторизацию kerberos)
/nfs_share *(rw,sec=krb5:krb5i:krb5p)
Перезапускаем сервер NFS и связанные с ним службы:
# service nfs restart # service rpcsvcgssd restart
Настраиваем права доступа на каталоги. Настройки ничем не отличаются от настроек для Samba.
Настраиваем клиента NFS.
- Регистрируем ПК в домене FreeIPA.
- Выполняем
ipa-client-automount
. Этим мы внесем необходимые настройки для использования NFS. Т.е. внесутся необходимые настройки в файл/etc/sysconfig/nfs
и/etc/idmap.conf
. - Запускаем GSS демон:
# service rpcgssd start # service rpcbind start # service rpcidmapd start
- Проверяем доступность серверного ресурса на клиенте:
# showmount -e fs.rpn.int /nfs_share *(rw,sec=krb5:krb5i:krb5p)
- Монтируем ресурс в каталог /mnt:
# mount -o sec=krb5i,rw,proto=tcp,port=2049 fs.rpn.int://nfs_share /mnt/
В итоге получили сетевой ресурс с простейшими настройками. Данный ресурс можно будет использовать в политиках автомонтирования FreeIPA. Например так.
Переходим в консоль контроллера домена FreeIPA.
Получаем билет администратора домена:
# kinit admin Password:
Создаем локацию, которая будет использоваться для управления точками подключения ресурсов файлового сервера:
# ipa automountlocation-add FileServer
Добавляем карту монтирования:
# ipa automountmap-add FileServer auto.nfs
Добавляем ссылку на auto.nfs в auto.master
# ipa automountkey-add FileServer --key "/-" --info auto.nfs auto.master
Добавляем ключ монтирования в auto.nfs:
# ipa automountkey-add FileServer --key "/home/NetFiles" --info "-rw,soft,localflocks,sec=krb5i,no_root_squash,proto=tcp,port=2049, fs.rpn.int:/nfs_share" auto.nfs
На клиенте производим следующие выполняем:
# ipa-client-automount --location=FileServer
Если команда ipa-client-automount выполнялась ранее, то предварительно надо удалить эти настройки:
# ipa-client-automount --uninstall
В итоге у клиента будет автоматически монтироваться ресурс NFS сервера в каталоге /home/NetFiles
.