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/09/26 06:30]
val
решение_freeipa [2025/10/02 18:18] (current)
val [Управление сертификатами]
Line 1: Line 1:
 ====== Решение FreeIPA ====== ====== Решение FreeIPA ======
 +
 +===== Установка и инициализация =====
 +
 +==== На выделенный сервер ====
 +
 +  * Настройка сети [[Настройка сети в Linux#​Файлы конфигурации Alma Linux]]
 +  * Отключить Сервис Firewall [[Сервис Firewall#​CentOS,​ AlmaLinux]]
 +
 +  * [[https://​computingforgeeks.com/​install-freeipa-server-on-rocky-almalinux/​|Install FreeIPA Server on Rocky Linux 9 / AlmaLinux 9]]
 +
 +==== С использованием docker compose ====
  
   * [[https://​hub.docker.com/​r/​freeipa/​freeipa-server]]   * [[https://​hub.docker.com/​r/​freeipa/​freeipa-server]]
-  * [[https://www.altlinux.org/FreeIPA/Клиент]]+  * [[https://github.com/​freeipa/​freeipa-container]] 
 +  * [[https://​itzm.tech/p/​freeipa/​|Установка сервера ​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]]
  
 <​code>​ <​code>​
Line 22: Line 36:
 services: services:
   freeipa:   freeipa:
-    ​image: freeipa/​freeipa-server:​centos-9-stream+#    ​image: freeipa/​freeipa-server:​centos-9-stream 
 +    image: freeipa/​freeipa-server:​centos-9-stream-4.12.2
 #    read_only: true #    read_only: true
 #    hostname: server #    hostname: server
Line 87: Line 102:
 [root@freeipa-server /]# systemctl reload named [root@freeipa-server /]# systemctl reload named
 server# docker exec -ti freeipa-server systemctl reload named server# docker exec -ti freeipa-server systemctl reload named
 +</​code>​
 +
 +==== Поверка после установки ====
 +<​code>​
 +[root@server ~]# ipactl status
 +</​code>​
 +
 +===== Установка и инициализация клиента =====
 +
 +  * [[https://​www.altlinux.org/​FreeIPA/​Клиент]]
 +
 +<​code>​
 +# apt update && apt install freeipa-client
 +
 +# #kinit admin
  
-=== 
 gate# ipa-client-install --mkhomedir gate# ipa-client-install --mkhomedir
  
 client1# hostnamectl hostname client1.corp13.un client1# hostnamectl hostname client1.corp13.un
 +
 +clientN:~# cat /etc/hosts
 +</​code><​code>​
 +127.0.0.1 localhost
 +127.0.1.1 client1.corp13.un clientN
 +</​code><​code>​
 client1# ipa-client-install --mkhomedir --enable-dns-updates client1# ipa-client-install --mkhomedir --enable-dns-updates
  
----+# systemctl status sssd 
 + 
 +[root@server ~]# ipa host-show gate|client1 
 + 
 +[root@server ~]# host gate|client1 
 +</​code>​ 
 + 
 +===== Управление пользователями ===== 
 +<​code>​ 
 +[root@server ~]# ipa user-add user1 --first="​Иван"​ --last="​Иванов"​ --password 
 + 
 +[root@server ~]# #ipa passwd user1 
 +</​code>​ 
 + 
 +===== Создание service principal ===== 
 + 
 +  * [[Установка,​ настройка и запуск пакета SQUID]] 
 + 
 +<​code>​ 
 +# kinit admin
  
 [root@freeipa-server /]# ipa service-add HTTP/​gate.corp13.un [root@freeipa-server /]# ipa service-add HTTP/​gate.corp13.un
  
 gate.corp13.un:​~#​ ipa-getkeytab -p HTTP/​gate.corp13.un -k /​etc/​krb5.keytab gate.corp13.un:​~#​ ipa-getkeytab -p HTTP/​gate.corp13.un -k /​etc/​krb5.keytab
 +</​code>​
 +
 +  * [[Аутентификация доступа к SQUID#​Копируем ключи в системный keytab]]
 +  * [[Аутентификация доступа к SQUID#​Настройка сервиса SQUID на использование GSSAPI]]
 +===== Управление сертификатами =====
 +<​code>​
 +[root@server ~]# cat /​etc/​ipa/​ca.crt
 +
 +gate# ipa-getcert request -f /​root/​gate.crt -k /​root/​gate.key
 +</​code>​
 +  * [[Пакет OpenSSL#​Создание пользовательского сертификата,​ подписанного CA]]
 +<​code>​
 +client1# ipa cert-request --principal=user1 --certificate-out=user1.crt user1.req
 +</​code>​
 +
 +<​code>​
  
-=== 
 server.corp13.un:​~#​ cat /​opt/​freeipa-data/​etc/​ipa/​ca.crt server.corp13.un:​~#​ cat /​opt/​freeipa-data/​etc/​ipa/​ca.crt
  
Line 111: Line 180:
  
  
-gate.corp13.un:​~#​ ipa-getcert request -f /​root/​gate.crt -k /​root/​gate.key -K host/​gate.corp13.un+
  
 ###​server.corp13.un:​~#​ scp kube1:​webd-k8s/​webd.req /​opt/​freeipa-data/​ ###​server.corp13.un:​~#​ scp kube1:​webd-k8s/​webd.req /​opt/​freeipa-data/​
-----+</​code>​ 
 +===== Работа с LDAP ===== 
 +<​code>​ 
 +[root@server ~]# ldapsearch ​--b"​dc=corp13,​dc=un" ​-H ldap://​server "​uid=admin"​ 
 +</​code>​ 
 + 
 +===== Дополнительные материалы ==== 
 + 
 +==== Попытка запуска в привилегированном режиме ==== 
 +<​code>​ 
 +server.corp13.un:​~/​freeipa#​ cat docker-compose.yml 
 +services: 
 +  freeipa: 
 +#    image: freeipa/​freeipa-server:​centos-9-stream 
 +    image: freeipa/​freeipa-server:​centos-9-stream-4.12.2 
 +#    image: freeipa/​freeipa-server:​almalinux-10-4.12.2 
 +#    read_only: true 
 +    hostname: server 
 +#    hostname: freeipa-server 
 +#    domainname: server.corp13.un 
 +    container_name:​ freeipa-server 
 +    network_mode:​ host 
 +    privileged: true 
 +    cgroup: host 
 +    dns: 
 +#      - 172.16.1.254 
 +      - 192.168.13.10 
 +    restart: unless-stopped 
 +    tty: true 
 +    stdin_open: true 
 +    environment:​ 
 +      IPA_SERVER_HOSTNAME:​ server.corp13.un 
 +      IPA_SERVER_IP:​ 192.168.13.10 
 +#      DNS: 172.16.1.254 
 +      DNS: 192.168.13.10 
 +      TZ: "​Europe/​Moscow"​ 
 +      IPA_DOMAIN_NAME:​ corp13.un 
 +      IPA_REALM_NAME:​ CORP13.UN 
 +      PASSWORD: strongpassword 
 +    command: 
 +      - -U 
 +      - --domain=corp13.un 
 +      - --realm=CORP13.UN 
 +      - --admin-password=strongpassword 
 +      - --http-pin=strongpassword 
 +      - --dirsrv-pin=strongpassword 
 +      - --ds-password=strongpassword 
 +      - --setup-dns 
 +      - --forwarder=172.16.1.254 
 +      - --no-ntp 
 +      - --unattended 
 +      - --skip-mem-check 
 +      - --no-host-dns 
 +    cap_add: 
 +      - SYS_TIME 
 +      - NET_ADMIN 
 +    volumes: 
 +#      - /​etc/​localtime:/​etc/​localtime:​ro 
 +#      - /​sys/​fs/​cgroup:/​sys/​fs/​cgroup:​rw 
 +      - /​sys/​fs/​cgroup:/​sys/​fs/​cgroup 
 +#      - /​sys/​fs/​cgroup:/​sys/​fs/​cgroup 
 +      - /​opt/​freeipa-data:/​data:​Z 
 +#      - /​var/​lib/​ipa-data:/​data:​Z 
 +#    sysctls: 
 +#      - net.ipv6.conf.all.disable_ipv6=0 
 +#      - net.ipv6.conf.lo.disable_ipv6=0 
 +#    security_opt:​ 
 +#      - "​seccomp:​unconfined"​ 
 + 
 + 
 +server.corp13.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 ERROR No valid Negotiate header in server response 
 +2025-09-29T05:​28:​56Z ERROR The ipa-client-install command failed. See /​var/​log/​ipaclient-install.log for more information 
  
-ldapsearch -x -b"​dc=corp13,​dc=un"​ -H ldap://​server "​uid=admin"​ 
 </​code>​ </​code>​
решение_freeipa.1758857443.txt.gz · Last modified: 2025/09/26 06:30 by val