This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
решение_freeipa [2025/10/04 18:02] val |
решение_freeipa [2025/10/13 16:37] (current) val [С использованием docker compose] |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Установка и инициализация ===== | ===== Установка и инициализация ===== | ||
+ | |||
+ | * Долго инициализируется, лучше добавить ресурсов (4Gb + 2CPU) | ||
==== На выделенный сервер ==== | ==== На выделенный сервер ==== | ||
Line 17: | Line 19: | ||
* [[https://tx0.ru/ru/notes/docker-compose/running-freeipa-through-traefik-reverse-proxy-using-docker-compose|Запуск FreeIPA с использованием Docker Compose]] | * [[https://tx0.ru/ru/notes/docker-compose/running-freeipa-through-traefik-reverse-proxy-using-docker-compose|Запуск FreeIPA с использованием Docker Compose]] | ||
* [[https://medium.com/@farshadnick/how-to-set-up-freeipa-on-docker-12b3dc41acd6|How to set up FreeIPA on docker]] | * [[https://medium.com/@farshadnick/how-to-set-up-freeipa-on-docker-12b3dc41acd6|How to set up FreeIPA on docker]] | ||
+ | |||
+ | * [[Технология Docker#docker-compose]] | ||
<code> | <code> | ||
Line 93: | Line 97: | ||
server:~/freeipa# docker-compose logs -f | server:~/freeipa# docker-compose logs -f | ||
+ | |||
+ | docker-compose logs -t | head -1 | ||
+ | |||
+ | docker-compose logs -t | tail -1 | ||
+ | |||
+ | Около 20 минут | ||
</code> | </code> | ||
- | * !!! не резолвит имя server (иногда :) и запросы из других сетей, помогает: | + | * !!! не резолвит имя server (иногда :) и рекурсивные запросы из других сетей, помогает: |
<code> | <code> | ||
server# cat /opt/freeipa-data/etc/named/ipa-options-ext.conf | server# cat /opt/freeipa-data/etc/named/ipa-options-ext.conf | ||
Line 124: | Line 134: | ||
gate# ipa-client-install --mkhomedir | gate# ipa-client-install --mkhomedir | ||
- | client1# hostnamectl hostname client1.corp13.un | + | client1# hostnamectl hostname client1.corpX.un |
clientN:~# cat /etc/hosts | clientN:~# cat /etc/hosts | ||
</code><code> | </code><code> | ||
127.0.0.1 localhost | 127.0.0.1 localhost | ||
- | 127.0.1.1 client1.corp13.un clientN | + | 127.0.1.1 client1.corpX.un client1 |
</code><code> | </code><code> | ||
client1# ipa-client-install --mkhomedir --enable-dns-updates | client1# ipa-client-install --mkhomedir --enable-dns-updates | ||
Line 143: | Line 153: | ||
<code> | <code> | ||
[root@server ~]# ipa user-add user1 --first="Иван" --last="Иванов" --password | [root@server ~]# ipa user-add user1 --first="Иван" --last="Иванов" --password | ||
+ | ... | ||
+ | Password: password1 | ||
+ | ... | ||
[root@server ~]# #ipa passwd user1 | [root@server ~]# #ipa passwd user1 | ||
Line 162: | Line 175: | ||
* [[Аутентификация доступа к SQUID#Настройка сервиса SQUID на использование GSSAPI]] | * [[Аутентификация доступа к SQUID#Настройка сервиса SQUID на использование GSSAPI]] | ||
===== Управление сертификатами ===== | ===== Управление сертификатами ===== | ||
+ | |||
+ | ==== Корневой сертификат ==== | ||
+ | |||
+ | * [[Пакет OpenSSL#Импорт сертификата центра сертификации]] | ||
+ | |||
<code> | <code> | ||
[root@server ~]# cat /etc/ipa/ca.crt | [root@server ~]# cat /etc/ipa/ca.crt | ||
+ | server# cat /opt/freeipa-data/etc/ipa/ca.crt | ||
+ | </code> | ||
+ | ==== Создание ключа и сертификата для зарегистрированного узла ==== | ||
+ | <code> | ||
gate# ipa-getcert request -f /root/gate.crt -k /root/gate.key | gate# ipa-getcert request -f /root/gate.crt -k /root/gate.key | ||
+ | |||
+ | gate# ipa-getcert list | ||
</code> | </code> | ||
+ | ==== Создание ключа и сертификата для зарегистрированного пользователя ==== | ||
+ | |||
* [[Пакет OpenSSL#Создание пользовательского сертификата, подписанного CA]] | * [[Пакет OpenSSL#Создание пользовательского сертификата, подписанного CA]] | ||
<code> | <code> | ||
Line 172: | Line 198: | ||
</code> | </code> | ||
+ | ==== Создание ключа и сертификата для gitlab на той же системе ==== | ||
<code> | <code> | ||
- | |||
- | server.corp13.un:~# cat /opt/freeipa-data/etc/ipa/ca.crt | ||
- | |||
server.corp13.un:~# openssl genrsa -out /etc/gitlab/ssl/$(hostname).key 2048 | server.corp13.un:~# openssl genrsa -out /etc/gitlab/ssl/$(hostname).key 2048 | ||
+ | |||
server.corp13.un:~# openssl req -new -key /etc/gitlab/ssl/$(hostname).key -subj '/CN=server.corp13.un/O=CORP13.UN' -addext 'subjectAltName=DNS:server.corp13.un' -out /opt/freeipa-data/server-gitlab.req | server.corp13.un:~# openssl req -new -key /etc/gitlab/ssl/$(hostname).key -subj '/CN=server.corp13.un/O=CORP13.UN' -addext 'subjectAltName=DNS:server.corp13.un' -out /opt/freeipa-data/server-gitlab.req | ||
Line 182: | Line 207: | ||
server.corp13.un:~# cp /opt/freeipa-data/server-gitlab.crt -v /etc/gitlab/ssl/$(hostname).crt | server.corp13.un:~# cp /opt/freeipa-data/server-gitlab.crt -v /etc/gitlab/ssl/$(hostname).crt | ||
+ | </code> | ||
+ | ==== Создание ключа и сертификата для стороннего сервиса ==== | ||
+ | * [[https://itdraft.ru/2023/03/20/resheno-freeipa-pki-sozdaem-i-podpisyvaem-ssl-sertifikat/|FreeIPA PKI - Создаем и подписываем ssl сертификат]] | ||
+ | <code> | ||
+ | [root@freeipa-server /]# | ||
+ | ipa dnsrecord-add corp13.un keycloak --a-rec="192.168.13.64" | ||
+ | ipa host-add keycloak.corp13.un | ||
+ | ipa service-add HTTP/keycloak.corp13.un | ||
+ | openssl genrsa -out /data/keycloak.key 2048 | ||
+ | openssl req -new -key /data/keycloak.key -subj '/CN=keycloak.corp13.un/O=CORP13.UN' -addext 'subjectAltName=DNS:keycloak.corp13.un' -out /data/keycloak.req | ||
+ | ipa cert-request /data/keycloak.req --principal=HTTP/keycloak.corp13.un --certificate-out=/data/keycloak.crt | ||
- | + | server# scp /opt/freeipa-data/keycloak.* kube1:/tmp/ | |
- | ###server.corp13.un:~# scp kube1:webd-k8s/webd.req /opt/freeipa-data/ | + | |
</code> | </code> | ||
- | ===== Работа с LDAP ===== | + | ===== Управление DNS ===== |
<code> | <code> | ||
- | [root@server ~]# ldapsearch -x -b"dc=corp13,dc=un" -H ldap://server "uid=admin" | + | ipa dnsrecord-add corp13.un kube1 --a-rec="192.168.13.221" |
+ | ipa dnsrecord-add corp13.un kube2 --a-rec="192.168.13.222" | ||
+ | ipa dnsrecord-add corp13.un kube3 --a-rec="192.168.13.223" | ||
+ | ipa dnsrecord-add corp13.un kube4 --a-rec="192.168.13.224" | ||
</code> | </code> | ||
+ | ===== Работа с LDAP ===== | ||
+ | |||
+ | * [[Авторизация с использованием LDAP сервера]] | ||
===== Дополнительные материалы ==== | ===== Дополнительные материалы ==== |