Delen via


SQL Server op een Linux-host toevoegen aan een Active Directory-domein

van toepassing op:SQL Server- - Linux

Dit artikel bevat algemene richtlijnen voor het toevoegen van een SQL Server Linux-hostcomputer aan een Active Directory-domein. Er zijn twee methoden: een ingebouwd SSSD-pakket gebruiken of active directory-providers van derden gebruiken. Voorbeelden van producten voor domeindeelname van derden zijn PowerBroker Identity Services (PBIS), One Identityen Centrify-.

Deze handleiding bevat stappen voor het controleren van uw Active Directory-configuratie. Het is echter niet bedoeld om instructies te geven voor het koppelen van een computer aan een domein wanneer u hulpprogramma's van derden gebruikt.

Notitie

Zie voor meer informatie over het configureren van Active Directory met nieuwere versies van Ubuntu, RHEL of SLES Zelfstudie: Adutil gebruiken om Active Directory-verificatie te configureren met SQL Server op Linux.

Voorwaarden

Voordat u Active Directory-verificatie configureert, moet u een Active Directory-domeincontroller, Windows, instellen op uw netwerk. Voeg vervolgens uw SQL Server op Linux-host toe aan een Active Directory-domein.

De voorbeeldstappen die in dit artikel worden beschreven, zijn alleen bedoeld voor richtlijnen en verwijzen naar besturingssystemen Ubuntu 16.04, Red Hat Enterprise Linux (RHEL) 7.x en SUSE Linux Enterprise Server (SLES) 12. De werkelijke stappen kunnen enigszins verschillen in uw omgeving, afhankelijk van hoe uw algehele omgeving is geconfigureerd en de versie van het besturingssysteem. Ubuntu 18.04 gebruikt bijvoorbeeld netplan terwijl Red Hat Enterprise Linux (RHEL) 8.x nmcli- gebruikt om het netwerk te beheren en te configureren. Neem contact op met uw systeem- en domeinbeheerders voor uw omgeving voor specifieke hulpprogramma's, configuratie, aanpassing en eventuele vereiste probleemoplossing.

Omgekeerde DNS (rDNS)

Wanneer u een computer met Windows Server instelt als een domeincontroller, hebt u mogelijk geen rDNS-zone standaard. Zorg ervoor dat er een toepasselijke rDNS-zone bestaat voor zowel de domeincontroller als het IP-adres van de Linux-computer waarop SQL Server wordt uitgevoerd.

Zorg er ook voor dat er een PTR-record bestaat die verwijst naar uw domeincontrollers.

De verbinding met een domeincontroller controleren

Controleer of u contact kunt opnemen met de domeincontroller door zowel de korte als de volledig gekwalificeerde namen van het domein te gebruiken, en door de hostnaam van de domeincontroller te gebruiken. Het IP-adres van de domeincontroller moet ook worden omgezet in de FQDN van de domeincontroller:

ping contoso
ping contoso.com
ping dc1.contoso.com
nslookup <IP address of dc1.contoso.com>

Fooi

In deze zelfstudie worden respectievelijk contoso.com en CONTOSO.COM gebruikt als voorbeelddomein- en realmnamen. Het maakt ook gebruik van DC1.CONTOSO.COM als voorbeeld volledig gekwalificeerde domeinnaam van de domeincontroller. U moet deze namen vervangen door uw eigen waarden.

Om ervoor te zorgen dat de juiste domeinnaamomzetting wordt gegarandeerd, is het van cruciaal belang om het /etc/resolv.conf bestand bij te werken als er discrepanties worden gevonden tijdens naamcontroles. De updateprocedure verschilt per distributie; daarom is het raadplegen van de officiële documentatie aan te raden voor nauwkeurige begeleiding. De volgende lijst bevat koppelingen voor sommige distributies en hun belangrijkste versies:

Distributie Naslagartikel
RHEL 8 handmatig de /etc/resolv.conf- configureren
RHEL 9 handmatig de /etc/resolv.conf- configureren
SLES 15 instellingen voor NETCONFIG_DNS_STATIC_SEARCHLIST en NETCONFIG_DNS_STATIC_SERVERS
Ubuntu sectie Naamomzetting

Het doel is om /etc/resolv.conf correct te configureren voor uw distributie om domeinnaamomzetting te vergemakkelijken. Als uw domein bijvoorbeeld is contoso.com en het IP-adres van Active Directory 10.0.0.4 is, moet de /etc/resolv.conf dienovereenkomstig worden ingesteld om ervoor te zorgen dat de naamomzetting van de host is geslaagd.

cat /etc/resolv.conf

Dit is de resultatenset.

# Generated by NetworkManager
search contoso.com com
nameserver 10.0.0.4

RHEL 7.x

  1. Bewerk het /etc/sysconfig/network-scripts/ifcfg-eth0 bestand, zodat uw Active Directory-domein zich in de lijst met domeinzoekopdrachten bevindt. U kunt ook een ander configuratiebestand van de interface bewerken, indien van toepassing:

    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
    

    De inhoud moet er ongeveer uitzien als in het volgende voorbeeld:

    PEERDNS=no
    DNS1=<Domain controller IP address>
    DOMAIN="contoso.com com"
    
  2. Nadat u dit bestand hebt bewerkt, start u de netwerkservice opnieuw op:

    sudo systemctl restart network
    
  3. Controleer nu of uw /etc/resolv.conf bestand een regel bevat zoals in het volgende voorbeeld:

    sudo vi /etc/resolv.conf
    

    De inhoud moet er ongeveer uitzien als in het volgende voorbeeld:

    search contoso.com com
    nameserver <Domain controller IP address>
    
  4. Als u de domeincontroller nog steeds niet kunt pingen, zoekt u de volledig gekwalificeerde domeinnaam en het IP-adres van de domeincontroller. Een voorbeeld van een domeinnaam is DC1.CONTOSO.COM. Voeg de volgende vermelding toe aan /etc/hosts:

    sudo vi /etc/hosts
    

    De inhoud moet er ongeveer uitzien als in het volgende voorbeeld:

    <IP address> DC1.CONTOSO.COM CONTOSO.COM CONTOSO
    

Deelnemen aan het Active Directory-domein

Nadat de basisconfiguratie en connectiviteit met domeincontroller is geverifieerd, zijn er twee opties voor het toevoegen van een SQL Server Linux-hostcomputer met de Active Directory-domeincontroller:

Optie 1: SSSD-pakket gebruiken om lid te worden van Active Directory-domein

Met deze methode wordt de SQL Server-host toegevoegd aan een Active Directory-domein met behulp van realmd en -pakketten.

Dit is de voorkeursmethode voor het toevoegen van een Linux-host aan een Active Directory-domeincontroller.

Raadpleeg de officiële documentatie van de distributiepartners voor de meest recente instructies.

Distributie Naslagartikel
RHEL 8 een AD-domein detecteren en toevoegen met behulp van SSSD-
RHEL 9 een AD-domein detecteren en toevoegen met behulp van SSSD-
SLES lid worden van Active Directory met behulp van het Windows-domeinlidmaatschap
Ubuntu Hoe SSSD instellen met Active Directory

Gebruik de volgende stappen om een SQL Server-host toe te voegen aan een Active Directory-domein:

  1. Gebruik realmd om uw hostcomputer toe te voegen aan uw Active Directory-domein. U moet eerst de realmd- en Kerberos-clientpakketten installeren op de SQL Server-hostcomputer met behulp van pakketbeheer van uw Linux-distributie:

    RHEL:

    sudo yum install realmd krb5-workstation
    

  1. Als tijdens de installatie van het Kerberos-clientpakket om een realmnaam wordt gevraagd, voert u uw domeinnaam in hoofdletters in.

  2. Nadat u hebt bevestigd dat uw DNS juist is geconfigureerd, voegt u het domein toe door de volgende opdracht uit te voeren. U moet verifiëren met een Active Directory-account met voldoende bevoegdheden in Active Directory om een nieuwe computer aan het domein toe te voegen. Met deze opdracht maakt u een nieuw computeraccount in Active Directory, maakt u het /etc/krb5.keytab hostsleuteltabbestand, configureert u het domein in /etc/sssd/sssd.confen werkt u /etc/krb5.confbij.

    Vanwege een probleem met realmd, stelt u eerst de hostnaam van de machine in op de FQDN in plaats van op de computernaam. Anders worden realmd mogelijk niet alle vereiste SPN's voor de computer gemaakt en worden DNS-vermeldingen niet automatisch bijgewerkt, zelfs niet als uw domeincontroller dynamische DNS-updates ondersteunt.

    sudo hostname <old hostname>.contoso.com
    

    Nadat u deze opdracht hebt uitgevoerd, moet het /etc/hostname bestand <old hostname>.contoso.combevatten.

    sudo realm join contoso.com -U 'user@CONTOSO.COM' -v
    

    Je zou het bericht Successfully enrolled machine in realmmoeten zien.

    De volgende tabel bevat enkele foutberichten die u kunt ontvangen en suggesties voor het oplossen ervan:

    Foutmelding Aanbeveling
    Necessary packages are not installed Installeer deze pakketten met behulp van pakketbeheer van uw Linux-distributie voordat u de realm join-opdracht opnieuw uitvoert.
    Insufficient permissions to join the domain Neem contact op met een domeinbeheerder die over voldoende machtigingen beschikt om Linux-machines aan uw domein toe te voegen.
    KDC reply did not match expectations Mogelijk hebt u niet de juiste realmnaam voor de gebruiker opgegeven. Namen van realms zijn hoofdlettergevoelig, meestal in hoofdletters, en kunnen worden geïdentificeerd met de opdracht realm ontdekken contoso.com.

    SQL Server maakt gebruik van SSSD en NSS voor het toewijzen van gebruikersaccounts en -groepen aan beveiligings-id's (SID's). SSSD moet worden geconfigureerd en uitgevoerd voor SQL Server om Active Directory-aanmeldingen te kunnen maken. realmd doet dit meestal automatisch als onderdeel van het toevoegen van het domein, maar in sommige gevallen moet u dit afzonderlijk doen.

    Zie voor meer informatie hoe u SSSD handmatig configurerenen NSS configureren voor gebruik met SSSD-.

  3. Controleer of u nu informatie over een gebruiker uit het domein kunt verzamelen en of u een Kerberos-ticket als die gebruiker kunt verkrijgen. In het volgende voorbeeld wordt id, kinit-en klist- opdrachten hiervoor gebruikt.

    id user@contoso.com
    
    uid=1348601103(user@contoso.com) gid=1348600513(domain group@contoso.com) groups=1348600513(domain group@contoso.com)
    
    kinit user@CONTOSO.COM
    
    Password for user@CONTOSO.COM:
    
    klist
    Ticket cache: FILE:/tmp/krb5cc_1000
    Default principal: user@CONTOSO.COM
    

    Als id user\@contoso.com retourneert, No such user, moet u ervoor zorgen dat de SSSD-service is gestart door de opdracht sudo systemctl status sssduit te voeren. Als de service wordt uitgevoerd en u de fout nog steeds ziet, probeer dan uitgebreide logboekregistratie voor SSSD aan te zetten. Zie de Red Hat-documentatie voor Probleemoplossing SSSDvoor meer informatie.

    Als kinit user\@CONTOSO.COM retourneert, KDC reply didn't match expectations while getting initial credentials, moet u ervoor zorgen dat u het realm in hoofdletters hebt opgegeven.

Zie de Red Hat-documentatie voor Identity Domains detecteren en samenvoegenvoor meer informatie.

Optie 2: Hulpprogramma's van externe OpenLDAP-providers gebruiken

U kunt hulpprogramma's van derden gebruiken, zoals PBIS-, VASof Centrify-. Dit artikel bevat geen informatie over de stappen voor elk afzonderlijk hulpprogramma. U moet eerst een van deze hulpprogramma's gebruiken om de Linux-host voor SQL Server aan het domein toe te voegen voordat u doorgaat.

SQL Server maakt geen gebruik van de code of bibliotheek van derden voor active Directory-gerelateerde query's. SQL Server voert altijd query's uit op Active Directory met behulp van OpenLDAP-bibliotheekaanroepen rechtstreeks in deze installatie. De externe integrators worden alleen gebruikt om de Linux-host aan het Active Directory-domein toe te voegen en SQL Server heeft geen directe communicatie met deze hulpprogramma's.

Belangrijk

Zie de aanbevelingen voor het gebruik van de optie mssql-conf network.disablesssd configuratie in het gedeelte Aanvullende configuratieopties van het artikel Active Directory-verificatie gebruiken met SQL Server op Linux.

Controleer of uw /etc/krb5.conf juist is geconfigureerd. Voor de meeste externe Active Directory-providers wordt deze configuratie automatisch uitgevoerd. Controleer echter /etc/krb5.conf op de volgende waarden om toekomstige problemen te voorkomen:

sudo vi /etc/krb5.conf

De inhoud moet er ongeveer uitzien als in het volgende voorbeeld:

[libdefaults]
default_realm = CONTOSO.COM

[realms]
CONTOSO.COM = {
}

[domain_realm]
contoso.com = CONTOSO.COM
.contoso.com = CONTOSO.COM

Controleer of de omgekeerde DNS juist is geconfigureerd

Met de volgende opdracht moet de FQDN (Fully Qualified Domain Name) worden geretourneerd van de host waarop SQL Server wordt uitgevoerd. Een voorbeeld is SqlHost.contoso.com.

host <IP address of SQL Server host>

De uitvoer van deze opdracht moet vergelijkbaar zijn met <reversed IP address>.in-addr.arpa domain name pointer SqlHost.contoso.com. Als deze opdracht de FQDN van uw host niet retourneert of als de FQDN onjuist is, voegt u een omgekeerde DNS-vermelding toe voor uw SQL Server op Linux-host aan uw DNS-server.

Volgende stap

In dit artikel hebt u besproken hoe u een SQL Server configureert op een Linux-hostcomputer met Active Directory-verificatie. Volg deze instructies om het configureren van SQL Server in Linux te voltooien om Active Directory-accounts te ondersteunen.