Úvod

Pred nedávnom som sa rozhodol, že si urobím vlastný doménový radič, a postavil som si FreeIPA. Zvolil som si Raspberry Pi 4 so 4 GB RAM a SSD disk, ako operačný systém som si zvolil Ubuntu Server 26.04 LTS.

Čo je to FreeIPA a na čo slúži?

FreeIPA (Identity, Policy, Audit) je integrované riadiace centrum pre správu identity a prístupov v sieťových prostrediach. Jednoducho povedané, ide o Linuxovú alternatívu k Microsoft Active Directory.

Hlavné úlohy a výhody FreeIPA:

  • Centralizovaná správa používateľov (Single Sign-On): Používateľa vytvoríte na jednom mieste vo FreeIPA a ten sa pomocou rovnakého mena a hesla dokáže prihlásiť do všetkých počítačov, serverov a webových aplikácií v sieti.
  • Bezpečné overovanie (Kerberos): Používa protokol Kerberos na bezpečné prihlasovanie bez toho, aby sa heslo posielalo po sieti v nekrytej podobe.
  • Centrálny adresár (LDAP): Slúži ako štruktúrovaná databáza všetkých používateľov, skupín, počítačov a ich oprávnení.
  • Správa certifikátov (Certifikačná autorita – CA): Obsahuje vlastnú certifikačnú autoritu, ktorá dokáže automaticky generovať a spravovať SSL/TLS certifikáty pre služby v sieti.
  • Riadenie prístupov a pravidiel (SUDO & HBAC): Umožňuje presne určiť, ktorý používateľ sa môže prihlásiť na konkrétny server a aké príkazy tam môže spúšťať s administrátorskými právami.

Technické parametre


Parameter Minimálne požiadavky Odporúčané (Produkcia) Tvoja konfigurácia
Procesor (CPU) 2 jadrá (ARM64 / x86_64) 4+ jadier ARM64 (Raspberry Pi)
Pamäť (RAM) 2 GB (s --skip-mem-check) 4 GB – 8 GB Podľa servera
Úložisko (Disk) 10 GB (SSD) 30 GB+ (SSD / NVMe) SSD
Swap pamäť 2 GB 4 GB Nastavený v Ubuntu
Operačný systém Ubuntu Server (64-bit) Ubuntu Server LTS Ubuntu Server
Kontajnerový systém Docker + Docker Compose v2 Docker + Docker Compose v2 Docker Compose v2

Príprava inštalácie

Ako prvé urobíme aktualizáciu zoznamu balíčkov a nasledne upgrade

sudo apt update
sudo apt upgrade

Nainštalujeme Dockeru a Docker Compose pluginu

sudo apt install -y docker.io docker-compose-v2

Povolíme a spustíme služby Docker

sudo systemctl enable --now docker

Inštalácia

Vytvoreríme Docker Compose konfiguráciu, pomocou textového edita, vim, nano, alebo vi vložíme text a uložíme ho. Ak chceme zmeniť užívateľské meno a heslo, tak to samozrejme vieme urobiť.

mkdir ~/freeipa-docker && cd ~/freeipa-docker
nano docker-compose.yml
services:
  freeipa:
    image: freeipa/freeipa-server:fedora-rawhide
    container_name: freeipa-server
    hostname: freeipa.ibasterisk.local
    domainname: ibasterisk.local
    tty: true
    stdin_open: true
    network_mode: host
    restart: unless-stopped
    privileged: true
    cgroup: host
    environment:
      - IPA_SERVER_IP=10.10.8.6
      - TZ=Europe/Bratislava
    volumes:
      - /var/lib/freeipa-data:/data:Z
      - /sys/fs/cgroup:/sys/fs/cgroup:rw
    tmpfs:
      - /run
      - /tmp
      - /run/lock
    command:
      - --realm=IBASTERISK.LOCAL
      - --ds-password=TvojeSilneHeslo123!
      - --admin-password=TvojeSilneHeslo123!
      - --unattended
      - --no-ntp
      - --skip-mem-check

Inštaláciu kontajnera urobíme následovne

sudo docker compose up -d

Nechajte tomu čas nech sa nainštaluje. Môže to trvať aj probližne 10 minút

V tejto dokumentácií je aj užívateľske meno a heslo

admin
TvojeSilneHeslo123!

Riešenie problémov

Ak sa pokúsite otvoriť webovú službu, je možné, že Vám to fungovať nebude. Je potrebné potrebné pridať DNS záznam, buď máte vlastný DNS server napr. Pi-hole, alebo DNS Vám robí nejaký iný server, ak nemáte, tak v prostredí Windows je potrebné ísť

C:\Windows\System32\drivers\etc\hosts

Na spodok je potrebné pridať IP adresu servera, kde je nainštalovaná FreeIPA a hostname pre príklad

10.10.8.6 freeipa.ibasterisk.local

V prostedí Linux príklad

sudo nano /etc/hosts
10.10.8.6 freeipa.ibasterisk.local freeipa