Установка и настройка сервера FreeIPA в Centos 7

FreeIPA Centos 7

FreeIPA — открытый проект для создания централизованной системы по управлению идентификацией пользователей, задания политик доступа и аудита для сетей на базе Linux

В программе FreeIPA для управления идентификацией серверов используются доменные имена. Так же FreeIPA можно использовать как панель управления NS-записями

Подготовительный этап, синхронизация с NTP-сервером

Для синхронизации времени рекомендуется использовать NTP
Остановим и выключим chrony, если он предустановлен

[user@srv-ipa-01 ~]$ sudo systemctl stop chronyd
[user@srv-ipa-01 ~]$ sudo systemctl disable chronyd

Установим NTP и настроим синхронизацию с нашим ntp-сервером

[user@srv-ipa-01 ~]$ sudo yum install ntpdate
[user@srv-ipa-01 ~]$ sudo nano /etc/ntp.conf
server 192.168.1.10

Смотрим расхождение во времени:

[user@srv-ipa-01 ~]$ sudo ntpdate -qu 192.168.1.10
server 192.168.1.10, stratum 3, offset -14.866896, delay 0.04178
11 Nov 09:46:42 ntpdate[19110]: step time server 192.168.1.10 offset -14.866896 sec

Останавливаем службу, синхронизируем время, запускаем службу

[user@srv-ipa-01 ~]$ sudo systemctl stop ntpd
[user@srv-ipa-01 ~]$ sudo ntpdate 192.168.1.10
[user@srv-ipa-01 ~]$ sudo systemctl start ntpd

Активируем NTP клиента, и смотрим статус

[user@srv-ipa-01 ~]$ sudo timedatectl set-ntp true
[user@srv-ipa-01 ~]$ sudo timedatectl status
      Local time: Mon 2019-11-11 09:49:10 MSK
  Universal time: Mon 2019-11-11 06:49:10 UTC
        RTC time: Mon 2019-11-11 06:49:10
       Time zone: Europe/Moscow (MSK, +0300)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

Можно еще раз проверить расхождение во времени:

[user@srv-ipa-01 ~]$ sudo ntpdate -qu 192.168.1.10
server 192.168.1.10, stratum 3, offset 0.003698, delay 0.04181
11 Nov 09:49:45 ntpdate[19143]: adjust time server 192.168.1.10 offset 0.003698 sec

Настройка доменного имени сервера и сети

Имя FreeIPA сервера должно быть полным (FQDN), установим его:

[user@srv-ipa-01 ~]$ sudo hostnamectl set-hostname srv-ipa-01.domain.local
[user@srv-ipa-01 ~]$ sudo hostnamectl status
   Static hostname: srv-ipa-01.domain.local
...

Пропишем адрес сервера FreeIPA в файле /etc/hosts
Если мы планируем добавлять реплицирующий FreeIPA сервер, то его имя и IP-адрес так же надо добавить

[user@srv-ipa-01 ~]$ sudo nano /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.11   srv-ipa-01.domain.local srv-ipa-01
192.168.1.12   srv-ipa-02.domain.local srv-ipa-02

Если в сети планируется использовать короткие имена машин, должна быть прописана корректная опция domain или search.

Если мы будем использовать FreeIPA-сервер как DNS, припишем в файле resolve.conf его ip-адрес (и ip-адрес реплицирующего, если планируется репликация)

[user@srv-ipa-01 ~]$ sudo nano /etc/resolv.conf 
search domain.local
# DNS FreeIPA
nameserver 192.168.1.11
nameserver 192.168.1.11
# Наши DNS
nameserver 192.168.1.1
nameserver 192.168.1.2

Отредактируем файл с настройками сетевого интерфейса.
Параметр PEERDNS=»no» — отвечает, чтобы файл resolv.conf не перезаписывался, после перезапуска службы Network

[user@srv-ipa-01 ~]$ sudo nano /etc/sysconfig/network-scripts/ifcfg-ens160
...
IPADDR="192.168.1.11"
PREFIX="24"
GATEWAY="192.168.1.1"
DNS1="192.168.1.1"
DNS2="192.168.1.2"
PEERDNS="no"
DOMAIN="domain.local"
...

Установка программного обеспечения

Устанавливаем необходимые пакеты

[user@srv-ipa-01 ~]$ sudo yum -y install bind bind-utils bind-dyndb-ldap ipa-server ipa-client ipa-server-dns

FreeIPA требует большого количества случайных данных для выполняемых им криптографических операций. Установим генератор случайных чисел rngd

[user@srv-ipa-01 ~]$ sudo yum install rng-tools
[user@srv-ipa-01 ~]$ sudo systemctl start rngd
[user@srv-ipa-01 ~]$ sudo systemctl enable rngd

Установка и настройка FreeIPA

Установим FreeIPA

[user@srv-ipa-01 ~]$ sudo ipa-server-install

При установки, можно включить опцию содания директорий пользователей

[user@srv-ipa-01 ~]$ ipa-server-install --mkhomedir

Если вы ее не указали, то эту опцию можно добавить после установки FreeIPA сервера командой:

[user@srv-ipa-01 ~]$ sudo authconfig --enablemkhomedir --update

Если мы не планируем использовать FreeIPA в качестве DNS, то на соответствующий вопрос отвечаем NO, и дальше устанавливаем параметры

Do you want to configure integrated DNS (BIND)? [no]: no

Server host name [srv-ipa-01.domain.local]: srv-ipa-01.domain.local
Please confirm the domain name [domain.local]: srv-ipa-01.domain.local
Please provide a realm name [SRV-IPA-01.DOMAIN.LOCAL]: SRV-IPA-01.DOMAIN.LOCAL
Directory Manager password:
IPA admin password:

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

Если мы планируем использовать FreeIPA в качестве DNS, то на соответствующий вопрос отвечаем YES, и дальше устанавливаем параметры

Do you want to configure integrated DNS (BIND)? [no]: yes

Server host name [srv-ipa-01.domain.local]: srv-ipa-01.domain.local
Please confirm the domain name [domain.local]: domain.local
Please provide a realm name [DOMAIN.LOCAL]: DOMAIN.LOCAL
Directory Manager password:
IPA admin password:

Далее пойдут вопросы по настройке DNS

Если мы не хотим перенаправлять DNS запросы с FreeIPA на другой сервер, в соответствующем вопросе пишем NO

Checking DNS domain domain.local., please wait ...
Do you want to configure DNS forwarders? [yes]: no
No DNS forwarders configured

Если мы хотим перенаправлять DNS запросы с FreeIPA на другой сервер, в соответствующем вопросе пишем YES, и далее оставляем DNS, которые предложит FreeIPA, либо прописываем другие

Checking DNS domain domain.local., please wait ...
Do you want to configure DNS forwarders? [yes]:
Following DNS servers are configured in /etc/resolv.conf: 192.168.1.11, 192.168.1.12
Do you want to configure these servers as DNS forwarders? [yes]:
All DNS servers from /etc/resolv.conf were added. You can enter additional addresses now:
Enter an IP address for a DNS forwarder, or press Enter to skip: 8.8.8.8
DNS forwarder 8.8.8.8 added. You may add another.
Enter an IP address for a DNS forwarder, or press Enter to skip: 8.8.4.4
DNS forwarder 8.8.4.4 added. You may add another.
Enter an IP address for a DNS forwarder, or press Enter to skip:
Checking DNS forwarders, please wait…

Разрешаем обратную зону

Do you want to search for missing reverse zones? [yes]:
Do you want to create reverse zone for IP 192.168.1.11 [yes]:
Please specify the reverse zone name [1.168.192.in-addr.arpa.]:
Using reverse zone(s) 1.168.192.in-addr.arpa.

Далее отобразятся наши данные для проверки

The IPA Master Server will be configured with:
Hostname:	srv-ipa-01.domain.local
IP address(es):	192.168.1.11
Domain name:	domain.local
Realm name: 	DOMAIN.LOCAL

BIND DNS server will be configured to serve IPA domain with:
Forwarders:	8.8.8.8, 8.8.4.4
Forward policy:	only
Reverse zone(s):  1.168.192.in-addr.arpa.
Continue to configure the system with these values? [no]: yes

Затем пойдет долгий процесс установки, и отобразятся данные для фаерволла, какие порты надо открыть

1. You must make sure these network ports are open:
TCP Ports:
* 80, 443: HTTP/HTTPS
* 389, 636: LDAP/LDAPS
* 88, 464: kerberos
* 53: bind
UDP Ports:
* 88, 464: kerberos
* 53: bind
* 123: ntp

Открываем эти порты

[user@srv-ipa-01 ~]$ sudo firewall-cmd --permanent --zone=public --add-service={ntp,http,https,ldap,ldaps,kerberos,kpasswd,dns}
[user@srv-ipa-01 ~]$ sudo firewall-cmd --permanent --zone=public --add-port=53/tcp
[user@srv-ipa-01 ~]$ sudo firewall-cmd --permanent --zone=public --add-port=53/udp
[user@srv-ipa-01 ~]$ sudo firewall-cmd --reload

Проверка

Получаем билет kerberos

[user@srv-ipa-01 ~]$ kinit admin
Password for admin@DOMAIN.LOCAL:

Проверим полученный билет

[user@srv-ipa-01 ~]$ klist
Ticket cache: KEYRING:persistent:1000:1000
Default principal: admin@DOMAIN.LOCAL

Valid starting       Expires              Service principal
11/05/2019 15:55:28  11/06/2019 15:55:20  krbtgt/DOMAIN.LOCAL@DOMAIN.LOCAL

Если на каком-нибудь этапе возникают ошибка, FreeIPA-сервер можно удалить, и попытаться установить заново

[user@srv-ipa-01 ~]$ sudo ipa-server-install --uninstall -U

Что бы зайти в вэб-интерфейс, надо прописать ip-адрес и доменное имя в файле hosts, и в браузере набрать доменное имя

Максим Макаров
У блога появился хостинг, его любезно предоставила компания Облакотека.
Облакотека - облачные сервисы для создания и управления виртуальной ИТ-инфраструктурой.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс. Для этого достаточно кликнуть на контекстную рекламу, расположенную на сайте.
Оцените автора
IT Draft
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.