Een NFS-client voor Azure NetApp Files configurerenConfigure an NFS client for Azure NetApp Files

De configuratie van de NFS-client die in dit artikel wordt beschreven, maakt deel uit van de installatie wanneer u nfsv 4.1 Kerberos Encryption configureert of een Dual-protocol volume maakt.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. Er zijn een groot aantal Linux-distributies beschikbaar voor gebruik met Azure NetApp Files.A wide variety of Linux distributions are available to use with Azure NetApp Files. In dit artikel worden configuraties beschreven voor twee van de vaker gebruikte omgevingen: RHEL 8 en Ubuntu 18,04.This article describes configurations for two of the more commonly used environments: RHEL 8 and Ubuntu 18.04.

Vereisten en overwegingenRequirements and considerations

Ongeacht de Linux-smaak die u gebruikt, zijn de volgende configuraties vereist:Regardless of the Linux flavor you use, the following configurations are required:

  • Configureer een NTP-client om problemen met tijd verschil te voor komen.Configure an NTP client to avoid issues with time skew.
  • Configureer DNS-vermeldingen van de Linux-client voor naam omzetting.Configure DNS entries of the Linux client for name resolution.
    Deze configuratie moet het volgende bevatten: een (voorwaartse) record en een PTR-record (reverse).This configuration must include the “A” (forward) record and the PTR (reverse) record .
  • Maak voor domein deelname een computer account voor de Linux-client in de doel Active Directory (die wordt gemaakt tijdens de realm-koppelings opdracht).For domain join, create a computer account for the Linux client in the target Active Directory (which is created during the realm join command).

    Notitie

    De $SERVICEACCOUNT variabele die in de onderstaande opdrachten wordt gebruikt, moet een gebruikers account met machtigingen of delegering zijn om een computer account te maken in de doel organisatie-eenheid.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-configuratieRHEL 8 configuration

In deze sectie worden RHEL-configuraties beschreven die vereist zijn voor NFSv 4.1 Kerberos-versleuteling en het dubbele protocol.This section describes RHEL configurations required for NFSv4.1 Kerberos encryption and dual protocol.

In de voor beelden in deze sectie worden de volgende domein naam en IP-adres gebruikt:The examples in this section use the following domain name and IP address:

  • Domein naam: contoso.comDomain name: contoso.com
  • Privé-IP: 10.6.1.4Private IP: 10.6.1.4

RHEL 8-configuratie als u NFSv 4.1 Kerberos-versleuteling gebruiktRHEL 8 configuration if you are using NFSv4.1 Kerberos encryption

  1. Configureer /etc/resolv.conf met de juiste DNS-server.Configure /etc/resolv.conf with the proper DNS server.

    Bijvoorbeeld:For example:

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

  2. Voeg de NFS-client record toe aan de DNS-server voor de DNS-zone voor forward en reverse lookup.Add the NFS client record in the DNS server for the DNS forward and reverse lookup zone.

  3. Gebruik de volgende opdrachten van de NFS-client om DNS te controleren: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. Pakketten installeren:Install packages:

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

  5. Configureer de NTP-client.Configure the NTP client.

    RHEL 8 maakt standaard gebruik van chrony.RHEL 8 uses chrony by default. Volg de richt lijnen in de configuratie van het gebruik van de Chrony Suite voor het configureren van NTP.Following the configuration guidelines in Using the Chrony suite to configure NTP.

  6. Word lid van het domein Active Directory:Join the Active Directory domain:

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

    Bijvoorbeeld:For example:

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

    Zorg ervoor dat default_realm is ingesteld op de opgegeven realm in /etc/krb5.conf .Ensure that default_realm is set to the provided realm in /etc/krb5.conf. Als dat niet het geval is, voegt u deze toe onder de [libdefaults] sectie in het bestand, zoals wordt weer gegeven in het volgende voor beeld:If not, add it under the [libdefaults] section in the file as shown in the following example:

    default_realm = CONTOSO.COM

  7. Alle NFS-services opnieuw starten:Restart all NFS services:

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

    Als de computer opnieuw wordt opgestart, wordt de fout voor komen “mount.nfs: an incorrect mount option was specified” tijdens een Kerberos-koppeling.The restart prevents the error condition “mount.nfs: an incorrect mount option was specified” during Kerberos mount.

  8. Voer de kinit opdracht uit met het gebruikers account om tickets te verkrijgen:Run the kinit command with the user account to get tickets:

    sudo kinit $SERVICEACCOUNT@DOMAIN

    Bijvoorbeeld:For example:

    sudo kinit ad_admin@CONTOSO.COM

RHEL 8-configuratie als u gebruikmaakt van Dual ProtocolRHEL 8 configuration if you are using dual protocol

De volgende stappen zijn optioneel.The following steps are optional. U moet de stappen alleen uitvoeren als u gebruikers toewijzing gebruikt op de NFS-client:You need to perform the steps only if you use user mapping at the NFS client:

  1. Voer alle stappen uit die worden beschreven in de RHEL 8-configuratie als u de sectie nfsv 4.1 Kerberos-versleuteling gebruikt .Complete all steps described in the RHEL 8 configuration if you are using NFSv4.1 Kerberos encryption section.

  2. Voeg een statische DNS-record in uw bestand/etc/hosts-bestand toe om Fully Qualified Domain Name (FQDN) voor uw AD te gebruiken, in plaats van het IP-adres in SSSD-configuratie bestand te gebruiken: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. Een extra sectie toevoegen voor domeinen om id's van AD LDAP-server op te lossen: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. Zorg ervoor dat u /etc/nsswitch.conf de sss vermelding hebt: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. Start de sssd service opnieuw en wis de cache:Restart the sssd service and clear cache:

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

  6. Test om te controleren of uw client is geïntegreerd met de LDAP-server: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-configuratieUbuntu configuration

In deze sectie worden Ubuntu-configuraties beschreven die vereist zijn voor NFSv 4.1 Kerberos-versleuteling en het dubbele protocol.This section describes Ubuntu configurations required for NFSv4.1 Kerberos encryption and dual protocol.

In de voor beelden in deze sectie worden de volgende domein naam en IP-adres gebruikt:The examples in this section use the following domain name and IP address:

  • Domein naam: contoso.comDomain name: contoso.com
  • Privé-IP: 10.6.1.4Private IP: 10.6.1.4
  1. Configureren /etc/resolv.conf met de juiste 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. Voeg NFS-client record toe aan de DNS-server voor de DNS-zone voor forward en reverse lookup.Add NFS client record in the DNS server for the DNS forward and reverse lookup zone.

    Gebruik de volgende opdrachten van de NFS-client om DNS te controleren: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. Pakketten installeren:Install packages:

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

    Als u hierom wordt gevraagd, wordt invoer $DOMAIN.NAME (met hoofd letters CONTOSO.COM ) als de standaard Kerberos-realm.When prompted, input $DOMAIN.NAME (using uppercase, for example, CONTOSO.COM) as the default Kerberos realm.

  4. Start de service opnieuw rpc-gssd.service :Restart the service rpc-gssd.service:

    sudo systemctl start rpc-gssd.service

  5. Ubuntu 18,04 maakt standaard gebruik van chrony.Ubuntu 18.04 uses chrony by default. Volg de richt lijnen voor configuratie in Ubuntu Bionic: using chrony om NTP te configureren.Following the configuration guidelines in Ubuntu Bionic: Using chrony to configure NTP.

  6. Word lid van het domein Active Directory:Join the Active Directory domain:

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

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

  7. Voer uit kinit met de gebruiker om tickets te verkrijgen:Perform kinit with the user to get tickets:

    sudo kinit $SERVICEACCOUNT

    Bijvoorbeeld:For example:
    sudo kinit ad_admin

Ubuntu-configuratie als u gebruikmaakt van Dual ProtocolUbuntu configuration if you are using dual protocol

De volgende stappen zijn optioneel.The following steps are optional. U moet de stappen alleen uitvoeren als u de gebruikers toewijzing wilt gebruiken op de NFS-client:You need to perform the steps only if you want to use user mapping at the NFS client:

  1. Voer de volgende opdracht uit om de geïnstalleerde pakketten bij te werken:Run the following command to upgrade the installed packages:
    sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd

    In het volgende voor beeld wordt gebruikgemaakt van voorbeeld waarden.The following example uses sample values. Wanneer u met de opdracht wordt gevraagd om in te voeren, moet u de invoer opgeven op basis van uw omgeving.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. Voer de volgende opdracht uit om de service opnieuw te starten en in te scha kelen:Run the following command to restart and enable the service:

    sudo systemctl restart nscd && sudo systemctl enable nscd

In het volgende voor beeld wordt een query uitgevoerd voor de AD LDAP-server van de Ubuntu LDAP-client voor een LDAP-gebruiker ‘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

Volgende stappenNext steps