Konfigurera en NFS-klient för Azure NetApp FilesConfigure an NFS client for Azure NetApp Files

Konfigurationen av NFS-klienten som beskrivs i den här artikeln är en del av installationen när du konfigurerar nfsv 4.1 Kerberos-kryptering eller skapar en volym med dubbla protokoll.The NFS client configuration described in this article is part of the setup when you configure NFSv4.1 Kerberos encryption or create a dual-protocol volume. Det finns många olika Linux-distributioner som du kan använda med Azure NetApp Files.A wide variety of Linux distributions are available to use with Azure NetApp Files. I den här artikeln beskrivs konfigurationer för två av de ofta använda miljöerna: RHEL 8 och Ubuntu 18,04.This article describes configurations for two of the more commonly used environments: RHEL 8 and Ubuntu 18.04.

Krav och övervägandenRequirements and considerations

Oavsett vilken Linux-variant du använder, krävs följande konfigurationer:Regardless of the Linux flavor you use, the following configurations are required:

  • Konfigurera en NTP-klient för att undvika problem med tids skevning.Configure an NTP client to avoid issues with time skew.
  • Konfigurera DNS-poster för Linux-klienten för namn matchning.Configure DNS entries of the Linux client for name resolution.
    Den här konfigurationen måste innehålla posten "A" (forward) och PTR (omvänd).This configuration must include the “A” (forward) record and the PTR (reverse) record .
  • För domän anslutning skapar du ett dator konto för Linux-klienten i mål Active Directory (som skapas vid kommandot sfär anslutning).For domain join, create a computer account for the Linux client in the target Active Directory (which is created during the realm join command).

    Anteckning

    $SERVICEACCOUNTVariabeln som används i kommandona nedan måste vara ett användar konto med behörighet eller delegering för att skapa ett dator konto i den aktuella organisationsenheten.The $SERVICEACCOUNT variable used in the commands below should be a user account with permissions or delegation to create a computer account in the targeted Organizational Unit.

RHEL 8-konfigurationRHEL 8 configuration

I det här avsnittet beskrivs RHEL-konfigurationer som krävs för NFSv 4.1 Kerberos-kryptering och dubbelt protokoll.This section describes RHEL configurations required for NFSv4.1 Kerberos encryption and dual protocol.

I exemplen i det här avsnittet används följande domän namn och IP-adress:The examples in this section use the following domain name and IP address:

  • Domän namn: contoso.comDomain name: contoso.com
  • Privat IP: 10.6.1.4Private IP: 10.6.1.4

RHEL 8-konfiguration om du använder NFSv 4.1 Kerberos-krypteringRHEL 8 configuration if you are using NFSv4.1 Kerberos encryption

  1. Konfigurera /etc/resolv.conf med rätt DNS-server.Configure /etc/resolv.conf with the proper DNS server.

    Exempel:For example:

    [root@reddoc cbs]# cat /etc/resolv.conf
    search contoso.com
    nameserver 10.6.1.4(private IP)

  2. Lägg till NFS-klientprogramvaran i DNS-servern för DNS-vidarebefordran och zon för omvänd sökning.Add the NFS client record in the DNS server for the DNS forward and reverse lookup zone.

  3. Verifiera DNS genom att använda följande kommandon från NFS-klienten:To verify DNS, use the following commands from the NFS client:

    # nslookup [hostname/FQDN of NFS client(s)]
    # nslookup [IP address of NFS client(s)]

  4. Installera paket:Install packages:

    yum update
    sudo yum -y install realmd sssd adcli samba-common krb5-workstation chrony nfs-utils

  5. Konfigurera NTP-klienten.Configure the NTP client.

    RHEL 8 använder chrony som standard.RHEL 8 uses chrony by default. Följ konfigurations rikt linjerna i använda Chrony paketet för att konfigurera NTP.Following the configuration guidelines in Using the Chrony suite to configure NTP.

  6. Anslut Active Directory-domänen:Join the Active Directory domain:

    sudo realm join $DOMAIN.NAME -U $SERVICEACCOUNT --computer-ou="OU=$YOUROU"

    Exempel:For example:

    sudo realm join CONTOSO.COM -U ad_admin --computer-ou="CN=Computers"

    Se till att anges default_realm till den angivna sfären i /etc/krb5.conf .Ensure that default_realm is set to the provided realm in /etc/krb5.conf. Om inte, lägger du till det under [libdefaults] avsnittet i filen som visas i följande exempel:If not, add it under the [libdefaults] section in the file as shown in the following example:

    default_realm = CONTOSO.COM

  7. Starta om alla NFS-tjänster:Restart all NFS services:

    systemctl start nfs-*
    systemctl restart rpc-gssd.service

    Omstarten förhindrar fel tillståndet “mount.nfs: an incorrect mount option was specified” under Kerberos-montering.The restart prevents the error condition “mount.nfs: an incorrect mount option was specified” during Kerberos mount.

  8. Kör kinit kommandot med användar kontot för att hämta biljetter:Run the kinit command with the user account to get tickets:

    sudo kinit $SERVICEACCOUNT@DOMAIN

    Exempel:For example:

    sudo kinit ad_admin@CONTOSO.COM

RHEL 8-konfiguration om du använder dubbla protokollRHEL 8 configuration if you are using dual protocol

Följande steg är valfria.The following steps are optional. Du behöver bara utföra stegen om du använder användar mappning på NFS-klienten:You need to perform the steps only if you use user mapping at the NFS client:

  1. Slutför alla steg som beskrivs i RHEL 8-konfigurationen om du använder nfsv 4.1 Kerberos Encryption -avsnittet.Complete all steps described in the RHEL 8 configuration if you are using NFSv4.1 Kerberos encryption section.

  2. Lägg till en statisk DNS-post i/etc/hosts-filen för att använda fullständigt kvalificerat domän namn (FQDN) för din AD, i stället för att använda IP-adressen i SSSD-konfigurations filen:Add a static DNS record in your /etc/hosts file to use fully qualified domain name (FQDN) for your AD, instead of using the IP address in SSSD configuration file:

    cat /etc/hosts
    10.6.1.4 winad2016.contoso.com

  3. Lägg till ett extra avsnitt för domäner för att lösa identifierare från AD LDAP-server:Add an extra section for domains to resolve identifiers from 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 = false

    [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

  4. Se till att du /etc/nsswitch.conf har sss posten:Ensure your /etc/nsswitch.conf has the sss entry:

    cat /etc/nsswitch.conf
    passwd: sss files systemd
    group: sss files systemd
    netgroup: sss files

  5. Starta om sssd tjänsten och rensa cacheminnet:Restart the sssd service and clear cache:

    service sssd stop
    rm -f /var/lib/sss/db/*
    service sssd start

  6. Testa för att säkerställa att klienten är integrerad med LDAP-servern:Test to ensure that your client is integrated with the LDAP server:

    [root@red81 cbs]# id ldapuser1
    uid=1234(ldapuser1) gid=1111(ldapgroup1) groups=1111(ldapgroup1)

Ubuntu-konfigurationUbuntu configuration

I det här avsnittet beskrivs Ubuntu-konfigurationer som krävs för NFSv 4.1 Kerberos-kryptering och dubbelt protokoll.This section describes Ubuntu configurations required for NFSv4.1 Kerberos encryption and dual protocol.

I exemplen i det här avsnittet används följande domän namn och IP-adress:The examples in this section use the following domain name and IP address:

  • Domän namn: contoso.comDomain name: contoso.com
  • Privat IP: 10.6.1.4Private IP: 10.6.1.4
  1. Konfigurera /etc/resolv.conf med rätt DNS-Server:Configure /etc/resolv.conf with the proper DNS server:

    root@ubuntu-rak:/home/cbs# cat /etc/resolv.conf
    search contoso.com
    nameserver <private IP address of DNS server>

  2. Lägg till NFS-klientprogramvaran i DNS-servern för DNS-vidarebefordran och zon för omvänd sökning.Add NFS client record in the DNS server for the DNS forward and reverse lookup zone.

    Verifiera DNS genom att använda följande kommandon från NFS-klienten:To verify DNS, use the following commands from the NFS client:

    # nslookup [hostname/FQDN of NFS client(s)]
    # nslookup [IP address of NFS client(s)]

  3. Installera paket:Install packages:

    apt-get update
    apt-get install -y realmd packagekit sssd adcli samba-common chrony krb5-user nfs-common

    När du uppmanas till det inmatade $DOMAIN.NAME alternativet (med versaler, till exempel CONTOSO.COM ) som standard-Kerberos-sfär.When prompted, input $DOMAIN.NAME (using uppercase, for example, CONTOSO.COM) as the default Kerberos realm.

  4. Starta om tjänsten rpc-gssd.service :Restart the service rpc-gssd.service:

    sudo systemctl start rpc-gssd.service

  5. Ubuntu 18,04 använder chrony som standard.Ubuntu 18.04 uses chrony by default. Följa konfigurations rikt linjerna i Ubuntu Bionic: använda chrony för att konfigurera NTP.Following the configuration guidelines in Ubuntu Bionic: Using chrony to configure NTP.

  6. Anslut Active Directory-domänen:Join the Active Directory domain:

    sudo realm join $DOMAIN.NAME -U $SERVICEACCOUNT --computer-ou="OU=$YOUROU"

    Exempel:For example:
    sudo realm join CONTOSO.COM -U ad_admin --computer-ou="CN=Computers"

  7. Utför kinit med användaren för att hämta biljetter:Perform kinit with the user to get tickets:

    sudo kinit $SERVICEACCOUNT

    Exempel:For example:
    sudo kinit ad_admin

Ubuntu-konfiguration om du använder dubbla protokollUbuntu configuration if you are using dual protocol

Följande steg är valfria.The following steps are optional. Du behöver bara utföra stegen om du vill använda användar mappning på NFS-klienten:You need to perform the steps only if you want to use user mapping at the NFS client:

  1. Kör följande kommando för att uppgradera de installerade paketen:Run the following command to upgrade the installed packages:
    sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd

    I följande exempel används exempel värden.The following example uses sample values. När du uppmanas att ange inmatade kommandon bör du tillhandahålla ininformation baserat på din miljö.When the command prompts you for input, you should provide input based on your environment.

    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

  2. Kör följande kommando för att starta om och aktivera tjänsten:Run the following command to restart and enable the service:

    sudo systemctl restart nscd && sudo systemctl enable nscd

I följande exempel frågar AD LDAP-servern från LDAP-Ubuntu LDAP-klient för en LDAP-användare ‘hari1’ :The following example queries the AD LDAP server from Ubuntu LDAP client for an LDAP user ‘hari1’:

root@cbs-k8s-varun4-04:/home/cbs# getent passwd hari1
hari1:*:1237:1237:hari1:/home/hari1:/bin/bash

Nästa stegNext steps