Overview

FreeIPA combines LDAP, Kerberos, DNS, and certificate management into one platform. It is a strong fit for Linux-centric environments that need centralized identity without relying on external cloud services.

Server Prerequisites

  • static IP address
  • working forward and reverse DNS
  • firewall allowances for LDAP, Kerberos, DNS, HTTP, and HTTPS
  • a hostname that resolves correctly before installation starts

Install the Server

hostnamectl set-hostname ipa.example.lab
dnf install -y ipa-server ipa-server-dns

firewall-cmd --permanent --add-service={freeipa-ldap,freeipa-ldaps,freeipa-replication,dns,kerberos,kpasswd,http,https,ntp}
firewall-cmd --reload
ipa-server-install \
  --setup-dns \
  --forwarder=8.8.8.8 \
  --domain=example.lab \
  --realm=EXAMPLE.LAB \
  --ds-password='<replace-with-strong-directory-manager-password>' \
  --admin-password='<replace-with-strong-admin-password>' \
  --hostname=ipa.example.lab \
  --ip-address=192.168.10.10 \
  --auto-reverse \
  --unattended

Enroll a Linux Client

dnf install -y ipa-client

ipa-client-install \
  --domain=example.lab \
  --server=ipa.example.lab \
  --realm=EXAMPLE.LAB \
  --principal=admin \
  --password='<replace-with-admin-password>' \
  --hostname=$(hostname -f) \
  --unattended

Verify

kinit admin
ipa ping
systemctl status sssd
sssctl domain-status example.lab
id admin@example.lab

Common Admin Tasks

ipa user-add jdoe --first=John --last=Doe --email=jdoe@example.lab
ipa group-add sysadmins
ipa group-add-member sysadmins --users=jdoe
ipa host-find
ipa user-find

Good Practice

  • use strong passwords or keytabs during bootstrap, then move to safer long-term workflows
  • document HBAC, sudo rules, and SSH key strategy early
  • do not treat DNS as optional in FreeIPA environments