29장. Ansible을 사용하여 IdM의 DNS 위치 관리

IdM(Identity Management) 관리자는 ansible-freeipa 패키지에서 사용할 수 있는 location 모듈을 사용하여 IdM DNS 위치를 관리할 수 있습니다.

29.1. DNS 기반 서비스 검색

DNS 기반 서비스 검색은 클라이언트가 DNS 프로토콜을 사용하여 LDAP 또는 Kerberos 와 같은 특정 서비스를 제공하는 네트워크의 서버를 찾는 프로세스입니다. 일반적인 작업 유형 중 하나는 클라이언트가 더 높은 처리량과 네트워크 대기 시간을 줄이며 전체 비용을 절감하므로 가장 가까운 네트워크 인프라 내에서 인증 서버를 찾을 수 있도록 하는 것입니다.

서비스 검색의 주요 장점은 다음과 같습니다.

  • 가까운 서버의 이름으로 명시적으로 구성할 필요는 없습니다.
  • DNS 서버는 정책의 중앙 공급자로 사용됩니다. 동일한 DNS 서버를 사용하는 클라이언트는 서비스 공급자 및 기본 순서에 대한 동일한 정책에 액세스할 수 있습니다.

IdM(Identity Management) 도메인에서 LDAP,Kerberos 및 기타 서비스에 대한 DNS 서비스 레코드(SRV 레코드)가 있습니다. 예를 들어 다음 명령은 IdM DNS 도메인에 TCP 기반 Kerberos 서비스를 제공하는 호스트의 DNS 서버를 쿼리합니다.

예 29.1. DNS 위치 독립 결과

$ dig -t SRV +short _kerberos._tcp.idm.example.com
0 100 88 idmserver-01.idm.example.com.
0 100 88 idmserver-02.idm.example.com.

출력에는 다음 정보가 포함됩니다.

  • 0 (우선 순위): 대상 호스트의 우선 순위입니다. 더 낮은 값이 선호됩니다.
  • 100 (가장). 동일한 우선순위가 있는 항목의 상대적 가중치를 지정합니다. 자세한 내용은 RFC 2782, 섹션 3 에서 참조하십시오.
  • 88 (포트 번호): 서비스의 포트 번호.
  • 서비스를 제공하는 호스트의 정식 이름입니다.

이 예제에서 반환된 두 호스트 이름은 동일한 우선 순위와 weight를 갖습니다. 이 경우 클라이언트는 결과 목록의 임의의 항목을 사용합니다.

클라이언트가 DNS 위치에 구성된 DNS 서버를 쿼리하도록 구성된 경우 출력이 달라집니다. 위치에 할당된 IdM 서버의 경우 맞춤형 값이 반환됩니다. 아래 예제에서 클라이언트는 위치 germany 에서 DNS 서버를 쿼리하도록 구성되어 있습니다.

예 29.2. DNS 위치 기반 결과

$ dig -t SRV +short _kerberos._tcp.idm.example.com
_kerberos._tcp.germany._locations.idm.example.com.
0 100 88 idmserver-01.idm.example.com.
50 100 88 idmserver-02.idm.example.com.

IdM DNS 서버는 로컬 서버를 선호하는 DNS 위치별 SRV 레코드를 가리키는 DNS 별칭(CNAME)을 자동으로 반환합니다. 이 CNAME 레코드는 출력의 첫 번째 줄에 표시됩니다. 이 예제에서 호스트 idmserver-01.idm.example.com 은 우선 순위가 가장 낮은 값이 있으므로 우선합니다. idmserver-02.idm.example.com 은 우선 순위가 높습니다. 따라서 기본 호스트를 사용할 수 없는 경우 백업으로만 사용됩니다.