Skip to content
Client Panel

Client Integration

This guide covers joining Rocky Linux client machines to an existing FreeIPA domain. Each client must be able to resolve the FreeIPA server’s DNS records before enrollment.

Run these steps on every client machine before joining the domain.

Terminal window
hostnamectl set-hostname client-1.example.internal
Terminal window
# Set FreeIPA server as the primary DNS
nmcli con mod ens160 ipv4.method auto ipv4.dns "192.168.100.128" ipv4.ignore-auto-dns yes
nmcli con down ens160 && nmcli con up ens160
# Verify the DNS setting took effect
nmcli dev show | grep DNS
# IP4.DNS[1]: 192.168.100.128
Terminal window
dig ipa-server.example.internal

The client must resolve the FreeIPA server’s hostname. If this fails, all subsequent steps will fail.

Terminal window
dnf install -y ipa-client
Terminal window
ipa-client-install --unattended \
--hostname=client-1.example.internal \
--domain=example.internal \
--realm=EXAMPLE.INTERNAL \
--server=ipa-server.example.internal \
--principal=admin \
--password='YourAdmin_P@55w0rd' \
--mkhomedir \
--enable-dns-updates \
--ntp-server=pool.ntp.org
ParameterMeaningWhy
--hostnameClient FQDNRegistered in the FreeIPA directory
--domain / --realmMust match the serverEnsures same authentication domain
--serverFreeIPA server hostnameWhich server handles authentication
--principal / --passwordAdmin credentialsUsed to create the host record on the server
--mkhomedirAuto-create home dirsCreates /home/<user> on first login
--enable-dns-updatesDNS self-registrationUpdates DNS automatically on IP changes
--ntp-serverNTP sourceKeeps time synced with the server

Runtime: 2 to 5 minutes.

Terminal window
# 1. Look up an IPA user
id admin
# uid=1600000000(admin) gid=1600000000(admins) groups=1600000000(admins)
# 2. Check SSSD status
systemctl status sssd
# 3. Clear and refresh SSSD cache
sss_cache -u admin
# 4. Check Kerberos configuration
cat /etc/krb5.conf | grep -A 5 "EXAMPLE.INTERNAL"
# 5. Test SSH login
ssh admin@client-1
# First login requires the FreeIPA user password

To remove a client from the domain:

Terminal window
ipa-client-install --uninstall

Also remove the host record from the FreeIPA server:

Terminal window
# On the FreeIPA server
ipa host-del client-1.example.internal

Adapted from Dawn’s Blog : FreeIPA Complete Deployment Guide.