Client Integration
Client Integration
Section titled “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.
Client Prerequisites
Section titled “Client Prerequisites”Run these steps on every client machine before joining the domain.
1. Set the Hostname
Section titled “1. Set the Hostname”hostnamectl set-hostname client-1.example.internal2. Configure DNS to Point at FreeIPA
Section titled “2. Configure DNS to Point at FreeIPA”# Set FreeIPA server as the primary DNSnmcli con mod ens160 ipv4.method auto ipv4.dns "192.168.100.128" ipv4.ignore-auto-dns yesnmcli con down ens160 && nmcli con up ens160
# Verify the DNS setting took effectnmcli dev show | grep DNS# IP4.DNS[1]: 192.168.100.1283. Test DNS Resolution
Section titled “3. Test DNS Resolution”dig ipa-server.example.internalThe client must resolve the FreeIPA server’s hostname. If this fails, all subsequent steps will fail.
Install the Client Package
Section titled “Install the Client Package”dnf install -y ipa-clientJoin the Domain
Section titled “Join the Domain”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.orgParameter reference
Section titled “Parameter reference”| Parameter | Meaning | Why |
|---|---|---|
--hostname | Client FQDN | Registered in the FreeIPA directory |
--domain / --realm | Must match the server | Ensures same authentication domain |
--server | FreeIPA server hostname | Which server handles authentication |
--principal / --password | Admin credentials | Used to create the host record on the server |
--mkhomedir | Auto-create home dirs | Creates /home/<user> on first login |
--enable-dns-updates | DNS self-registration | Updates DNS automatically on IP changes |
--ntp-server | NTP source | Keeps time synced with the server |
Runtime: 2 to 5 minutes.
Verify the Client Joined Successfully
Section titled “Verify the Client Joined Successfully”# 1. Look up an IPA userid admin# uid=1600000000(admin) gid=1600000000(admins) groups=1600000000(admins)
# 2. Check SSSD statussystemctl status sssd
# 3. Clear and refresh SSSD cachesss_cache -u admin
# 4. Check Kerberos configurationcat /etc/krb5.conf | grep -A 5 "EXAMPLE.INTERNAL"
# 5. Test SSH loginssh admin@client-1# First login requires the FreeIPA user passwordUninstalling a Client
Section titled “Uninstalling a Client”To remove a client from the domain:
ipa-client-install --uninstallAlso remove the host record from the FreeIPA server:
# On the FreeIPA serveripa host-del client-1.example.internalNext Steps
Section titled “Next Steps”- Create users and manage permissions through FreeIPA
- Troubleshoot common issues if something goes wrong
Adapted from Dawn’s Blog : FreeIPA Complete Deployment Guide.