User Tools

Site Tools


решение_freeipa

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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 ​--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 сервера]]
  
 ===== Дополнительные материалы ==== ===== Дополнительные материалы ====
решение_freeipa.1759590163.txt.gz · Last modified: 2025/10/04 18:02 by val