Una réplica es un clon de un servidor FreeIPA específico. El servidor y la réplica comparten la misma información interna sobre usuarios, máquinas, certificados y políticas configuradas. Estos datos se copian del servidor a la réplica en un proceso llamado replicación . Las dos instancias de Directory Server utilizadas por un servidor FreeIPA (la instancia de Directory Server utilizada por el servidor FreeIPA como almacén de datos y la instancia de Directory Server utilizada por Dogtag Certificate System para almacenar información de certificados) se replican en las correspondientes instancias de Directory Server del consumidor utilizadas. por la réplica de FreeIPA.
La replicación FreeIPA elimina el punto único de falla. Cuando tiene una configuración de réplica de FreeIPA, los clientes de FreeIPA pueden continuar autenticándose incluso si un servidor está inactivo.
Debería tener FreeIPA Server ya instalado y en pleno funcionamiento, con cuentas de prueba. Para la instalación del servidor FreeIPA, consulte esta guía:Cómo instalar y configurar FreeIPA en Rocky Linux/Centos 8
Una vez que haya instalado y configurado el servidor FreeIPA, puede iniciar FreeIPA Replication.
Contenido relacionado
- Cómo administrar usuarios y grupos en FreeIPA Server
- Cómo instalar el cliente FreeIPA en Fedora 35
- Cómo instalar el cliente FreeIPA en Rocky Linux/Alma Linux/CentOS 8
- Cómo instalar y configurar FreeIPA en Rocky Linux/Centos
- Cómo instalar y configurar el cliente FreeIPA en Ubuntu 20.04
Requisitos
Para seguir, asegúrese de tener:
- Un servidor FreeIPA para replicar. Consulte la guía sobre cómo configurar aquí.
- Un servidor Rocky Linux/Alma Linux/Centos 8 actualizado
- Acceso a Sudo en el servidor
Mi configuración
Tengo un servidor FreeIPA primario con nombre de host ipa.citizix.com
e IP 10.2.40.149
y la réplica se configurará en ipa-replica.citizix.com
con IP 10.2.40.72
.
Maestro IPA:
Hostname: ipa.citizix.com
IP: 10.2.40.149
Réplica IPA
Hostname: ipa-replica.citizix.com
IP: 10.2.40.72
Tabla de contenido
- Actualizar el sistema
- Configurar el archivo de hosts locales de DNS
- Establecer nombre de host de réplica
- Configurar la zona horaria correcta del servidor de réplica
- Deshabilitar SELinux
- Instalar y configurar el cliente FreeIPA
- Configurar servidor FreeIPA
- Configurar en el host del servidor de replicación
1. Actualizar el sistema
Utilice este comando para asegurarse de que los paquetes de host estén actualizados:
sudo dnf -y update
2. Configurar el archivo de hosts locales de DNS
En ambos servidores, asegúrese de tener nombres de host para cada servidor configurado. Esto es importante si no tiene un servicio de DNS activo en su infraestructura.
Abra el archivo de hosts con su editor de texto, estoy usando vim:
sudo vim /etc/hosts
Agregue la IP y los nombres de host para los servidores FreeIPA y los servidores de réplica de FreeIPA. Actualice para reflejar sus nombres de host:
10.2.40.149 ipa.citizix.com ipa
10.2.40.72 ipa-replica.citizix.com ipa-replica
3. Establecer nombre de host de réplica
Si no ha configurado el nombre de host en su réplica, use este comando:
sudo hostnamectl set-hostname ipa-replica.citizix.com
Confirme con esto:
$ 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. Configurar la zona horaria correcta del servidor de réplica
Usted también necesita tener la zona horaria correcta. El servidor FreeIPA también ejecutará el servicio NTP y la zona horaria correcta garantizará que tenga la hora correcta en el servidor.
Utilice este comando para establecer la zona horaria. Actualice su zona horaria:
sudo timedatectl set-timezone Africa/Nairobi
Confirma que está bien configurado:
$ 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. Deshabilitar SELinux
Si no desea configurar SELinux, podemos ponerlo en modo permisivo.
Abra el archivo de configuración de SELinux usando su editor de texto favorito
sudo vim /etc/selinux/config
Localice la siguiente línea:
SELINUX=enforcing
Cambie el valor a permisive
:
SELINUX=permisive
Ejecute también el siguiente comando para establecer el modo permisivo sin reiniciar:
sudo setenforce 0
6. Instalar y configurar el cliente FreeIPA
Instale los paquetes de FreeIPA Client usando este comando.
sudo dnf module -y install idm:DL1/client
configurar el cliente especificando el servidor FreeIPA y el nombre de dominio
sudo ipa-client-install --server=ipa.citizix.com --domain ipa.citizix.com
Para obtener más información sobre cómo configurar el cliente, consulta esta guía aquí.
7. Configurar servidor FreeIPA
En FreeIPA Master Host, agregue un host de replicación al grupo:ipaservers
. El host de pegado debe resolver la resolución de direcciones en el host de réplica.
Confirmar accesibilidad
$ 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
Esta operación requiere acceso de administrador. Primero, obtenga un ticket de Kerberos.
kinit admin
Luego, ahora puede agregar el host a los ipaservers
grupo anfitrión:
ipa hostgroup-add-member ipaservers --hosts ipa-replica.citizix.com
Esta es la salida en mi servidor
$ 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
-------------------------
Puede confirmar que la réplica se ha agregado en la interfaz de usuario web de FreeIPA.
Si tiene un firewall instalado y habilitado, agregue el servicio de replicación:
firewall-cmd --add-service=freeipa-replication
firewall-cmd --runtime-to-permanent
8. Configurar en el host del servidor de replicación
Con todo configurado, no podemos configurar la replicación. Primero instale el paquete del servidor FreeIPA.
sudo dnf module install -y idm:DL1/server
Si tiene firewalld instalado y firewalld se está ejecutando, permita los servicios:
firewall-cmd --add-service={freeipa-ldap,freeipa-ldaps,dns,ntp,freeipa-replication}
firewall-cmd --runtime-to-permanent
Ahora configure la replicación usando este comando:
sudo ipa-replica-install
Esta es la salida en mi servidor
$ 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
Después de terminar de configurar la replicación normalmente, es posible encontrar cuentas de usuario existentes o agregar nuevas cuentas en el host de replicación.
Primero, obtenga el boleto de kerberos:
$ kinit admin
Password for [email protected]:
Luego busque usuarios:
$ 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. Eliminando la réplica de FreeIPA
Para eliminar FreeIPA, primero, desinstálelo en el servidor usando:
# ipa-server-install --uninstall
Luego elimine el servidor del grupo ipaservers:
# ipa-replica-manage del ipa-replica.citizix.com --force
# ipa hostgroup-remove-member ipaservers --hosts ipa-replica.citizix.com
Hemos administrado con éxito una réplica de FreeIPA en esta guía.