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/12/04 08:49]
val [Управление DNS]
решение_freeipa [2026/02/15 07:21] (current)
val [Отладка]
Line 1: Line 1:
 ====== Решение FreeIPA ====== ====== Решение FreeIPA ======
  
 +  * [[https://​youtu.be/​HjbWMi3h8r4|youtu.be Синхронизация пользователей MSAD ↔ Freeipa]]
 +  * [[https://​habr.com/​ru/​companies/​astralinux/​articles/​806223/​|Хотите присоединить Windows к домену ALD Pro (FreeIPA)? Спросите меня как]]
 ===== Установка и инициализация ===== ===== Установка и инициализация =====
  
Line 24: Line 26:
 <​code>​ <​code>​
 # cat /​etc/​docker/​daemon.json # cat /​etc/​docker/​daemon.json
-{ "​userns-remap":​ "​default"​ } +</​code><​code>​ 
 + 
 +  ​"​userns-remap":​ "​default" ​ 
 +
 +</​code><​code>​
 # service docker restart # service docker restart
  
Line 34: Line 39:
     userns_mode:​ '​host'​     userns_mode:​ '​host'​
 ... ...
- 
-# ###docker run --name freeipa-server-container -ti -h ipa.example.test --read-only -v /​var/​lib/​ipa-data:/​data:​Z freeipa/​freeipa-server:​centos-9-stream 
  
 # ###rm -rf /​opt/​freeipa-data/​ # ###rm -rf /​opt/​freeipa-data/​
Line 104: Line 107:
 Около 20 минут Около 20 минут
 </​code>​ </​code>​
-  * !!! не резолвит имя server (иногда :) и рекурсивные запросы из других сетей, помогает:​+==== Настройка доступа ​для клиентов DNS ====
 <​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 129: Line 132:
 <​code>​ <​code>​
 # apt update && apt install freeipa-client # apt update && apt install freeipa-client
-2 минуты+... 
 +  Default Kerberos version 5 realm: CORPX.UN  
 +...
  
 # #kinit admin # #kinit admin
Line 149: Line 154:
  
 # systemctl status sssd # systemctl status sssd
 +# cat /​etc/​resolv.conf
  
 [root@server ~]# ipa host-show gate|client1 [root@server ~]# ipa host-show gate|client1
Line 220: Line 226:
  
 ipa dnsrecord-add corpX.un keycloak --a-rec="​192.168.X.64"​ ipa dnsrecord-add corpX.un keycloak --a-rec="​192.168.X.64"​
 +sleep 5
 +
 ipa host-add keycloak.corpX.un ipa host-add keycloak.corpX.un
 ipa service-add HTTP/​keycloak.corpX.un ipa service-add HTTP/​keycloak.corpX.un
Line 228: Line 236:
  
 server# scp /​opt/​freeipa-data/​keycloak.* kube1:/tmp/ server# scp /​opt/​freeipa-data/​keycloak.* kube1:/tmp/
 +</​code>​
 +
 +==== Поддержка ACME ====
 +
 +  * [[https://​www.freeipa.org/​page/​V4/​ACME|FreeIPA Automated Certificate Management Environment]]
 +
 +<​code>​
 +[root@freeipa-server /]# 
 +
 +ipa-acme-manage enable
 +
 +ipa-acme-manage status
 </​code>​ </​code>​
 ===== Управление DNS ===== ===== Управление DNS =====
Line 243: Line 263:
  
   * [[Авторизация с использованием LDAP сервера]]   * [[Авторизация с использованием LDAP сервера]]
 +
 +===== Динамический DNS =====
 +
 +  * [[https://​astrid.tech/​2021/​04/​18/​0/​k8s-freeipa-dns/​|How to set up Dynamic DNS on FreeIPA for your Kubernetes Cluster]]
 +  * [[https://​www.ipamworldwide.com/​ipam/​update-policy.html|BIND update-policy option]]
 +
 +<​code>​
 +[root@freeipa-server ~]# tsig-keygen cert-manager | tee /​data/​etc/​named/​cert-manager.key
 +
 +server# cat /​opt/​freeipa-data/​etc/​named/​ipa-ext.conf
 +...
 +include "/​data/​etc/​named/​cert-manager.key";​
 +
 +[root@freeipa-server ~]# rndc reload
 +
 +Network Service->​DNS-Zone-corpX.un->​Settings->​BIND update policy
 +...; grant cert-manager subdomain corpX.un. TXT;
 +
 +[root@freeipa-server ~]# nsupdate -k /​data/​etc/​named/​cert-manager.key
 +server 127.0.0.1
 +zone corpX.un
 +update add _acme-challenge.gitlab.corpX.un. 30 IN TXT "​your_txt_record_data 1"
 +send
 +</​code>​
 +
 +===== Отладка =====
 +
 +  * [[https://​www.freeipa.org/​page/​Centralized_Logging|FreeIPA Centralized Logging]]
 +<​code>​
 +[root@freeipa-server /]# find /​data/​var/​log/​ -mmin -2 -type f -ls
 +
 +server# find /​opt/​freeipa-data/​var/​log/​ -mmin -2 -type f -ls
 +</​code>​
  
 ===== Дополнительные материалы ==== ===== Дополнительные материалы ====
Line 313: Line 366:
 2025-09-29T05:​28:​56Z ERROR 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 2025-09-29T05:​28:​56Z ERROR The ipa-client-install command failed. See /​var/​log/​ipaclient-install.log for more information
 +</​code>​
 +==== Черновик ====
 +<​code>​
 +ipa dnsrecord-add corp26.un gitlab --a-rec="​192.168.26.65"​
 +sleep 5
 +
 +ipa host-add gitlab.corp26.un
 +ipa service-add HTTP/​gitlab.corp26.un
 +
 +rndc-confgen -a -A hmac-sha512 -k cert-manager -c /​data/​etc/​named/​cert-manager.key
 +[root@freeipa-server ~]# chown root:named /​data/​etc/​named/​cert-manager.key
 +[root@freeipa-server ~]# chmod 640 /​data/​etc/​named/​cert-manager.key
 +
 +/​data/​etc/​named/​ipa-ext.conf
 +...
 +include "/​data/​etc/​named/​cert-manager.key";​
 +
 +grant cert-manager subdomain corp26.un ANY;
 +
 +
 +nsupdate -k /​data/​etc/​named/​cert-manager.key
 +server 127.0.0.1
 +server 172.18.0.2
 +zone corp26.un
 +update add _acme-challenge.gitlab.corp26.un. 30 IN TXT "​your_txt_record_data 1"
 +send
 +
 +update add test.corp26.un. 30 IN A 80.80.80.80
 +
 +freeipa TSIG error with server: tsig indicates error update failed: NOTAUTH(BADKEY)
 +
 +# > server 195.19.32.2
 +# > zone _acme-challenge.anysite.bmstu.ru
 +# > update add _acme-challenge.anysite.bmstu.ru. 30 IN TXT "​your_txt_record_data 1"
 +# > send
 +# > update del _acme-challenge.anysite.bmstu.ru. 30 IN TXT "​your_txt_record_data 1"
 +# > send
 +# > quit
 +
 +
 +====
 +ipa dnsrecord-add corp26.un keycloak --a-rec="​192.168.26.64"​
 +sleep 5
 +
 +ipa host-add keycloak.corp26.un
 +ipa service-add HTTP/​keycloak.corp26.un
 +
 +openssl genrsa -out /​data/​keycloak.key 2048
 +openssl req -new -key /​data/​keycloak.key -subj '/​CN=keycloak.corp26.un/​O=CORP26.UN'​ -addext '​subjectAltName=DNS:​keycloak.corp26.un'​ -out /​data/​keycloak.req
 +ipa cert-request /​data/​keycloak.req --principal=HTTP/​keycloak.corp26.un --certificate-out=/​data/​keycloak.crt
 +
 +===============
 +
 +ipa dnsrecord-add corp26.un apwebd --a-rec="​192.168.26.64"​
 +sleep 5
  
 +ipa host-add apwebd.corp26.un
 +ipa service-add HTTP/​apwebd.corp26.un
  
 </​code>​ </​code>​
решение_freeipa.1764827344.txt.gz · Last modified: 2025/12/04 08:49 by val