Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Конфигурация клиента NFS, описанная в этой статье, является частью программы установки при настройке шифрования NFSv4.1 Kerberos или создания тома с двумя протоколами или NFSv3/NFSv4.1 с протоколом LDAP. Для использования с Azure NetApp Files доступен широкий спектр дистрибутивов Linux. В этой статье описываются конфигурации для двух наиболее часто используемых сред: RHEL 8 и Ubuntu 18.04.
Требования и рекомендации
Независимо от используемой версии Linux требуются следующие конфигурации:
- Настройте NTP-клиент, чтобы избежать проблем с неравномерным распределение времени.
- Настройте записи DNS клиента Linux для разрешения имен.
Эта конфигурация должна включать запись "A" (прямого просмотра) и запись PTR (обратного просмотра). - Для присоединение к домену создайте учетную запись компьютера для клиента Linux в целевой Active Directory (который создается во время выполнения команды realm join).
Примечание.
Переменная
$SERVICEACCOUNT, используемая в приведенных ниже командах, должна быть учетной записью пользователя с разрешениями или делегированием для создания учетной записи компьютера в целевом подразделении.
Конфигурация RHEL 8
В этом разделе описываются конфигурации RHEL, необходимые для шифрования NFSv4.1 Kerberos и двойного протокола.
В примерах этого раздела используются следующее доменное имя и IP-адрес:
- Доменное имя:
contoso.com - Частный IP-адрес:
10.6.1.4
Конфигурация RHEL 8 при использовании шифрования Kerberos версии NFSv4.1
Настройте
/etc/resolv.confс помощью соответствующего DNS-сервера.Например:
[root@reddoc cbs]# cat /etc/resolv.conf
search contoso.com
nameserver 10.6.1.4(private IP)Добавьте запись клиента NFS на DNS-сервере для зоны прямого и обратного просмотра DNS.
Чтобы проверить DNS, используйте следующие команды из клиента NFS:
# nslookup [hostname/FQDN of NFS client(s)]
# nslookup [IP address of NFS client(s)]Установка пакетов:
yum update
sudo yum -y install realmd sssd adcli samba-common krb5-workstation chrony nfs-utilsНастройка NTP-клиента.
RHEL 8 используется
chronyпо умолчанию.Присоединение к домену Active Directory:
sudo realm join $DOMAIN.NAME -U $SERVICEACCOUNT --computer-ou="OU=$YOUROU"Например:
sudo realm join CONTOSO.COM -U ad_admin --computer-ou="CN=Computers"Убедитесь, что
default_realmустановлен на указанную область в/etc/krb5.conf. В противном случае добавьте его в раздел[libdefaults]файла, как показано в следующем примере:[libdefaults] default_realm = CONTOSO.COM default_tkt_enctypes = aes256-cts-hmac-sha1-96 default_tgs_enctypes = aes256-cts-hmac-sha1-96 permitted_enctypes = aes256-cts-hmac-sha1-96 [realms] CONTOSO.COM = { kdc = dc01.contoso.com admin_server = dc01.contoso.com master_kdc = dc01.contoso.com default_domain = contoso.com } [domain_realm] .contoso.com = CONTOSO.COM contoso.com = CONTOSO.COM [logging] kdc = SYSLOG:INFO admin_server = FILE=/var/kadm5.logПерезапустите все службы NFS:
systemctl start nfs-*
systemctl restart rpc-gssd.serviceПерезапуск предотвращает состояние ошибки
“mount.nfs: an incorrect mount option was specified”при подключении Kerberos.Выполните команду
kinitс учетной записью пользователя, чтобы получить билеты:sudo kinit $SERVICEACCOUNT@DOMAINНапример:
sudo kinit ad_admin@CONTOSO.COM
Конфигурация RHEL 8 при использовании двух протоколов
Следующие действия необязательны. Эти действия необходимо выполнить, только если в клиенте NFS используется сопоставление пользователей:
Выполните все действия, описанные в разделе Конфигурация RHEL 8, при использовании шифрования Kerberos версии NFSv4.1.
Добавьте статическую запись DNS в файл/etc/hosts, чтобы использовать полное доменное имя (FQDN) для AD вместо использования IP-адреса в файле конфигурации SSSD:
cat /etc/hosts
10.6.1.4 winad2016.contoso.comДобавьте дополнительный раздел для доменов, чтобы разрешить идентификаторы на сервере AD LDAP:
[root@reddoc cbs]# cat /etc/sssd/sssd.conf
[sssd]
domains = contoso.com, contoso-ldap (new entry added for LDAP as id_provider)
config_file_version = 2
services = nss, pam, ssh, sudo (ensure nss is present in this list)[domain/contoso-ldap] (Copy the following lines. Modify as per your domain name.)
auth_provider = krb5
chpass_provider = krb5
id_provider = ldap
ldap_search_base = dc=contoso,dc=com(your domain)
ldap_schema = rfc2307bis
ldap_sasl_mech = GSSAPI
ldap_user_object_class = user
ldap_group_object_class = group
ldap_user_home_directory = unixHomeDirectory
ldap_user_principal = userPrincipalName
ldap_account_expire_policy = ad
ldap_force_upper_case_realm = true
ldap_user_search_base = cn=Users,dc=contoso,dc=com (based on your domain)
ldap_group_search_base = cn=Users,dc=contoso,dc=com (based on your domain)
ldap_sasl_authid = REDDOC$ (ensure $ at the end you can get this from “klist -kte” command)
krb5_server = winad2016.contoso.com (same as AD address which is added in /etc/hosts)
krb5_realm = CONTOSO.COM (domain name in caps)
krb5_kpasswd = winad2016.contoso.com (same as AD address which is added in /etc/hosts)
use_fully_qualified_names = falseВ приведенной
[domain/contoso-ldap]выше конфигурации:-
id_providerзадано значениеldapи неad. - В конфигурации указаны базы поиска и классы пользователей и групп для поиска.
-
ldap_sasl_authid— имя учетной записи компьютера.klist -kte -
use_fully_qualified_namesзадан какfalse. Этот параметр означает, что эта конфигурация используется при использовании короткого имени. -
ldap_id_mappingзначение NOT указано, для которого по умолчанию заданоfalseзначение .
Конфигурация
realm joinсоздается клиентом и выглядит следующим образом:[domain/contoso.com] (Do not edit or remove any of the following information. This information is automatically generated during the realm join process.)
ad_domain = contoso.com
krb5_realm = CONTOSO.COM
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = adВ приведенной
[domain/contoso.com]выше конфигурации:-
id_providerзадан какad. -
ldap_id_mappingзадан какtrue. В нем используются созданные идентификаторы SSSD. Кроме того, можно задать это значениеfalse, если вы хотите использовать идентификаторы ПОЛЬЗОВАТЕЛЬСКОго интерфейса POSIX для всех стилей имен пользователей. Вы можете определить значение на основе конфигурации клиента. -
use_fully_qualified_namesимеет значениеtrue. Этот параметр означает, чтоuser@CONTOSO.COMэта конфигурация будет использоваться.
-
Убедитесь, что у
/etc/nsswitch.confимеется записьsss:cat /etc/nsswitch.conf
passwd: sss files systemd
group: sss files systemd
netgroup: sss filesПерезапустите службу
sssdи очистите кэш:service sssd stop
rm -f /var/lib/sss/db/*
service sssd startПроверьте, интегрирован ли клиент с LDAP-сервером:
[root@red81 cbs]# id ldapuser1
uid=1234(ldapuser1) gid=1111(ldapgroup1) groups=1111(ldapgroup1)
Конфигурация Ubuntu
В этом разделе описываются конфигурации Ubuntu, необходимые для шифрования NFSv4.1 Kerberos и двойного протокола.
В примерах этого раздела используются следующее доменное имя и IP-адрес:
- Доменное имя:
contoso.com - Частный IP-адрес:
10.6.1.4
Настройте
/etc/resolv.confс помощью соответствующего DNS-сервера:root@ubuntu-rak:/home/cbs# cat /etc/resolv.conf
search contoso.com
nameserver <private IP address of DNS server>Добавьте запись клиента NFS на DNS-сервере для зоны прямого и обратного просмотра DNS.
Чтобы проверить DNS, используйте следующие команды из клиента NFS:
# nslookup [hostname/FQDN of NFS client(s)]
# nslookup [IP address of NFS client(s)]Установка пакетов:
apt-get update
apt-get install -y realmd packagekit sssd adcli samba-common chrony krb5-user nfs-commonПри появлении запроса введите
$DOMAIN.NAME(используя прописные буквы, напримерCONTOSO.COM) в качестве области Kerberos по умолчанию.Перезапустите службу
rpc-gssd.service:sudo systemctl start rpc-gssd.serviceUbuntu 18.04 используется
chronyпо умолчанию. Следуйте рекомендациям по настройке в Ubuntu Bionic: использование chrony для настройки NTP.Присоединение к домену Active Directory:
sudo realm join $DOMAIN.NAME -U $SERVICEACCOUNT --computer-ou="OU=$YOUROU"Например:
sudo realm join CONTOSO.COM -U ad_admin --computer-ou="CN=Computers"Выполните
kinitс пользователем, чтобы получить билеты:sudo kinit $SERVICEACCOUNTНапример:
sudo kinit ad_admin
Конфигурация Ubuntu при использовании двух протоколов
Следующие действия необязательны. Эти действия необходимо выполнить, только если в клиенте NFS используется сопоставление пользователей:
Выполните следующую команду, чтобы обновить установленные пакеты:
sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscdВ следующем примере используются примеры значений. Когда команда запросит ввод данных, необходимо ввести входные данные в соответствии с вашей средой.
base dc=contoso,dc=com uri ldap://10.20.0.4:389/ ldap_version 3 rootbinddn cn=admin,cn=Users,dc=contoso,dc=com pam_password adУбедитесь, что файл
/etc/nsswitch.confсодержит следующие записиldap:
passwd: compat systemd ldap
group: compat systemd ldapВыполните следующую команду, чтобы перезапустить и включить службу:
sudo systemctl restart nscd && sudo systemctl enable nscd
В следующем примере производится запрос к серверу LDAP AD из клиента LDAP Ubuntu для пользователя LDAP ‘hari1’:
root@cbs-k8s-varun4-04:/home/cbs# getent passwd hari1
hari1:*:1237:1237:hari1:/home/hari1:/bin/bash
Настройка двух виртуальных машин с одним именем узла для доступа к томам NFS 4.1
В этом разделе объясняется, как настроить две виртуальные машины с одним именем узла для доступа к томам NFS 4.1 Azure NetApp Files. Эта процедура может быть полезна при выполнении тестового аварийного восстановления. Для этого может потребоваться тестовая система с тем же именем узла, что и у основной системы аварийного восстановления. Эта процедура необходима только при наличии одинакового имени узла на двух виртуальных машинах, обращающихся к одним и тем же томам Azure NetApp Files.
Для NFS 4.x требуется, чтобы каждый клиент идентифицировал себя для серверов с помощью уникальной строки. Состояние открытия и блокировки файлов, передаваемое между одним клиентом и одним сервером, связывается с этим удостоверением. Для поддержки надежного восстановления состояния и прозрачного переноса состояния NFS 4.x эта строка идентификатора не должна изменяться после перезагрузки клиента.
Отобразите строку
nfs4_unique_idна клиентах виртуальных машин с помощью следующей команды:# systool -v -m nfs | grep -i nfs4_unique
nfs4_unique_id = ""Чтобы подключить один и тот же том на дополнительной виртуальной машине с тем же именем узла (например, для системы аварийного восстановления), создайте
nfs4_unique_id, чтобы она могла однозначно идентифицировать себя для службы Azure NetApp Files NFS. Этот шаг позволяет службе различать две виртуальные машины с одним именем узла и обеспечить подключение томов NFS 4.1 на обеих виртуальных машинах.Этот шаг необходимо выполнить только в тестовой системе аварийного восстановления. Для обеспечения согласованности можно применить уникальный параметр для каждой задействованной виртуальной машины.
В тестовой системе аварийного восстановления добавьте приведенную ниже строку в файл
nfsclient.conf, обычно расположенный в папке/etc/modprobe.d/:options nfs nfs4_unique_id=uniquenfs4-1Значение
uniquenfs4-1может быть любой буквенно-цифровой строкой, если она является уникальной для виртуальных машин, подключаемых к службе.Дополнительные сведения о настройке параметров клиента NFS доступны в документации по дистрибутиву.
Перезапустите виртуальную машину, чтобы изменение вступило в силу.
Убедитесь, что в тестовой системе аварийного восстановления после перезагрузки виртуальной машины задан идентификатор
nfs4_unique_id:# systool -v -m nfs | grep -i nfs4_unique
nfs4_unique_id = "uniquenfs4-1"Подключите том NFS 4.1 на обеих виртуальных машинах в нормальном режиме.
Теперь обе виртуальные машины с одним именем узла могут подключить том NFS 4.1 и обращаться к нему.