FreeIPA – налаштування реплікації

Опис

В попередній статті FreeIPA – огляд та встановлення на Centos / Fedora ми підготували  та розгорнули freeipa сервер на хості ipa-1. Сьогодні ж підготуємо хост ipa-2 та налаштуємо реплікацію між хостами для відмовостійкості.

Налаштування

налаштування DNS / hostname

Називаємо наш сервер ipa-2.example.com:

hostnamectl set-hostname "ipa-2.example.com"

додаємо запис в файл /etc/hosts як нового сервера  так і серверу ipa-1:

echo "184.***.*.23 ipa-1.example.com" >> /etc/hosts
echo "52.***.*.215 ipa-2.example.com" >> /etc/hosts

на сервер ipa-1 додаємо запис з данними сервера ipa-2:

echo "52.***.*.215 ipa-2.example.com" >> /etc/hosts

Повинно вийти так, щоб в /etc/hosts на обох серверах ipa були вказані записи двох серверів!

встановлення ipa-client

Тепер на сервері ipa-2 який ми хочемо реплікувати з головним сервером встановлюємо ipa-client

[[email protected] ~]# yum install ipa-client -y

після встановлення налаштовуємо, скориставшись наступною командою:

[[email protected] ~]# ipa-client-install --hostname=`hostname -f` \
--mkhomedir \
--server=ipa-1.example.com \
--domain example.com \
--realm EXAMPLE.COM

в полі “Proceed with fixed values and no DNS discovery?” вводимо yes та тиснемо Enter:

Autodiscovery of servers for failover cannot work with this configuration.
If you proceed with the installation, services will be configured to always access the discovered server for all operations and will not fail over to other servers in case of failure.
Proceed with fixed values and no DNS discovery? [no]: yes

далі в полі “Do you want to configure chrony with NTP server or pool address?” натискаємо Enter а в “Continue to configure the system with these values? [no]:” вводимо yes  та тиснемо Enter:

Do you want to configure chrony with NTP server or pool address? [no]: 
Client hostname: ipa-2.example.com
Realm: EXAMPLE.COM
DNS Domain: example.com
IPA Server: ipa-1.example.com
BaseDN: dc=example, dc=com

Continue to configure the system with these values? [no]: yes

спостерігаємо процес налаштування клієнта:

Synchronizing time
No SRV records of NTP servers found and no NTP server or pool address was provided.
Using default chrony configuration.
Attempting to sync time with chronyc.
Time synchronization was successful.
User authorized to enroll computers: admin
Password for [email protected]: 
Successfully retrieved CA cert
    Subject:     CN=Certificate Authority,O=EXAMPLE.COM
    Issuer:      CN=Certificate Authority,O=EXAMOLE.COM
    Valid From:  2023-01-02 14:40:36
    Valid Until: 2043-01-02 14:40:36
    Valid Until: 2043-01-02 14:40:36

Enrolled in IPA realm EXAMPLE.COM
Created /etc/ipa/default.conf
Configured sudoers in /etc/authselect/user-nsswitch.conf
Configured /etc/sssd/sssd.conf
Configured /etc/krb5.conf for IPA realm EXAMPLE.COM
Systemwide CA database updated.
Adding SSH public key from /etc/ssh/ssh_host_rsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_ecdsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_dsa_key.pub
Adding SSH public key from /etc/ssh/ssh_host_ed25519_key.pub
Adding SSH public key from /etc/ssh/ssh_host_ed25519_key.pub
Could not update DNS SSHFP records.
SSSD enabled
Configured /etc/openldap/ldap.conf
Configured /etc/ssh/ssh_config
Configured /etc/ssh/sshd_config.d/04-ipa.conf
Configuring example.com NIS domain.
Client configuration complete.
The ipa-client-install command was successful

перед налаштуванням реплікаїї потрібно на головному сервері ipa-1 додати в хост групу “ipaservers” репліка сервер ipa-2, скористаємось наступною командою:

[[email protected] ~]# ipa hostgroup-add-member ipaservers --hosts ipa-2.example.com
  Host-group: ipaservers
  Description: IPA server hosts
  Member hosts: ipa-1.example.com, ipa-2.example.com
-------------------------
Number of members added 1
-------------------------

переглянемо в web доданий нами хост, для цього переходимо в  Identity > Groups > Host Groups > ipaservers:


доданий хост присутнів в групі,  переходимо до налаштування реплікації.

налаштування реплікації

На сервері ipa-2 встанолюємо ipa-server:

[[email protected] ~]# yum install ipa-server -y

після встановлення запускаємо команду ipa-replica-install:

[[email protected] ~]# ipa-replica-install 
Invalid IP address fe80::888:bfff:fec1:bb22 for ipa-2.example.com: cannot use link-local IP address fe80::888:bfff:fec1:bb22
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
Validate installation settings ...
Create file system structures ...
Perform SELinux labeling ...
.....
.....
WARNING: The CA service is only installed on one server (ipa-1.example.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

бачимо що є повідомлення “WARNING: The CA service is only installed on one server (ipa-1.example.com)”,  де нам пропонують встановити “СА service” на сервер реплікації, що ж, встановлюємо:

[[email protected] ~]# ipa-ca-install
Directory Manager (existing master) password:

Run connection check to master
Connection check OK
Configuring certificate server (pki-tomcatd). Estimated time: 3 minutes
  [1/27]: creating certificate server db
  [2/27]: setting up initial replication
Starting replication, please wait until this has completed.
Update in progress, 6 seconds elapsed
Update succeeded

  [3/27]: creating ACIs for admin
  [4/27]: creating installation admin user
  [5/27]: configuring certificate server instance
  [6/27]: stopping certificate server instance to update CS.cfg
  [7/27]: backing up CS.cfg
  [8/27]: Add ipa-pki-wait-running
  [9/27]: secure AJP connector
  [10/27]: reindex attributes
  [11/27]: exporting Dogtag certificate store pin
  [12/27]: disabling nonces
  [13/27]: set up CRL publishing
  [14/27]: enable PKIX certificate path discovery and validation
  [15/27]: authorizing RA to modify profiles
  [16/27]: authorizing RA to manage lightweight CAs
  [17/27]: Ensure lightweight CAs container exists
  [18/27]: destroying installation admin user
  [19/27]: starting certificate server instance
  [20/27]: Finalize replication settings
  [21/27]: configure certificate renewals
  [22/27]: Configure HTTP to proxy connections
  [23/27]: updating IPA configuration
  [24/27]: enabling CA instance
  [25/27]: importing IPA certificate profiles
  [26/27]: configuring certmonger renewal for lightweight CAs
  [27/27]: deploying ACME service
Done configuring certificate server (pki-tomcatd).

отримаємо квиток Kerberos скориставшись командою  kinit <USERNAME>:

[ro[email protected] ~]# kinit admin
Password for [email protected]:

створимо користувача для перевірки реплікації:

[[email protected] ~]# ipa user-add test-user --first=User --last=Test [email protected] --password
Password:
Enter Password again to verify:
----------------------
Added user "test-user"
----------------------
  User login: test-user
  First name: User
  Last name: Test
  Full name: User Test
  Display name: User Test
  Initials: UT
  Home directory: /home/test-user
  GECOS: User Test
  Login shell: /bin/sh
  Principal name: [email protected]
  Principal alias: [email protected]
  User password expiration: 20230112102519Z
  Email address: [email protected]
  UID: 436300500
  GID: 436300500
  Password: True
  Member of groups: ipausers
  Kerberos keys available: True

переглянемо наявність користувача на сервері ipa-2:

і на сервері ipa-1:

Додатково можемо переглянути топологію реплікації, для цього потрібно перейти в IPA-SERVER > Topology > Topology Graph:

Налаштування завершено. 

Далі залишається створити загальний запис на фронті (ALB / NGINX) або безпосередньо на Доменному реєстраторі (Route53) для використання спільного посилання з балансуванням між двома серверами, дане посилання  потрібно в подальшому використовувати в інтеграціях.

Click to rate this post!
[Total: 0 Average: 0]