서버 설치 · 6 min read · Jan 07, 2026

CentOS 8에 FreeIPA 서버 설치 및 구성

FreeIPA는 Linux 및 Unix 기반 시스템을 위한 오픈 소스 통합 신원 및 인증 솔루션입니다. 사용자, 그룹, 호스트 및 기타 객체에 대한 데이터를 저장하여 중앙 집중식 인증을 제공합니다. Linux, Mac 및 Windows를 위한 통합 신원 관리 서비스를 제공합니다. FreeIPA는 389 디렉토리 서버, Kerberos, SSSD, Dogtag, NTP 및 DNS를 기반으로 합니다. 중앙 위치에서 귀하의 영역 내 Linux 사용자 및 클라이언트를 관리하기 위한 웹 기반 인터페이스를 제공합니다.

이 튜토리얼에서는 CentOS 8에 FreeIPA 서버를 설치하는 방법을 보여드립니다.

필수 조건

  • CentOS 8을 실행하는 서버.
  • 서버에 루트 비밀번호가 설정되어 있습니다.

호스트 이름 설정

먼저, 시스템에서 완전한 자격을 갖춘 호스트 이름을 설정해야 합니다. 다음 명령어로 설정할 수 있습니다:

hostnamectl set-hostname freeipa.mydomain10.com

다음으로, /etc/hosts 파일을 편집하고 서버 IP와 호스트 이름을 추가합니다:

nano /etc/hosts

다음 줄을 추가합니다:

45.58.43.185 freeipa.mydomain10.com

작업이 끝나면 파일을 저장하고 닫습니다.

FreeIPA 서버 설치

기본적으로 FreeIPA 패키지는 CentOS 표준 저장소에서 사용할 수 없습니다. 따라서 시스템에서 idm:DL1 저장소를 활성화해야 합니다.

다음 명령어로 활성화할 수 있습니다:

dnf module enable idm:DL1

다음으로, 다음 명령어로 저장소를 동기화합니다:

dnf distro-sync

다음으로, 다음 명령어를 실행하여 시스템에 FreeIPA 서버를 설치합니다.

dnf install ipa-server ipa-server-dns -y

설치가 완료되면 다음 단계로 진행할 수 있습니다.

FreeIPA 서버 설정

다음으로, FreeIPA 서버를 설정해야 합니다. 다음 명령어로 설정할 수 있습니다:

ipa-server-install

다음과 같이 통합 DNS를 구성하라는 메시지가 표시됩니다:

The log file for this installation can be found in /var/log/ipaserver-install.log
ipa-server-install

The log file for this installation can be found in /var/log/ipaserver-install.log
==============================================================================
This program will set up the IPA Server.
Version 4.8.4

This includes:
  * Configure a stand-alone CA (dogtag) for certificate management
  * Configure the NTP client (chronyd)
  * Create and configure an instance of Directory Server
  * Create and configure a Kerberos Key Distribution Center (KDC)
  * Configure Apache (httpd)
  * Configure the KDC to enable PKINIT

To accept the default shown in brackets, press the Enter key.

Do you want to configure integrated DNS (BIND)? [no]: 

Enter 키를 눌러 ‘아니오’를 선택합니다. 서버의 호스트 이름을 제공하라는 메시지가 표시됩니다:

Enter the fully qualified domain name of the computer
on which you're setting up server software. Using the form
.
Example: master.example.com.


Server host name [freeipa.mydomain10.com]: 

Enter 키를 눌러 기본 호스트 이름을 선택합니다. 다음과 같이 도메인 이름을 확인하라는 메시지가 표시됩니다:

The domain name has been determined based on the host name.

Please confirm the domain name [mydomain10.com]: 

Enter 키를 눌러 기본 도메인 이름을 선택합니다. 다음과 같이 디렉토리 관리자 비밀번호를 설정하라는 메시지가 표시됩니다:

The kerberos protocol requires a Realm name to be defined.
This is typically the domain name converted to uppercase.

Please provide a realm name [MYDOMAIN10.COM]: 
Certain directory server operations require an administrative user.
This user is referred to as the Directory Manager and has full access
to the Directory for system management tasks and will be added to the
instance of directory server created for IPA.
The password must be at least 8 characters long.

Directory Manager password: 
Password (confirm): 

원하는 비밀번호를 제공하고 Enter를 누릅니다. 다음과 같이 IPA 관리자 비밀번호를 설정하라는 메시지가 표시됩니다:

The IPA server requires an administrative user, named 'admin'.
This user is a regular system account used for IPA server administration.

IPA admin password: 
Password (confirm): 

원하는 비밀번호를 제공하고 Enter를 누릅니다. 다음과 같이 NTP 서버를 구성하라는 메시지가 표시됩니다:

Do you want to configure chrony with NTP server or pool address? [no]: 

Enter 키를 눌러 기본 옵션을 선택합니다. 다음과 같은 출력을 받아야 합니다:

The IPA Master Server will be configured with:
Hostname:       freeipa.mydomain10.com
IP address(es): 45.58.43.185
Domain name:    mydomain10.com
Realm name:     MYDOMAIN10.COM

The CA will be configured with:
Subject DN:   CN=Certificate Authority,O=MYDOMAIN10.COM
Subject base: O=MYDOMAIN10.COM
Chaining:     self-signed

Continue to configure the system with these values? [no]: yes

‘yes’를 입력하고 Enter를 눌러 위의 값으로 시스템을 구성합니다. 설정이 완료되면 다음과 같은 출력을 받아야 합니다:

SSSD enabled
Configured /etc/openldap/ldap.conf
Configured /etc/ssh/ssh_config
Configured /etc/ssh/sshd_config
Configuring mydomain10.com as NIS domain.
Client configuration complete.
The ipa-client-install command was successful

unable to resolve host name freeipa.mydomain10.com. to IP address, ipa-ca DNS record will be incomplete
unable to resolve host name freeipa.mydomain10.com. to IP address, ipa-ca DNS record will be incomplete
Please add records in this file to your DNS system: /tmp/ipa.system.records._u0fzahd.db
==============================================================================
Setup complete

Next steps:
    1. You must make sure these network ports are open:
        TCP Ports:
          * 80, 443: HTTP/HTTPS
          * 389, 636: LDAP/LDAPS
          * 88, 464: kerberos
        UDP Ports:
          * 88, 464: kerberos
          * 123: ntp

    2. You can now obtain a kerberos ticket using the command: 'kinit admin'
       This ticket will allow you to use the IPA tools (e.g., ipa user-add)
       and the web user interface.

Be sure to back up the CA certificates stored in /root/cacert.p12
These files are required to create replicas. The password for these
files is the Directory Manager password
The ipa-server-install command was successful

작업이 끝나면 다음 단계로 진행할 수 있습니다.

방화벽 및 SELinux 구성

시스템에 firewalld가 설치되어 있는 경우 FreeIPA에서 사용하는 일부 포트를 허용해야 합니다. 다음 명령어로 허용할 수 있습니다:

firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent

다음으로, 다음 명령어로 firewalld를 다시 로드하여 변경 사항을 적용합니다:

firewall-cmd --reload

다음으로, 시스템에서 SELinux를 비활성화해야 합니다.

다음 명령어로 /etc/selinux/config 파일을 편집하여 SELinux를 비활성화할 수 있습니다:

nano /etc/selinux/config

다음 줄을 찾습니다:

SELINUX=enforcing

그리고 다음 줄로 교체합니다:

SELINUX=permissive

파일을 저장하고 닫습니다. 그런 다음, 변경 사항을 적용하기 위해 시스템을 재시작합니다:

FreeIPA 웹 UI 접근

이제 웹 브라우저를 열고 URL https://freeipa.mydomain10.com을 사용하여 FreeIPA 웹 인터페이스에 접근합니다. 다음과 같이 FreeIPA 로그인 페이지로 리디렉션됩니다:

CentOS 신원 관리

관리자 사용자 이름, 비밀번호를 제공하고 로그인 버튼을 클릭합니다. 다음 페이지에서 FreeIPA 대시보드를 볼 수 있어야 합니다:

FreeIPA 서버

FreeIPA CLI 사용

FreeIPA는 또한 새로운 사용자, 그룹, 서비스 주체를 추가하고 한 그룹에서 다른 그룹으로 특정 속성에 대한 쓰기 권한을 부여하는 명령줄 도구를 제공합니다.

CLI 도구를 사용하기 전에 다음 명령어로 Kerberos 티켓을 얻어야 합니다:

kinit admin

다음과 같이 비밀번호를 제공하라는 메시지가 표시됩니다:

Password for [email protected]:

관리자 비밀번호를 제공하고 Enter를 눌러 Kerberos 티켓을 얻습니다.

다음으로, 다음 명령어를 실행하여 티켓 만료를 확인합니다:

klist

다음과 같은 출력을 받아야 합니다:

Ticket cache: KCM:0
Default principal: [email protected]

Valid starting       Expires              Service principal
2020-09-28T03:36:54  2020-09-29T03:36:50  krbtgt/[email protected]

다음으로, 다음 명령어로 새 사용자 계정을 추가합니다:

ipa user-add user1 --first=hit --last=jethva [email protected] --password

다음과 같은 출력을 받아야 합니다:

Password: 
Enter Password again to verify: 
------------------
Added user "user1"
------------------
  User login: user1
  First name: hit
  Last name: jethva
  Full name: hit jethva
  Display name: hit jethva
  Initials: hj
  Home directory: /home/user1
  GECOS: hit jethva
  Login shell: /bin/sh
  Principal name: [email protected]
  Principal alias: [email protected]
  User password expiration: 20200928073905Z
  Email address: [email protected]
  UID: 384600001
  GID: 384600001
  Password: True
  Member of groups: ipausers
  Kerberos keys available: True

다음 명령어로 시스템의 모든 사용자 계정을 나열할 수도 있습니다:

ipa user-find

다음과 같은 출력을 볼 수 있어야 합니다:

---------------
2 users matched
---------------
  User login: admin
  Last name: Administrator
  Home directory: /home/admin
  Login shell: /bin/bash
  Principal alias: [email protected]
  UID: 384600000
  GID: 384600000
  Account disabled: False

  User login: user1
  First name: hit
  Last name: jethva
  Home directory: /home/user1
  Login shell: /bin/sh
  Principal name: [email protected]
  Principal alias: [email protected]
  Email address: [email protected]
  UID: 384600001
  GID: 384600001
  Account disabled: False
----------------------------
Number of entries returned 2

결론

축하합니다! CentOS 8에 FreeIPA 서버를 성공적으로 설치하고 구성했습니다. 이제 FreeIPA 클라이언트를 설치하고 중앙 집중식 인증을 위해 FreeIPA 서버에 추가할 수 있습니다. 질문이 있으면 언제든지 문의해 주세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.