FreeIPA/Настройка репликации: различия между версиями
Нет описания правки |
|||
Строка 85: | Строка 85: | ||
The ipa-replica-install command was successful</source> | The ipa-replica-install command was successful</source> | ||
Добавить в DNS второй NTP-сервер: | Добавить в DNS второй NTP-сервер: | ||
<source lang="text" highlight="1"># ipa dnsrecord-add example.test _ntp._udp --srv-priority=0 --srv-weight=100 --srv-port=123 --srv-target=ipabackup.example.test | <source lang="text" highlight="1"># ipa dnsrecord-add example.test _ntp._udp --srv-priority=0 --srv-weight=100 --srv-port=123 --srv-target=ipabackup.example.test</source> | ||
Настроить репликацию DNS-зон: | Настроить репликацию DNS-зон: |
Версия от 10:09, 11 ноября 2022
Подготовка системы для установки реплики
Установка реплики на существующем клиенте FreeIPA
Создать обратный адрес для реплики на DNS-сервере основного сервера. Для этого в веб-интерфейсе FreeIPA необходимо перейти в «Сетевые службы»→«DNS»→«Зоны DNS», выбрать в таблице запись домена (например, example.test.), в открывшемся списке открыть запись реплики (например, ipabackup), нажать на IP-адрес в поле A записи и в открывшемся окне на ссылку «Создать запись DNS»:
При установке реплики на существующем клиенте FreeIPA можно выбрать один из двух способов, чтобы авторизовать установку.
Способ 1. Включить узел в группу ipaservers:
- На любом узле FreeIPA получить билет Kerberos:
$ kinit admin
- Добавить клиентскую машину в группу узлов ipaservers:
$ ipa hostgroup-add-member ipaservers --hosts ipabackup.example.test Группа узлов: ipaservers Описание: IPA server hosts Узлы-участники: ipa.example.test, ipabackup.example.test ----------------------------------- Количество добавленных участников 1 -----------------------------------
Способ 2. Использовать учетные данные привилегированного пользователя:
- пароль администратора FreeIPA будет запрошен в интерактивном режиме после запуска утилиты ipa-replica-install (поведение по умолчанию);
- получить билет Kerberos администратора FreeIPA (по умолчанию пользователь admin) непосредственно перед запуском утилиты ipa-replica-install.
Установка реплики в системе, не зарегистрированой в домене FreeIPA
Установить необходимые пакеты:
# apt-get install freeipa-client freeipa-server-dns
При установке реплики в системе, которая еще не зарегистрирована в домене FreeIPA, утилита ipa-replica-install сначала регистрирует систему в качестве клиента, а затем устанавливает компоненты реплики. Для этого сценария также можно выбрать один из двух способов, чтобы авторизовать установку реплики.
Способ 1. Использовать случайный пароль, сгенерированный на сервере FreeIPA:
- На любом сервере FreeIPA получить билет Kerberos:
$ kinit admin
- Добавить внешнюю систему в качестве узла FreeIPA (сгенерированный случайный пароль будет использоваться для последующей установки реплики):
$ ipa host-add hostb.example.test --random --ip-address=192.168.0.145 ---------------------------------- Добавлен узел "hostb.example.test" ---------------------------------- Имя узла: hostb.example.test Случайный пароль: 2AaT0Ix8itDsYugdDGoRtBt Пароль: True Таблица ключей: False Managed by: hostb.example.test
- Добавить систему в группу узлов ipaservers:
$ ipa hostgroup-add-member ipaservers --hosts hostb.example.test Группа узлов: ipaservers Описание: IPA server hosts Узлы-участники: ipa.example.test, ipabackup.example.test, hostb.example.test ----------------------------------- Количество добавленных участников 1 -----------------------------------
Чтобы указать одноразовый случайный пароль, необходимо использовать параметр --password. Т.к. пароль часто содержит специальные символы, следует заключить его в одинарные кавычки.
Способ 2. Использовать учетные данные привилегированного пользователя. Необходимо добавить параметры --principal admin и --admin-password password в команду ipa-replica-install непосредственно во время установки реплики.
Установка реплики
С интегрированными DNS и CA
Настройка репликации LDAP-каталога:
# ipa-replica-install
….
Done.
Finalize replication settings
Restarting the KDC
WARNING: The CA service is only installed on one server (ipa.example.test).
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
Добавить в DNS второй NTP-сервер:
# ipa dnsrecord-add example.test _ntp._udp --srv-priority=0 --srv-weight=100 --srv-port=123 --srv-target=ipabackup.example.test
Настроить репликацию DNS-зон:
# ipa-dns-install
Настроить репликацию CA:
# ipa-ca-install
С интегрированным DNS и без CA
Здесь предполагается, что первый сервер был установлен в режиме CA-less (см. Установка сервера в режиме CA-less). В этом случае можно предоставить необходимые сертификаты вручную.
На сервере, где создавались сертификаты для сервера:
- Создать noise файл, заполненный случайными числами:
# head -c20 /dev/random > ~/test_ca/noise.txt
- Создать запрос на сертификат (в CN необходимо указать имя хоста будущей реплики, на запрос «Enter value for the key identifier fields», следует ввести вывод команды echo $SKID):
# SKID="0x`openssl rand -hex 20`" # echo $SKID 0xa30f48abf89afae77e481c712d234ff0e312d44e # certutil -d ~/test_ca -R -s CN=ipabackup.example.test,O=IPA -o /tmp/replicacert.req -k rsa -g 2048 -z ~/test_ca/noise.txt -f ~/test_ca/password.txt -a --extSKID Generating key. This may take a few moments... Adding Subject Key ID extension. Enter value for the key identifier fields,enter to omit: 0xa30f48abf89afae77e481c712d234ff0e312d44e Is this a critical extension [y/N]? n
- Подписать запрос на сертификат:
# export CERT_SERIAL=$(($CERT_SERIAL + 1)) #:# certutil -d ~/test_ca -C -c "CA" -i /tmp/replicacert.req -o /tmp/replicacert.pem -m $CERT_SERIAL -v 120 -f ~/test_ca/password.txt -1 -5 -a
- В ответ на запросы команды дать следующие ответы:
2 - Key encipherment 9 - done Is this a critical extension [y/N]? n 1 - SSL Server 9 - done Is this a critical extension [y/N]? n
- Импортировать полученный сертификат (на запрос команды, следует ввести пароль к закрытому ключу):
# certutil -d ~/test_ca -A -i /tmp/replicacert.pem -n Replica-Cert -a -t ,, Enter Password or Pin for "NSS Certificate DB":
- Экспортировать сертификат в PKCS#12:
# pk12util -o ~/test_ca/replicacert1.p12 -n Replica-Cert1 -d ~/test_ca -k ~/test_ca/password.txt -w ~/test_ca/password.txt pk12util: PKCS12 EXPORT SUCCESSFUL
- Скопировать сертификат в формате PKCS#12 на будущую реплику.
Настройка репликации LDAP-каталога:
# ipa-replica-install \
--dirsrv-cert-file ~/test_ca/replicacert.p12 \
--dirsrv-pin SECret.123 \
--http-cert-file ~/test_ca/replicacert.p12 \
--http-pin SECret.123 \
--no-pkinit
….
The ipa-replica-install command was successful
С интегрированными DNS и CA в системе, не зарегистрированой в домене FreeIPA
Пример, настройки репликации LDAP-каталога:
# ipa-replica-install --password='2AaT0Ix8itDsYugdDGoRtBt'
Configuring client side components
This program will set up IPA client.
Version 4.9.7
Discovery was successful!
Client hostname: hostb.example.test
Realm: EXAMPLE.TEST
DNS Domain: example.test
IPA Server: ipa.example.test
BaseDN: dc=example,dc=test
The ipa-client-install command was successful
The ipa-replica-install command was successful
Проверка реплики
После создания реплики можно проверить, реплицирует ли реплика данные должным образом:
- Создать пользователя на новой реплике:
$ ipa user-add test_user
- Убедиться, что пользователь виден на другой реплике:
$ ipa user-show test_user
После настройки репликации посмотреть топологию можно в веб-интерфейсе FreeIPA («IPA-сервер» → «Топология» → «Topology Graph»):
Отладочная информация
При установке реплики FreeIPA отладочная информация добавляется в следующие файлы журнала на реплике:
- /var/log/ipareplica-install.log
- /var/log/ipareplica-conncheck.log
- /var/log/ipaclient-install.log
- /var/log/httpd2/error_log
- var/log/dirsrv/slapd-INSTANCE-NAME/access
- /var/log/dirsrv/slapd-INSTANCE-NAME/errors
- /var/log/ipaserver-install.log
При установке реплики FreeIPA отладочная информация также добавляется в следующие файлы журнала на сервере FreeIPA:
- /var/log/httpd2/error_log
- var/log/dirsrv/slapd-INSTANCE-NAME/access
- /var/log/dirsrv/slapd-INSTANCE-NAME/errors
Удаление реплики
Администратор FreeIPA может удалить реплику FreeIPA из топологии. Дополнительные сведения см. в Удаление сервера FreeIPA.