Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
NFS-klientkonfigurationen som beskrivs i den här artikeln är en del av konfigurationen när du konfigurerar NFSv4.1 Kerberos-kryptering eller skapar en volym med dubbla protokoll eller NFSv3/NFSv4.1 med LDAP. Det finns en mängd olika Linux-distributioner att använda med Azure NetApp Files. I den här artikeln beskrivs konfigurationer för två av de vanligaste miljöerna: RHEL 8 och Ubuntu 18.04.
Krav och överväganden
Oavsett vilken Linux-smak du använder krävs följande konfigurationer:
- Konfigurera en NTP-klient för att undvika problem med tidsförskjutning.
- Konfigurera DNS-poster för Linux-klienten för namnmatchning.
Den här konfigurationen måste innehålla A-posten (framåt) och PTR-posten (omvänd). - För domänanslutning skapar du ett datorkonto för Linux-klienten i active directory-målet (som skapas under kommandot realm join).
Note
Variabeln
$SERVICEACCOUNTsom används i kommandona nedan bör vara ett användarkonto med behörigheter eller delegering för att skapa ett datorkonto i den riktade organisationsenheten.
RHEL 8-konfiguration
I det här avsnittet beskrivs DE RHEL-konfigurationer som krävs för NFSv4.1 Kerberos-kryptering och dubbla protokoll.
Exemplen i det här avsnittet använder följande domännamn och IP-adress:
- Domännamn:
contoso.com - Privat IP-adress:
10.6.1.4
RHEL 8-konfiguration om du använder NFSv4.1 Kerberos-kryptering
Konfigurera
/etc/resolv.confmed rätt DNS-server.Till exempel:
[root@reddoc cbs]# cat /etc/resolv.conf
search contoso.com
nameserver 10.6.1.4(private IP)Lägg till NFS-klientposten i DNS-servern för DNS-zonen för framåtriktad och omvänd uppslagning.
Kontrollera DNS genom att använda följande kommandon från NFS-klienten:
# nslookup [hostname/FQDN of NFS client(s)]
# nslookup [IP address of NFS client(s)]Installera paket:
yum update
sudo yum -y install realmd sssd adcli samba-common krb5-workstation chrony nfs-utilsKonfigurera NTP-klienten.
RHEL 8 använder
chronysom standard.Anslut till Active Directory-domänen:
sudo realm join $DOMAIN.NAME -U $SERVICEACCOUNT --computer-ou="OU=$YOUROU"Till exempel:
sudo realm join CONTOSO.COM -U ad_admin --computer-ou="CN=Computers"Se till att
default_realmär inställt på den angivna sfären i/etc/krb5.conf. Annars lägger du till den under[libdefaults]avsnittet i filen enligt följande exempel:[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.logStarta om alla NFS-tjänster:
systemctl start nfs-*
systemctl restart rpc-gssd.serviceOmstarten förhindrar feltillståndet
“mount.nfs: an incorrect mount option was specified”under Kerberos-monteringen.kinitKör kommandot med användarkontot för att hämta biljetter:sudo kinit $SERVICEACCOUNT@DOMAINTill exempel:
sudo kinit ad_admin@CONTOSO.COM
RHEL 8-konfiguration om du använder dubbla protokoll
Följande steg är valfria. Du behöver bara utföra stegen om du använder användarmappning på NFS-klienten:
Slutför alla steg som beskrivs i RHEL 8-konfigurationen om du använder avsnittet NFSv4.1 Kerberos-kryptering .
Lägg till en statisk DNS-post i filen /etc/hosts för att använda fullständigt kvalificerat domännamn (FQDN) för din AD i stället för att använda IP-adressen i SSSD-konfigurationsfilen:
cat /etc/hosts
10.6.1.4 winad2016.contoso.comLägg till ett extra avsnitt för domäner för att lösa identifierare från en AD LDAP-server.
[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 = falseI konfigurationen
[domain/contoso-ldap]ovan:-
id_providerär inställt påldapoch intead. - Konfigurationen har angett sökbaser och användar- och gruppklasser för sökningar.
-
ldap_sasl_authidär datorkontonamnet frånklist -kte. -
use_fully_qualified_namesär inställt påfalse. Den här inställningen innebär att den här konfigurationen används när ett kort namn används. -
ldap_id_mappinghar INTE angetts, vilket är standardvärdetfalse.
Konfigurationen
realm joingenereras av klienten och ser ut så här:[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 = adI konfigurationen
[domain/contoso.com]ovan:-
id_providerär inställt påad. -
ldap_id_mappingär inställt påtrue. Den använder de SSSD-genererade ID:erna. Alternativt kan du ange det här värdet tillfalseom du vill använda POSIX-användargränssnitt för ALLA format med användarnamn. Du kan fastställa värdet baserat på klientkonfigurationen. -
use_fully_qualified_namesärtrue. Den här inställningen innebäruser@CONTOSO.COMatt den här konfigurationen används.
-
Kontrollera att du
/etc/nsswitch.confharsssposten:cat /etc/nsswitch.conf
passwd: sss files systemd
group: sss files systemd
netgroup: sss filessssdStarta om tjänsten och rensa cacheminnet:service sssd stop
rm -f /var/lib/sss/db/*
service sssd startTesta för att säkerställa att klienten är integrerad med LDAP-servern:
[root@red81 cbs]# id ldapuser1
uid=1234(ldapuser1) gid=1111(ldapgroup1) groups=1111(ldapgroup1)
Ubuntu-konfiguration
I det här avsnittet beskrivs Ubuntu-konfigurationer som krävs för NFSv4.1 Kerberos-kryptering och dubbla protokoll.
Exemplen i det här avsnittet använder följande domännamn och IP-adress:
- Domännamn:
contoso.com - Privat IP-adress:
10.6.1.4
Konfigurera
/etc/resolv.confmed rätt DNS-server:root@ubuntu-rak:/home/cbs# cat /etc/resolv.conf
search contoso.com
nameserver <private IP address of DNS server>Lägg till en NFS-klientpost i DNS-servern för DNS-zonen för framåt- och omvänd uppslag.
Kontrollera DNS genom att använda följande kommandon från NFS-klienten:
# nslookup [hostname/FQDN of NFS client(s)]
# nslookup [IP address of NFS client(s)]Installera paket:
apt-get update
apt-get install -y realmd packagekit sssd adcli samba-common chrony krb5-user nfs-commonNär du uppmanas till det anger du
$DOMAIN.NAME(med versaler,CONTOSO.COMtill exempel ) som standard-Kerberos-sfär.Starta om tjänsten
rpc-gssd.service:sudo systemctl start rpc-gssd.serviceUbuntu 18.04 använder
chronysom standard. Följ konfigurationsriktlinjerna i Ubuntu Bionic: Använda chrony för att konfigurera NTP.Anslut till Active Directory-domänen:
sudo realm join $DOMAIN.NAME -U $SERVICEACCOUNT --computer-ou="OU=$YOUROU"Till exempel:
sudo realm join CONTOSO.COM -U ad_admin --computer-ou="CN=Computers"Utför
kinitmed användaren för att hämta biljetter:sudo kinit $SERVICEACCOUNTTill exempel:
sudo kinit ad_admin
Ubuntu-konfiguration om du använder dubbla protokoll
Följande steg är valfria. Du behöver bara utföra stegen om du vill använda användarmappning på NFS-klienten:
Kör följande kommando för att uppgradera de installerade paketen:
sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscdI följande exempel används exempelvärden. När kommandot frågar efter indata bör du ange indata baserat på din miljö.
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 adKontrollera att
/etc/nsswitch.conffilen har följandeldapposter:
passwd: compat systemd ldap
group: compat systemd ldapKör följande kommando för att starta om och aktivera tjänsten:
sudo systemctl restart nscd && sudo systemctl enable nscd
Följande exempel interrogerar AD LDAP-servern från Ubuntu LDAP-klient för en LDAP-användare ‘hari1’:
root@cbs-k8s-varun4-04:/home/cbs# getent passwd hari1
hari1:*:1237:1237:hari1:/home/hari1:/bin/bash
Konfigurera två virtuella datorer med samma värdnamn för åtkomst till NFSv4.1-volymer
I det här avsnittet beskrivs hur du kan konfigurera två virtuella datorer som har samma värdnamn för åtkomst till Azure NetApp Files NFSv4.1-volymer. Den här proceduren kan vara användbar när du utför ett haveriberedskapstest (DR) och kräver ett testsystem med samma värdnamn som det primära DR-systemet. Den här proceduren krävs bara när du har samma värdnamn på två virtuella datorer som har åtkomst till samma Azure NetApp Files-volymer.
NFSv4.x kräver att varje klient identifierar sig för servrar med en unik sträng. Filöppnings- och låstillstånd som delas mellan en klient och en server är associerat med den här identiteten. För att stödja robust NFSv4.x-tillståndsåterställning och transparent tillståndsmigrering får den här identitetssträngen inte ändras mellan klientomstarter.
Visa strängen
nfs4_unique_idpå de virtuella datorklienterna med hjälp av följande kommando:# systool -v -m nfs | grep -i nfs4_unique
nfs4_unique_id = ""Om du vill montera samma volym på en ytterligare virtuell dator med samma värdnamn, till exempel DR-systemet, skapar du en
nfs4_unique_idså att den unikt kan identifiera sig för Azure NetApp Files NFS-tjänsten. Med det här steget kan tjänsten skilja mellan de två virtuella datorerna med samma värdnamn och aktivera montering av NFSv4.1-volymer på båda de virtuella datorerna.Du behöver endast utföra det här steget på test-DR-systemet. För konsekvens kan du överväga att tillämpa en unik inställning på varje berörd virtuell dator.
I test-DR-systemet lägger du till följande rad i
nfsclient.conffilen, som vanligtvis finns i/etc/modprobe.d/:options nfs nfs4_unique_id=uniquenfs4-1Strängen
uniquenfs4-1kan vara valfri alfanumerisk sträng, så länge den är unik för de virtuella datorer som ska anslutas till tjänsten.Kontrollera distributionens dokumentation om hur du konfigurerar NFS-klientinställningar.
Starta om den virtuella datorn för att ändringen ska börja gälla.
Kontrollera att
nfs4_unique_idhar angetts efter omstarten av den virtuella datorn på testdatorn:# systool -v -m nfs | grep -i nfs4_unique
nfs4_unique_id = "uniquenfs4-1"Montera NFSv4.1-volymen på båda de virtuella datorerna som vanligt.
Båda de virtuella datorerna med samma värdnamn kan nu montera och komma åt NFSv4.1-volymen.