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/13 14:17]
val
решение_freeipa [2025/11/14 12:04] (current)
val [Установка и инициализация клиента]
Line 19: 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 65: Line 67:
     stdin_open: true     stdin_open: true
     environment:​     environment:​
-      IPA_SERVER_HOSTNAME:​ server.corp13.un +      IPA_SERVER_HOSTNAME:​ server.corpX.un 
-      IPA_SERVER_IP:​ 192.168.13.10+      IPA_SERVER_IP:​ 192.168.X.10
       DNS: 172.16.1.254       DNS: 172.16.1.254
       TZ: "​Europe/​Moscow"​       TZ: "​Europe/​Moscow"​
-      IPA_DOMAIN_NAME: ​corp13.un +      IPA_DOMAIN_NAME: ​corpX.un 
-      IPA_REALM_NAME: ​CORP13.UN+      IPA_REALM_NAME: ​CORPX.UN
       PASSWORD: strongpassword       PASSWORD: strongpassword
     command:     command:
-      - --domain=corp13.un +      - --domain=corpX.un 
-      - --realm=CORP13.UN+      - --realm=CORPX.UN
       - --admin-password=strongpassword       - --admin-password=strongpassword
       - --http-pin=strongpassword       - --http-pin=strongpassword
Line 95: 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 (иногда :) и рекурсивные запросы из других сетей, помогает:​
Line 105: Line 113:
 server# docker exec -ti freeipa-server systemctl reload named server# docker exec -ti freeipa-server systemctl reload named
  
-server# host server.corp13.un 192.168.13.10+server# host server.corpX.un 192.168.X.10
  
-gate# host ya.ru 192.168.13.10+gate# host ya.ru 192.168.X.10
 </​code>​ </​code>​
  
Line 121: Line 129:
 <​code>​ <​code>​
 # apt update && apt install freeipa-client # apt update && apt install freeipa-client
 +2 минуты
  
 # #kinit admin # #kinit admin
Line 134: Line 143:
 </​code><​code>​ </​code><​code>​
 client1# ipa-client-install --mkhomedir --enable-dns-updates client1# ipa-client-install --mkhomedir --enable-dns-updates
 +...: no
 +...: yes
 +...: admin
 +...: .....
  
 # systemctl status sssd # systemctl status sssd
Line 157: Line 170:
  
 <​code>​ <​code>​
-# kinit admin+gate# kinit admin
  
-[root@freeipa-server /]# ipa service-add HTTP/gate.corp13.un+gate# ipa service-add HTTP/gate.corpX.un
  
-gate.corp13.un:​~# ipa-getkeytab -p HTTP/gate.corp13.un -k /​etc/​krb5.keytab+gate# ipa-getkeytab -p HTTP/gate.corpX.un -k /​etc/​krb5.keytab 
 + 
 +gate# klist -ek /​etc/​krb5.keytab
 </​code>​ </​code>​
  
-  * [[Аутентификация доступа к SQUID#​Копируем ключи в системный keytab]] 
   * [[Аутентификация доступа к SQUID#​Настройка сервиса SQUID на использование GSSAPI]]   * [[Аутентификация доступа к SQUID#​Настройка сервиса SQUID на использование GSSAPI]]
 ===== Управление сертификатами ===== ===== Управление сертификатами =====
Line 192: Line 206:
 ==== Создание ключа и сертификата для gitlab на той же системе ==== ==== Создание ключа и сертификата для gitlab на той же системе ====
 <​code>​ <​code>​
-server.corp13.un:~# openssl genrsa -out /​etc/​gitlab/​ssl/​$(hostname).key 2048+server.corpX.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.corpX.un:~# openssl req -new -key /​etc/​gitlab/​ssl/​$(hostname).key -subj '/​CN=server.corpX.un/O=CORPX.UN' -addext '​subjectAltName=DNS:​server.corpX.un' -out /​opt/​freeipa-data/​server-gitlab.req
  
-[root@freeipa-server /]# ipa cert-request /​data/​server-gitlab.req --principal=HTTP/​server.corp13.un --certificate-out=/​data/​server-gitlab.crt+[root@freeipa-server /]# ipa cert-request /​data/​server-gitlab.req --principal=HTTP/​server.corpX.un --certificate-out=/​data/​server-gitlab.crt
  
-server.corp13.un:~# cp /​opt/​freeipa-data/​server-gitlab.crt -v /​etc/​gitlab/​ssl/​$(hostname).crt+server.corpX.un:~# cp /​opt/​freeipa-data/​server-gitlab.crt -v /​etc/​gitlab/​ssl/​$(hostname).crt
 </​code>​ </​code>​
 ==== Создание ключа и сертификата для стороннего сервиса ==== ==== Создание ключа и сертификата для стороннего сервиса ====
Line 205: Line 219:
 [root@freeipa-server /]# [root@freeipa-server /]#
  
-ipa dnsrecord-add ​corp13.un keycloak --a-rec="​192.168.13.64" +ipa dnsrecord-add ​corpX.un keycloak --a-rec="​192.168.X.64" 
-ipa host-add keycloak.corp13.un +ipa host-add keycloak.corpX.un 
-ipa service-add HTTP/​keycloak.corp13.un+ipa service-add HTTP/​keycloak.corpX.un
  
 openssl genrsa -out /​data/​keycloak.key 2048 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 +openssl req -new -key /​data/​keycloak.key -subj '/​CN=keycloak.corpX.un/O=CORPX.UN' -addext '​subjectAltName=DNS:​keycloak.corpX.un' -out /​data/​keycloak.req 
-ipa cert-request /​data/​keycloak.req --principal=HTTP/​keycloak.corp13.un --certificate-out=/​data/​keycloak.crt+ipa cert-request /​data/​keycloak.req --principal=HTTP/​keycloak.corpX.un --certificate-out=/​data/​keycloak.crt
  
 server# scp /​opt/​freeipa-data/​keycloak.* kube1:/tmp/ server# scp /​opt/​freeipa-data/​keycloak.* kube1:/tmp/
Line 217: Line 231:
 ===== Управление DNS ===== ===== Управление DNS =====
 <​code>​ <​code>​
-ipa dnsrecord-add ​corp13.un kube1 --a-rec="​192.168.13.221"​ +[root@freeipa-server /]# kinit admin 
-ipa dnsrecord-add ​corp13.un kube2 --a-rec="​192.168.13.222"​ +</​code><​code>​ 
-ipa dnsrecord-add ​corp13.un kube3 --a-rec="​192.168.13.223"​ +ipa dnsrecord-add ​corpX.un kube1 --a-rec="​192.168.X.221"​ 
-ipa dnsrecord-add ​corp13.un kube4 --a-rec="​192.168.13.224"+ipa dnsrecord-add ​corpX.un kube2 --a-rec="​192.168.X.222"​ 
 +ipa dnsrecord-add ​corpX.un kube3 --a-rec="​192.168.X.223"​ 
 +ipa dnsrecord-add ​corpX.un kube4 --a-rec="​192.168.X.224"
 </​code>​ </​code>​
 ===== Работа с LDAP ===== ===== Работа с LDAP =====
Line 230: Line 246:
 ==== Попытка запуска в привилегированном режиме ==== ==== Попытка запуска в привилегированном режиме ====
 <​code>​ <​code>​
-server.corp13.un:​~/​freeipa#​ cat docker-compose.yml+server.corpX.un:​~/​freeipa#​ cat docker-compose.yml
 services: services:
   freeipa:   freeipa:
Line 239: Line 255:
     hostname: server     hostname: server
 #    hostname: freeipa-server #    hostname: freeipa-server
-#    domainname: server.corp13.un+#    domainname: server.corpX.un
     container_name:​ freeipa-server     container_name:​ freeipa-server
     network_mode:​ host     network_mode:​ host
Line 246: Line 262:
     dns:     dns:
 #      - 172.16.1.254 #      - 172.16.1.254
-      - 192.168.13.10+      - 192.168.X.10
     restart: unless-stopped     restart: unless-stopped
     tty: true     tty: true
     stdin_open: true     stdin_open: true
     environment:​     environment:​
-      IPA_SERVER_HOSTNAME:​ server.corp13.un +      IPA_SERVER_HOSTNAME:​ server.corpX.un 
-      IPA_SERVER_IP:​ 192.168.13.10+      IPA_SERVER_IP:​ 192.168.X.10
 #      DNS: 172.16.1.254 #      DNS: 172.16.1.254
-      DNS: 192.168.13.10+      DNS: 192.168.X.10
       TZ: "​Europe/​Moscow"​       TZ: "​Europe/​Moscow"​
-      IPA_DOMAIN_NAME: ​corp13.un +      IPA_DOMAIN_NAME: ​corpX.un 
-      IPA_REALM_NAME: ​CORP13.UN+      IPA_REALM_NAME: ​CORPX.UN
       PASSWORD: strongpassword       PASSWORD: strongpassword
     command:     command:
       - -U       - -U
-      - --domain=corp13.un +      - --domain=corpX.un 
-      - --realm=CORP13.UN+      - --realm=CORPX.UN
       - --admin-password=strongpassword       - --admin-password=strongpassword
       - --http-pin=strongpassword       - --http-pin=strongpassword
Line 290: Line 306:
  
  
-server.corp13.un:​~/​freeipa#​ cat /​opt/​freeipa-data/​var/​log/​ipaclient-install.log+server.corpX.un:​~/​freeipa#​ cat /​opt/​freeipa-data/​var/​log/​ipaclient-install.log
 ... ...
 2025-09-29T05:​28:​56Z DEBUG The ipa-client-install command failed, exception: KerberosError:​ No valid Negotiate header in server response 2025-09-29T05:​28:​56Z DEBUG The ipa-client-install command failed, exception: KerberosError:​ No valid Negotiate header in server response
решение_freeipa.1760354273.txt.gz · Last modified: 2025/10/13 14:17 by val