33.9. DNS 위치
33.9.1. DNS 기반 서비스 검색
DNS 기반 서비스 검색은 클라이언트가 DNS 프로토콜을 사용하여
LDAP
또는 Kerberos
와 같은 특정 서비스를 제공하는 네트워크에서 서버를 찾는 프로세스입니다. 일반적인 작업 유형 중 하나는 클라이언트가 처리량이 높고 네트워크 대기 시간을 줄여 전체 비용을 절감하므로 클라이언트가 가장 가까운 네트워크 인프라 내에서 인증 서버를 찾을 수 있도록 하는 것입니다.
서비스 검색의 주요 장점은 다음과 같습니다.
- 클라이언트가 가까운 서버의 이름으로 명시적으로 구성할 필요가 없습니다.
- DNS 서버는 정책의 중앙 공급자로 사용됩니다. 동일한 DNS 서버를 사용하는 클라이언트는 서비스 프로바이더 및 기본 주문에 대해 동일한 정책에 액세스할 수 있습니다.
IdM 도메인에는 LDAP, Kerberos 및 기타 서비스에 대해 SRV 레코드(DNS 서비스 레코드)가 있습니다. 예를 들어 다음 명령은 IdM DNS 도메인에 TCP 기반 Kerberos 서비스를 제공하는 호스트의 DNS 서버를 쿼리합니다.
예 33.10. 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
(포트 번호): 서비스의 포트 번호입니다.- 서비스를 제공하는 호스트의 표준 이름입니다.
이전 예에서 반환된 두 호스트 이름은 동일한 우선 순위 및 가중치를 갖습니다. 이 경우 클라이언트는 결과 목록의 임의 항목을 사용합니다.
클라이언트가 DNS 위치에 구성된 DNS 서버를 쿼리하면 출력이 달라집니다. 위치에 할당된 IdM 서버의 경우 맞춤형 값이 반환됩니다. 아래 예제에서 클라이언트는 위치
germany
의 DNS 서버를 쿼리합니다.
예 33.11. 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
은 우선 순위가 높으며 기본 호스트를 사용할 수 없는 경우 백업으로만 사용됩니다.
33.9.2. DNS 위치에 대한 배포 고려 사항
기본 IdM DNS 도메인에 대한 권한이 있는 IdM DNS 서버의 경우 IdM에서 위치별 SRV 레코드를 생성할 수 있습니다. 각 IdM DNS 서버는 위치별 SRV 레코드를 생성하므로 각 DNS 위치에 하나 이상의 IdM DNS 서버를 설치해야 합니다.
DNS 위치에 대한 클라이언트의 선호도는 클라이언트에서 받은 DNS 레코드에서만 정의됩니다. 따라서 클라이언트가 IdM DNS 서버의 위치별 레코드를 확인하는 경우 IdM DNS 서버를 비IdM DNS 슬레이브 서버와 결합하고, DNS 서비스 검색에서 위치별 레코드를 확인하는 경우 반복을 수행할 수 있습니다.
혼합 IdM 및 비IdM DNS 서비스가 있는 대부분의 배포에서 DNS recursors는 왕복 시간 지표를 사용하여 가장 가까운 IdM DNS 서버를 자동으로 선택합니다. 일반적으로 비IdM DNS 서버를 사용하는 클라이언트에 가장 가까운 DNS 위치에 대한 레코드가 수신되므로 IdM 서버 세트를 최적으로 사용합니다.
33.9.2.1. DNS TTL(Time To Live)
클라이언트는 영역의 구성에 설정된 기간 동안 DNS 리소스 레코드를 캐시할 수 있습니다. 이 캐싱으로 인해 TTL(Time to live) 값이 만료될 때까지 클라이언트에서 변경 사항을 받지 못할 수 있습니다. IdM의 기본 TTL 값은
1일입니다
.
클라이언트가 사이트 간에 로밍하는 경우 IdM DNS 영역의 TTL 값을 조정해야 합니다. 해당 값을 클라이언트가 사이트 간에 로밍해야 하는 시간보다 낮은 값으로 설정합니다. 이렇게 하면 클라이언트에서 캐시된 DNS 항목이 다른 사이트에 다시 연결하기 전에 만료되므로 DNS 서버를 쿼리하여 위치별 SRV 레코드를 새로 고칩니다.
DNS 영역의 기본 TTL을 수정하는 방법에 대한 자세한 내용은 33.4.2절. “마스터 DNS 영역에 대한 추가 구성 추가” 을 참조하십시오.
33.9.3. DNS 위치 생성
웹 UI에서 DNS 위치 생성
- IPA 서버 탭을 열고 토폴로지 를 선택합니다.
- 탐색 모음 에서 IPA 위치를 클릭합니다.
- 위치 목록 위쪽에서를 클릭합니다.
- 위치 이름을 입력합니다.
추가할 추가 위치에 대해 단계를 반복합니다.
명령줄에서 DNS 위치 생성
예를 들어 새 위치
germany
를 생성하려면 다음을 입력합니다.
[root@server ~]# ipa location-add germany ---------------------------- Added IPA location "germany" ---------------------------- Location name: germany
추가할 모든 위치에 대해 단계를 반복합니다.
33.9.4. DNS 위치에 IdM 서버 할당
웹 UI에서 DNS 위치에 IdM 서버 할당
- IPA 서버 탭을 열고 토폴로지 를 선택합니다.
- 탐색에서 IPA 서버를 클릭합니다.
- IdM 서버 이름을 클릭합니다.
- DNS 위치를 선택하고 선택적으로 서비스 가중치를 설정합니다.
그림 33.34. 서버를 DNS 위치에 할당
- 이전 단계에서 지정한 호스트에서
named-pkcs11
서비스를 다시 시작합니다.[root@idmserver-01 ~]# systemctl restart named-pkcs11
DNS 위치를 할당하려는 추가 IdM 서버에 대한 단계를 반복합니다.
명령줄에서 DNS 위치에 IdM 서버 할당
- 선택 사항: 구성된 모든 DNS 위치를 나열합니다.
[root@server ~]# ipa location-find ----------------------- 2 IPA locations matched ----------------------- Location name: australia Location name: germany ----------------------------- Number of entries returned: 2 -----------------------------
- 서버를 DNS 위치에 할당합니다. 예를 들어 위치
germany
를 idmserver-01.idm.example.com 서버에 할당하려면 다음을 실행합니다.[root@server ~]# ipa server-mod idmserver-01.idm.example.com --location=germany ipa: WARNING: Service named-pkcs11.service requires restart on IPA server idmserver-01.idm.example.com to apply configuration changes. -------------------------------------------------- Modified IPA server "idmserver-01.idm.example.com" -------------------------------------------------- Servername: idmserver-01.idm.example.com Min domain level: 0 Max domain level: 1 Location: germany Enabled server roles: DNS server, NTP server
- 이전 단계에서 지정한 호스트에서
named-pkcs11
서비스를 다시 시작합니다.[root@idmserver-01 ~]# systemctl restart named-pkcs11
DNS 위치를 할당하려는 추가 IdM 서버에 대한 단계를 반복합니다.
33.9.5. 동일한 위치에서 IdM 서버를 사용하도록 클라이언트 구성
IdM 서버는 33.9.4절. “DNS 위치에 IdM 서버 할당” 에 설명된 대로 DNS 위치에 할당됩니다. 이제 IdM 서버와 동일한 위치에 있는 DNS 서버를 사용하도록 클라이언트를 구성할 수 있습니다.
- DHCP 서버에서 DNS 서버 IP 주소를 클라이언트에 할당하는 경우 DHCP 서비스를 구성합니다. DHCP 서비스에서 DNS 서버를 할당하는 방법에 대한 자세한 내용은 DHCP 서비스 설명서를 참조하십시오.
- 클라이언트에서 DHCP 서버에서 DNS 서버 IP 주소를 수신하지 못하면 클라이언트의 네트워크 구성에서 IP를 수동으로 설정합니다. Red Hat Enterprise Linux에서 네트워크 구성에 대한 자세한 내용은 Red Hat Enterprise Linux 네트워킹 가이드의 네트워크 연결 설정 구성 섹션을 참조하십시오.
참고
다른 위치에 할당된 DNS 서버를 사용하도록 클라이언트를 구성하면 클라이언트는 두 위치에 있는 IdM 서버에 연결합니다.
예 33.12. 클라이언트의 위치에 따라 다른 이름 서버 항목
다음 예제는 다른 위치의 클라이언트에 대해
/etc/resolv.conf
파일의 다른 이름 서버 항목을 보여줍니다.
프라하의 고객:
nameserver 10.10.0.1 nameserver 10.10.0.2
구매자의 고객:
nameserver 10.50.0.1 nameserver 10.50.0.3
Oslo의 클라이언트:
nameserver 10.30.0.1
콜롬비아의 고객:
nameserver 10.30.0.1
각 DNS 서버가 IdM의 위치에 할당되면 클라이언트는 해당 위치에서 IdM 서버를 사용합니다.