33.6. DNS 전달 관리
DNS 전달은 DNS 쿼리 응답 방법에 영향을 미칩니다. 기본적으로 IdM과 통합된 BIND 서비스는 권한 있고 재귀적인 DNS 서버 역할을 하도록 구성됩니다.
DNS 클라이언트가 IdM 서버가 권한 있는 DNS 영역에 속하는 이름을 쿼리하면 BIND에서 구성된 영역에 포함된 데이터로 응답합니다. 권한 있는 데이터는 항상 다른 데이터보다 우선합니다.
DNS 클라이언트가 IdM 서버에 권한이 없는 이름을 쿼리하면 BIND에서 다른 DNS 서버를 사용하여 쿼리합니다. 전달자가 정의되지 않은 경우 BIND에서 인터넷의 루트 서버에 질문을 하고 재귀 확인 알고리즘을 사용하여 DNS 쿼리에 응답합니다.
경우에 따라 BIND에서 다른 DNS 서버에 직접 연결하고 인터넷에서 사용 가능한 데이터를 기반으로 재귀를 수행하는 것이 바람직하지 않습니다. 이러한 경우는 다음과 같습니다.
- DNS 서버가 다른 클라이언트에 다른 응답을 반환하는 분할 DNS 구성(DNS 뷰 구성이라고도 함). 분할 DNS 구성은 회사 네트워크 내에서 일부 DNS 이름을 사용할 수 있지만 외부에서는 사용할 수 없는 환경에 일반적으로 사용됩니다.
- 방화벽이 인터넷의 DNS에 대한 액세스를 제한하는 구성입니다.
- 중앙 집중식 필터링 또는 DNS 수준에서 로깅이 포함된 구성.
- 로컬 DNS 캐시로 전달할 수 있는 구성으로 네트워크 트래픽을 최적화하는 데 도움이 됩니다.
이러한 구성에서는 BIND에서 공용 인터넷에서 전체 재귀를 사용하지 않습니다. 대신, 쿼리를 확인하기 위해 forwarder 라는 다른 DNS 서버를 사용합니다. BIND가 전달자를 사용하도록 구성되면 IdM 서버와 전달자 간에 쿼리와 응답이 전달되고 IdM 서버는 권한 없는 데이터의 DNS 캐시 역할을 합니다.
전달 정책
IdM은 첫 번째 및 유일한 표준 BIND 전달 정책뿐만 아니라 none IdM 관련 전달 정책을 지원합니다.
- 전달 첫 번째 (기본값)
- DNS 쿼리는 구성된 전달자로 전달됩니다. 서버 오류 또는 시간 초과로 인해 쿼리가 실패하면 BIND에서 인터넷의 서버를 사용하여 재귀 확인으로 대체됩니다. forward first 정책이 기본 정책입니다. 트래픽 최적화에 적합합니다.
- 앞으로 전용
- DNS 쿼리는 구성된 전달자로 전달됩니다. 서버 오류 또는 시간 초과로 인해 쿼리가 실패하면 BIND에서 클라이언트에 오류를 반환합니다. 분할된 DNS 구성이 있는 환경에는 정방향 전용 정책이 권장됩니다.
- 없음: 전달 비활성화
- DNS 쿼리는 전달되지 않습니다. 전달 비활성화는 글로벌 전달 구성의 영역별 재정의로만 유용합니다. 이 옵션은 BIND 구성에 빈 전달자 목록을 지정하는 것과 동일한 IdM입니다.
IdM 및 기타 DNS 서버에서 데이터를 결합하지 않음
전달은 IdM의 데이터와 다른 DNS 서버의 데이터를 결합하는 데 사용할 수 없습니다. IdM DNS에서 마스터 영역의 특정 하위 영역에 대한 쿼리만 전달할 수 있습니다. “IdM DNS 마스터 영역의 영역 위임” 을 참조하십시오.
기본적으로 쿼리된 DNS 이름이 IdM 서버에 권한이 있는 영역에 속하는 경우 BIND 서비스는 쿼리를 다른 서버로 전달하지 않습니다. 이러한 상황에서 IdM 데이터베이스에서 쿼리된 DNS 이름을 찾을 수 없는 경우
NXDOMAIN 응답이 반환됩니다. 전달이 사용되지 않습니다.
예 33.9. 예제 시나리오
IdM 서버에는
test.example 권한이 있습니다. DNS 영역. BIND는 192.0.2.254 IP 주소를 사용하여 DNS 서버로 쿼리를 전달하도록 구성되어 있습니다.
클라이언트가
nonexistent.test.example에 대한 쿼리를 보내는 경우 DNS 이름인 BIND는 IdM 서버에 test.example. 영역에 대한 권한이 있고, 쿼리를 192.0.2.254. 서버로 전달하지 않음을 탐지합니다. 결과적으로 DNS 클라이언트는 NXDomain 응답을 수신하여 쿼리된 도메인이 존재하지 않음을 사용자에게 알립니다.
IdM DNS 마스터 영역의 영역 위임
IdM DNS에서 마스터 영역의 특정 하위 영역에 대한 쿼리를 전달할 수 있습니다. 예를 들어 IdM DNS가 영역
idm.example.com 을 처리하는 경우 sub_zone1.idm.example.com 하위 영역에 대한 권한을 다른 DNS 서버에 위임할 수 있습니다. 이 동작을 수행하려면 위에서 설명한 대로 하위 영역을 다른 DNS 서버에 위임하는 이름 서버 레코드와 함께 전달을 사용해야 합니다. 다음 예에서 sub_zone1 은 하위 영역이며 192.0.2.1 은 하위 영역이 위임된 DNS 서버의 IP 주소입니다.
$ ipa dnsrecord-add idm.example.com. sub_zone1 --ns-rec=192.0.2.1
forward 영역을 추가한 후 다음과 같이 표시됩니다.
$ ipa dnsforwardzone-add sub_zone1.idm.example.com. --forwarder 192.0.2.1
33.6.1. 글로벌 전달자 구성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
글로벌 전달자는 33.6절. “DNS 전달 관리” 에 설명된 대로 IdM 서버가 권한이 없는 모든 DNS 쿼리를 확인하는 데 사용하는 DNS 서버입니다.
관리자는 다음 두 가지 방법으로 글로벌 전달에 대한 IP 주소 및 전달 정책을 구성할 수 있습니다.
- ipa dnsconfig-mod 명령 또는 IdM 웹 UI 사용
- 이러한 기본 IdM 도구를 사용하는 구성은 모든 IdM DNS 서버에 즉시 적용됩니다. 33.3절. “DNS 구성 우선순위” 에 설명된 대로 글로벌 DNS 구성은
/etc/named.conf파일에 정의된 로컬 구성보다 우선 순위가 높습니다. /etc/named.conf파일을 편집합니다.- 모든 IdM DNS 서버에서
/etc/named.conf를 수동으로 편집하면 각 서버에서 다른 글로벌 전달자 및 정책을 사용할 수 있습니다./etc/named.conf를 변경한 후 BIND 서비스를 다시 시작해야 합니다.
웹 UI에서 전달자 구성
IdM 웹 UI에서 DNS 글로벌 구성을 정의하려면 다음을 수행합니다.
- Network Services 탭을 클릭하고 DNS Global Configuration 섹션을 선택합니다.
- 새 글로벌 전달자를 추가하려면 를 클릭하고 IP 주소를 입력합니다. 새 전달 정책을 정의하려면 사용 가능한 정책 목록에서 선택합니다.
그림 33.28. 웹 UI에서 글로벌 DNS 구성 편집
- 을 클릭하여 새 구성을 확인합니다.
명령줄에서 전달자 구성
명령줄에서 전달자 전체 목록을 설정하려면 ipa dnsconfig-mod 명령을 사용합니다. LDAP 데이터를 편집하여 DNS 전역 구성을 편집합니다. ipa dnsconfig-mod 명령과 해당 옵션은 모든 IdM DNS 서버에 즉시 영향을 미치고 로컬 구성을 재정의합니다.
예를 들어 ipa dnsconfig-mod 를 사용하여 글로벌 전달자 목록을 편집하려면 다음을 수행합니다.
[user@server ~]$ ipa dnsconfig-mod --forwarder=192.0.2.254
Global forwarders: 192.0.2.254
33.6.2. 전달 영역 구성 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
전달 영역에는 신뢰할 수 있는 데이터가 포함되어 있지 않으며 이름 서버에서 특정 영역에 속하는 이름에 대한 쿼리만 구성된 전달자에게 전달하도록 지시합니다.
중요
꼭 필요한 경우가 아니면 전달 영역을 사용하지 마십시오. 를 사용하여 전역 전달 구성을 재정의합니다. 대부분의 경우 33.6.1절. “글로벌 전달자 구성” 에 설명된 글로벌 전달 만 구성하는 것만으로는 충분하지만 전달 영역은 필요하지 않습니다.
전달 영역은 비표준 솔루션이며 이를 사용하면 예기치 않고 문제가 발생할 수 있습니다. 새 DNS 영역을 만들 때 Red Hat은 항상 NS 레코드를 사용하여 표준 DNS 위임을 사용하고 전달 영역을 방지하는 것이 좋습니다.
지원되는 전달 정책에 대한 자세한 내용은 “전달 정책” 을 참조하십시오.
BIND 서비스에 대한 자세한 내용은 Red Hat Enterprise Linux Networking Guide,
/usr/share/doc/bind-version_number/ directory 또는 외부 소스에 포함된 BIND 9 관리자 참조 매뉴얼을 참조하십시오. [5] .
웹 UI에서 전달 영역 구성
웹 UI에서 전달 영역을 관리하려면 Network Services 탭을 클릭하고 DNS Forward Zones 섹션을 선택합니다.
그림 33.29. DNS 전달 영역 관리
DNS Forward Zones 섹션에서 관리자는 전달 영역에 대한 모든 필수 작업 처리: 현재 전달 영역 목록을 표시하고, 새 전달 영역을 추가하고, 전달 영역을 삭제하고, 전달 영역을 표시하고, 전달 영역별로 전달자 및 전달 정책을 수정할 수 있으며, 전달 영역을 비활성화 또는 활성화할 수 있습니다.
명령줄에서 전달 영역 구성
명령줄에서 전달 영역을 관리하려면 아래에 설명된 ipa dnsforwardzone-* 명령을 사용합니다.
참고
ipa dnsforwardzone-* 명령은 마스터 영역을 관리하는 데 사용되는 ipa dnszone-* 명령과 일관되게 작동합니다.
ipa dnsforwardzone-* 명령은 여러 옵션(특히
--forwarder,--forward-policy, --name-from-ip ) 옵션을 허용합니다. 사용 가능한 옵션에 대한 자세한 내용은 표 33.1. “영역 속성” 을 참조하거나 --help 옵션이 추가된 명령을 실행합니다. 예를 들면 다음과 같습니다.
ipa dnsforwardzone-add --help
- 전달 영역 추가
- dnsforwardzone-add 명령을 사용하여 새 전달 영역을 추가합니다. 전달 정책이
none으로 설정되지 않은 경우 하나 이상의 전달자를 지정해야 합니다.[user@server ~]$ ipa dnsforwardzone-add zone.test. --forwarder=172.16.0.1 --forwarder=172.16.0.2 --forward-policy=first Zone name: zone.test. Zone forwarders: 172.16.0.1, 172.16.0.2 Forward policy: first - 전달 영역 수정
- dnsforwardzone-mod 명령을 사용하여 전달 영역을 수정합니다. 전달 정책이
none이 아닌 경우 하나 이상의 전달자를 지정해야 합니다. 몇 가지 방법으로 수정할 수 있습니다.[user@server ~]$ ipa dnsforwardzone-mod zone.test. --forwarder=172.16.0.3 Zone name: zone.test. Zone forwarders: 172.16.0.3 Forward policy: first[user@server ~]$ ipa dnsforwardzone-mod zone.test. --forward-policy=only Zone name: zone.test. Zone forwarders: 172.16.0.3 Forward policy: only - 전달 영역 표시
- dnsforwardzone-show 명령을 사용하여 지정된 전달 영역에 대한 정보를 표시합니다.
[user@server ~]$ ipa dnsforwardzone-show zone.test. Zone name: zone.test. Zone forwarders: 172.16.0.5 Forward policy: first - 앞으로 영역 찾기
- dnsforwardzone-find 명령을 사용하여 지정된 전달 영역을 찾습니다.
[user@server ~]$ ipa dnsforwardzone-find zone.test. Zone name: zone.test. Zone forwarders: 172.16.0.3 Forward policy: first ---------------------------- Number of entries returned 1 ---------------------------- - 앞으로 영역 삭제
- dnsforwardzone-del 명령을 사용하여 지정된 전달 영역을 삭제합니다.
[user@server ~]$ ipa dnsforwardzone-del zone.test. ---------------------------- Deleted forward DNS zone "zone.test." ---------------------------- - 앞으로 영역 활성화 및 비활성화
- dnsforwardzone-enable 및 dnsforwardzone-disable 명령을 사용하여 전달 영역을 활성화 및 비활성화합니다. 전달 영역은 기본적으로 활성화되어 있습니다.
[user@server ~]$ ipa dnsforwardzone-enable zone.test. ---------------------------- Enabled forward DNS zone "zone.test." ----------------------------[user@server ~]$ ipa dnsforwardzone-disable zone.test. ---------------------------- Disabled forward DNS zone "zone.test." ---------------------------- - 권한 추가 및 제거
- dnsforwardzone-add-permission 및 dnsforwardzone-remove-permission 명령을 사용하여 시스템 권한을 추가하거나 제거합니다.
[user@server ~]$ ipa dnsforwardzone-add-permission zone.test. --------------------------------------------------------- Added system permission "Manage DNS zone zone.test." --------------------------------------------------------- Manage DNS zone zone.test.[user@server ~]$ ipa dnsforwardzone-remove-permission zone.test. --------------------------------------------------------- Removed system permission "Manage DNS zone zone.test." --------------------------------------------------------- Manage DNS zone zone.test.