241
правка
Dkirienko (обсуждение | вклад) |
Dkirienko (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
<big>'''Это черновик статьи, он используется для хранения рабочих заметок, а не для разворачивания полноценного решения!'''</big> | <big>'''Это черновик статьи, он используется для хранения рабочих заметок, а не для разворачивания полноценного решения!'''</big> | ||
При установке на реальное железо нужно проверить, что SELINUX отключён. | |||
==Введение== | ==Введение== | ||
| Строка 458: | Строка 461: | ||
systemctl enable --now nfs-server | systemctl enable --now nfs-server | ||
systemctl enable --now rpcbind | systemctl enable --now rpcbind | ||
systemctl enable --now gssproxy | |||
</syntaxhighlight>Создадим ключи Kerberos на сервере. | |||
От имени пользователя root нужно запустить команду<syntaxhighlight lang="bash"> | |||
kadmin.local | |||
</syntaxhighlight>В приложении kadmin.local нужно ввести команды.<syntaxhighlight lang="bash"> | |||
addprinc -randkey nfs/server.sch179.local | |||
ktadd -k /etc/krb5.keytab nfs/server.sch179.local | |||
quit | |||
</syntaxhighlight>Проверим, что ключи были созданы, для этого введите команду от root<syntaxhighlight lang="bash"> | |||
klist -k /etc/krb5.keytab | |||
</syntaxhighlight>Вывод будет таким.<syntaxhighlight> | |||
Keytab name: FILE:/etc/krb5.keytab | |||
KVNO Principal | |||
---- -------------------------------------------------------------------------- | |||
2 nfs/server.sch179.local@SCH179.LOCAL | |||
2 nfs/server.sch179.local@SCH179.LOCAL | |||
</syntaxhighlight>'''Созданный в результате файл /etc/krb5.keytab необходимо будет скопировать на каждый клиентский компьютер - иначе kerberos будет отказываться устанавливать соединение с этим компьютером.''' | |||
Теперь настроим экспорт файловой системы /home сервера по сети. Для этого в файле /etc/exports напишем строку<syntaxhighlight> | |||
/home 192.168.0.0/16(rw,sec=krb5p,sync,no_subtree_check) | |||
</syntaxhighlight>192.168.0.0/16 - сеть, из которой разрешён доступ (можете поменять) | |||
krb5p - уровень безопасности Kerberos, означающий полное шифрование всех передаваемых данных. Это наиболее безопасно и даёт дополнительную нагрузку на процессор. Для уменьшения нагрузки можно использовать варианты без шифрования (но тогда возможен перехват данных): krb5 (только авторизация) или krb5i (проверка контрольных сумм данных для защиты от подмены). | |||
Примените изменения командой<syntaxhighlight lang="bash"> | |||
exportfs -ra | |||
</syntaxhighlight>Проверьте, что система экспортируется, выполнив команду <syntaxhighlight lang="bash"> | |||
exportfs -v | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== Установка NFS на клиенте == | |||
Установите нужные пакеты.<syntaxhighlight lang="bash"> | |||
dnf install nfs-utils krb5-workstation | |||
</syntaxhighlight>'''Скопируйте файл с ключами /etc/krb5.keytab с сервера на клиентскую машину. Установите владельца root:root и права доступа 600 на этот файл.''' | |||
Запустите нужные службы.<syntaxhighlight lang="bash"> | |||
systemctl enable --now nfs-client.target | |||
systemctl enable --now gssproxy | |||
</syntaxhighlight>Теперь попробуем подмонтировать каталог /home с сервера. Это тестовая процедура, чтобы убедиться в том, что связка NFS + Kerberos настроена правильно. | |||
Выполняйте все последующие действия под пользователем root. | |||
Монтирование разделов при помощи NFS+Kerberos требует, чтобы у пользователя был действующий билет Kerberos. Этот билет нужно получить командой (выполним её от root)<syntaxhighlight lang="bash"> | |||
kinit dk | |||
</syntaxhighlight>Понадобится ввести пароль пользователя dk. Убедитесь, что билет получен, введя команду <syntaxhighlight lang="bash"> | |||
klist | |||
</syntaxhighlight>Имея билет, можно выполнить команду монтирования. Создайте на компьютере точку для монтирования, например, /root/home. Затем дайте команду.<syntaxhighlight lang="bash"> | |||
mount -t nfs -o sec=krb5p server.sch179.local:/home /root/home | |||
</syntaxhighlight>Эта команда подмонтирует раздел /home с сервера в каталог /root/home на клиенте. | |||