Une réplique est un clone d'un serveur FreeIPA spécifique. Le serveur et la réplique partagent les mêmes informations internes sur les utilisateurs, les machines, les certificats et les politiques configurées. Ces données sont copiées du serveur vers le réplica dans un processus appelé réplication . Les deux instances de Directory Server utilisées par un serveur FreeIPA — l'instance de Directory Server utilisée par le serveur FreeIPA comme magasin de données et l'instance de Directory Server utilisée par le Dogtag Certificate System pour stocker les informations de certificat — sont répliquées sur les instances de Directory Server correspondantes utilisées par la réplique FreeIPA.
La réplication FreeIPA élimine le point de défaillance unique. Lorsque vous avez configuré une réplique FreeIPA, les clients FreeIPA peuvent continuer à s'authentifier même si un serveur est en panne.
Vous devriez avoir FreeIPA Server déjà installé et pleinement fonctionnel, avec des comptes de test. Pour l'installation de FreeIPA Server, consultez ce guide :Comment installer et configurer FreeIPA sur Rocky Linux/Centos 8
Une fois que vous avez installé et configuré le serveur FreeIPA, vous pouvez démarrer FreeIPA Replication.
Contenu associé
- Comment gérer les utilisateurs et les groupes dans FreeIPA Server
- Comment installer le client FreeIPA sur Fedora 35
- Comment installer le client FreeIPA sur Rocky Linux/Alma Linux/CentOS 8
- Comment installer et configurer FreeIPA sur Rocky Linux/Centos
- Comment installer et configurer le client FreeIPA sur Ubuntu 20.04
Prérequis
Pour suivre, assurez-vous d'avoir :
- Un serveur FreeIPA à répliquer. Consultez le guide sur la configuration ici.
- Un serveur Rocky Linux/Alma Linux/Centos 8 mis à jour
- Accès Sudo dans le serveur
Ma configuration
J'ai un serveur FreeIPA principal avec le nom d'hôte ipa.citizix.com
et IP 10.2.40.149
et le réplica sera configuré sur ipa-replica.citizix.com
avec IP 10.2.40.72
.
Maître API :
Hostname: ipa.citizix.com
IP: 10.2.40.149
Réplique IPA
Hostname: ipa-replica.citizix.com
IP: 10.2.40.72
Table des matières
- Mettre à jour le système
- Configurer le fichier des hôtes locaux DNS
- Définir le nom d'hôte du réplica
- Configurer le fuseau horaire correct du serveur de réplication
- Désactiver SELinux
- Installer et configurer le client FreeIPA
- Configurer le serveur FreeIPA
- Configurer sur l'hôte du serveur de réplication
1. Mettre à jour le système
Utilisez cette commande pour vous assurer que les packages de l'hôte sont à jour :
sudo dnf -y update
2. Configurer le fichier des hôtes locaux DNS
Sur les deux serveurs, assurez-vous d'avoir des noms d'hôte pour chaque serveur configuré. Ceci est important si vous n'avez pas de service DNS actif dans votre infrastructure.
Ouvrez le fichier hosts avec votre éditeur de texte, j'utilise vim :
sudo vim /etc/hosts
Ajoutez l'adresse IP et les noms d'hôte pour les serveurs FreeIPA et les serveurs de réplique FreeIPA. Mettre à jour pour refléter vos noms d'hôte :
10.2.40.149 ipa.citizix.com ipa
10.2.40.72 ipa-replica.citizix.com ipa-replica
3. Définir le nom d'hôte du réplica
Si vous n'avez pas configuré le nom d'hôte sur votre réplique, utilisez cette commande :
sudo hostnamectl set-hostname ipa-replica.citizix.com
Confirmez avec ceci :
$ hostnamectl
Static hostname: ipa-replica.citizix.com
Icon name: computer-vm
Chassis: vm
Machine ID: ee3563997878469ebfcc3f721aec3c66
Boot ID: 09df51e3153943698ccd5b902b5aa89e
Virtualization: kvm
Operating System: Rocky Linux 8.4 (Green Obsidian)
CPE OS Name: cpe:/o:rocky:rocky:8.4:GA
Kernel: Linux 4.18.0-305.3.1.el8_4.x86_64
Architecture: x86-64
4. Configurer le fuseau horaire correct du serveur de réplication
Vous devez également avoir un fuseau horaire correct. Le serveur FreeIPA exécutera également le service NTP et le fuseau horaire correct vous assurera d'avoir l'heure correcte sur le serveur.
Utilisez cette commande pour définir le fuseau horaire. Mettez à jour votre fuseau horaire :
sudo timedatectl set-timezone Africa/Nairobi
Confirmez qu'il est bien configuré :
$ timedatectl
Local time: Fri 2021-11-12 20:24:33 EAT
Universal time: Fri 2021-11-12 17:24:33 UTC
RTC time: Fri 2021-11-12 17:24:31
Time zone: Africa/Nairobi (EAT, +0300)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
5. Désactiver SELinux
Si vous ne souhaitez pas configurer SELinux, nous pouvons le mettre en mode permissif.
Ouvrez le fichier de configuration SELinux à l'aide de votre éditeur de texte préféré
sudo vim /etc/selinux/config
Localisez la ligne suivante :
SELINUX=enforcing
Remplacez la valeur par permisive
:
SELINUX=permisive
Exécutez également la commande suivante pour définir le mode permissif sans redémarrage :
sudo setenforce 0
6. Installer et configurer le client FreeIPA
Installez les packages du client FreeIPA à l'aide de cette commande.
sudo dnf module -y install idm:DL1/client
configurer le client en spécifiant le serveur FreeIPA et le nom de domaine
sudo ipa-client-install --server=ipa.citizix.com --domain ipa.citizix.com
Pour plus d'informations sur la configuration de la caisse du client, consultez ce guide ici.
7. Configurer le serveur FreeIPA
Sur FreeIPA Master Host, ajoutez un hôte de réplication au groupe :ipaservers
. L'hôte Paster doit résoudre la résolution d'adresse sur l'hôte de réplication.
Confirmer l'accessibilité
$ ping ipa-replica.citizix.com
PING ipa-replica.citizix.com (10.2.40.72) 56(84) bytes of data.
64 bytes from ipa-replica.citizix.com (10.2.40.72): icmp_seq=1 ttl=64 time=1.42 ms
64 bytes from ipa-replica.citizix.com (10.2.40.72): icmp_seq=2 ttl=64 time=0.279 ms
^C
--- ipa-replica.citizix.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.279/0.849/1.419/0.570 ms
Cette opération nécessite un accès administrateur. Tout d'abord, obtenez un ticket Kerberos.
kinit admin
Ensuite, vous pouvez maintenant ajouter l'hôte aux ipaservers
groupe d'accueil :
ipa hostgroup-add-member ipaservers --hosts ipa-replica.citizix.com
Ceci est la sortie sur mon serveur
$ ipa hostgroup-add-member ipaservers --hosts ipa-replica.citizix.com
Host-group: ipaservers
Description: IPA server hosts
Member hosts: ipa.citizix.com, ipa-replica.citizix.com
-------------------------
Number of members added 1
-------------------------
Vous pouvez confirmer que le réplica a été ajouté dans l'interface utilisateur Web FreeIPA.
Si vous avez un pare-feu installé et activé, ajoutez le service de réplication :
firewall-cmd --add-service=freeipa-replication
firewall-cmd --runtime-to-permanent
8. Configurer sur l'hôte du serveur de réplication
Avec tout mis en place, nous ne pouvons pas configurer la réplication. Installez d'abord le package FreeIPA Server.
sudo dnf module install -y idm:DL1/server
Si vous avez pare-feu installé et que pare-feu est en cours d'exécution, autorisez les services :
firewall-cmd --add-service={freeipa-ldap,freeipa-ldaps,dns,ntp,freeipa-replication}
firewall-cmd --runtime-to-permanent
Configurez maintenant la réplication à l'aide de cette commande :
sudo ipa-replica-install
Ceci est la sortie sur mon serveur
$ sudo ipa-replica-install
Run connection check to master
Connection check OK
Disabled p11-kit-proxy
Configuring directory server (dirsrv). Estimated time: 30 seconds
[1/38]: creating directory server instance
[2/38]: tune ldbm plugin
[3/38]: adding default schema
[4/38]: enabling memberof plugin
[5/38]: enabling winsync plugin
[6/38]: configure password logging
[7/38]: configuring replication version plugin
[8/38]: enabling IPA enrollment plugin
[9/38]: configuring uniqueness plugin
[10/38]: configuring uuid plugin
[11/38]: configuring modrdn plugin
[12/38]: configuring DNS plugin
[13/38]: enabling entryUSN plugin
[14/38]: configuring lockout plugin
[15/38]: configuring topology plugin
[16/38]: creating indices
[17/38]: enabling referential integrity plugin
[18/38]: configuring certmap.conf
[19/38]: configure new location for managed entries
[20/38]: configure dirsrv ccache and keytab
[21/38]: enabling SASL mapping fallback
[22/38]: restarting directory server
[23/38]: creating DS keytab
[24/38]: ignore time skew for initial replication
[25/38]: setting up initial replication
Starting replication, please wait until this has completed.
Update in progress, 3 seconds elapsed
Update succeeded
[26/38]: prevent time skew after initial replication
[27/38]: adding sasl mappings to the directory
[28/38]: updating schema
[29/38]: setting Auto Member configuration
[30/38]: enabling S4U2Proxy delegation
[31/38]: initializing group membership
[32/38]: adding master entry
[33/38]: initializing domain level
[34/38]: configuring Posix uid/gid generation
[35/38]: adding replication acis
[36/38]: activating sidgen plugin
[37/38]: activating extdom plugin
[38/38]: configuring directory to start on boot
Done configuring directory server (dirsrv).
Configuring Kerberos KDC (krb5kdc)
[1/5]: configuring KDC
[2/5]: adding the password extension to the directory
[3/5]: creating anonymous principal
[4/5]: starting the KDC
[5/5]: configuring KDC to start on boot
Done configuring Kerberos KDC (krb5kdc).
Configuring kadmin
[1/2]: starting kadmin
[2/2]: configuring kadmin to start on boot
Done configuring kadmin.
Configuring directory server (dirsrv)
[1/3]: configuring TLS for DS instance
[2/3]: importing CA certificates from LDAP
[3/3]: restarting directory server
Done configuring directory server (dirsrv).
Configuring the web interface (httpd)
[1/21]: stopping httpd
[2/21]: backing up ssl.conf
[3/21]: disabling nss.conf
[4/21]: configuring mod_ssl certificate paths
[5/21]: setting mod_ssl protocol list
[6/21]: configuring mod_ssl log directory
[7/21]: disabling mod_ssl OCSP
[8/21]: adding URL rewriting rules
[9/21]: configuring httpd
Nothing to do for configure_httpd_wsgi_conf
[10/21]: setting up httpd keytab
[11/21]: configuring Gssproxy
[12/21]: setting up ssl
[13/21]: configure certmonger for renewals
[14/21]: publish CA cert
[15/21]: clean up any existing httpd ccaches
[16/21]: configuring SELinux for httpd
[17/21]: create KDC proxy config
[18/21]: enable KDC proxy
[19/21]: starting httpd
[20/21]: configuring httpd to start on boot
[21/21]: enabling oddjobd
Done configuring the web interface (httpd).
Configuring ipa-otpd
[1/2]: starting ipa-otpd
[2/2]: configuring ipa-otpd to start on boot
Done configuring ipa-otpd.
Custodia uses 'ipa.citizix.com' as master peer.
Configuring ipa-custodia
[1/4]: Generating ipa-custodia config file
[2/4]: Generating ipa-custodia keys
[3/4]: starting ipa-custodia
[4/4]: configuring ipa-custodia to start on boot
Done configuring ipa-custodia.
Configuring certificate server (pki-tomcatd)
[1/2]: configure certmonger for renewals
[2/2]: Importing RA key
Done configuring certificate server (pki-tomcatd).
Configuring Kerberos KDC (krb5kdc)
[1/1]: installing X509 Certificate for PKINIT
Done configuring Kerberos KDC (krb5kdc).
Applying LDAP updates
Upgrading IPA:. Estimated time: 1 minute 30 seconds
[1/10]: stopping directory server
[2/10]: saving configuration
[3/10]: disabling listeners
[4/10]: enabling DS global lock
[5/10]: disabling Schema Compat
[6/10]: starting directory server
[7/10]: upgrading server
[8/10]: stopping directory server
[9/10]: restoring configuration
[10/10]: starting directory server
Done.
Finalize replication settings
Restarting the KDC
WARNING: The CA service is only installed on one server (ipa.citizix.com).
It is strongly recommended to install it on another server.
Run ipa-ca-install(1) on another master to accomplish this.
The ipa-replica-install command was successful
Après avoir terminé la configuration de la réplication normalement, il est possible de trouver des comptes d'utilisateurs existants ou d'ajouter de nouveaux comptes sur l'hôte de réplication.
Tout d'abord, obtenez le ticket Kerberos :
$ kinit admin
Password for [email protected]:
Recherchez ensuite les utilisateurs :
$ ipa user-find
---------------
3 users matched
---------------
User login: admin
Last name: Administrator
Home directory: /home/admin
Login shell: /bin/bash
Principal alias: [email protected], [email protected]
UID: 1063800000
GID: 1063800000
Account disabled: False
User login: etowett
First name: Eutychus
Last name: Towett
Home directory: /home/etowett
Login shell: /bin/bash
Principal name: [email protected]
Principal alias: [email protected]
Email address: [email protected]
UID: 1063800001
GID: 1063800001
Account disabled: False
User login: kip
First name: Kipkoech
Last name: Towett
Home directory: /home/kip
Login shell: /bin/bash
Principal name: [email protected]
Principal alias: [email protected]
Email address: [email protected]
UID: 1063800003
GID: 1063800003
Account disabled: False
----------------------------
Number of entries returned 3
----------------------------
9. Suppression du réplica FreeIPA
Pour supprimer FreeIPA, commencez par le désinstaller sur le serveur en utilisant :
# ipa-server-install --uninstall
Supprimez ensuite le serveur du groupe ipaservers :
# ipa-replica-manage del ipa-replica.citizix.com --force
# ipa hostgroup-remove-member ipaservers --hosts ipa-replica.citizix.com
Nous avons réussi à gérer une réplique FreeIPA dans ce guide.