분할 수평 DNS 구현

완료됨

Windows 운영 체제의 DNS에는 IP 주소를 이름으로 확인하고(또는 이름을 IP 주소로 확인), AD DS에 대한 도메인 수준 통신과 인증을 용이하게 하는 두 가지 주요 기능이 있습니다. SRV 레코드를 저장하는 기능을 통해 도메인 구성원인 클라이언트는 도메인 인증 및 보안을 위한 도메인 컨트롤러를 찾을 수 있으며, DNS 라운드 로빈 기능을 사용하여 다양한 도메인 컨트롤러에 대한 액세스의 부하를 분산시킬 수 있습니다.

그러나 방화벽 외부에서 액세스하는 신뢰할 수 없는 인터넷 수준의 사용자는 내부 DNS 서버에서 SRV 레코드 및 기타 중요한 AD DS 정보에 액세스할 수 없습니다. 해당 데이터는 계속 분리된 상태로 유지되어야 하며 방화벽 외부에서 액세스할 수 없어야 합니다. 동시에, 웹, 메일, 프록시 서버와 같은 인터넷 수준 리소스를 호스트하는 서버 및 서비스의 DNS 레코드는 계속 액세스할 수 있어야 합니다.

Contoso의 인프라 엔지니어가 해결해야 하는 문제입니다. 해당 문제를 해결할 편리한 방법을 결정해야 합니다.

분할 DNS란 무엇인가요?

분할 수평 DNS라고도 하는 분할 DNS는 인터넷 및 내부 도메인 구성원 리소스 모두에 대해 동일한 DNS 도메인 이름을 사용합니다. 그러나 DNS 서버 역할은 인터넷을 위한 하나 이상의 서버와, AD DS 도메인을 위한 다른 서버(들)에 각각 별도로 할당됩니다. 해당 방식으로 DNS를 배포하려면 AD DS 도메인 측에 있는 중요한 정보가 인터넷 측에서는 분리되었는지 확인하고, 내부 방화벽의 외부인 인터넷 측에서 배포된 DNS 서버만 방화벽 외부의 쿼리에서 액세스할 수 있도록 하는 추가 단계가 필요합니다.

참고 항목

DNS는 AD DS에 대한 필수적인 기능이므로, DNS 서버 역할은 도메인 컨트롤러를 배포할 때 포함됩니다.

DNS 레코드가 Active Directory 개체 및 특성으로 저장되도록 DNS 역할을 AD DS에 통합할 수 있습니다. 해당 인스턴스의 DNS 영역 형식을 Active Directory 통합이라고 합니다. Active Directory 통합 영역은 DNS 영역 전송을 AD DS 복제로 대체하여 해당 영역에 대한 클라이언트 레코드의 보안 동적 업데이트를 보장할 수 있습니다. 도메인에서 Active Directory 통합 DNS를 사용하는 것이 모범 사례입니다.

분할 DNS를 사용하는 경우, 내부 클라이언트는 도메인 컨트롤러인 Active Directory 통합 DNS 서버의 IP 주소를 사용해야만 구성됩니다. 모든 클라이언트 DNS 동적 업데이트는 도메인 컨트롤러에 기록됩니다. 내부 클라이언트의 모든 DNS 쿼리는 해당 DNS 서버로만 이동합니다.

인터넷 웹 서버와 같이 내부 도메인을 벗어난 곳에서 이름 확인이 필요한 경우에는 해당 레코드를 수동으로 만들거나, 그렇지 않으면 DNS 정책을 사용하여 해당 쿼리를 해결하는 방법을 결정해야 합니다.

참고

일반적으로 방화벽 사이의 경계 네트워크에서 인터넷에 연결된 DNS 서버를 배포합니다.

인터넷에 연결된 DNS 서버는 Active Directory 통합 DNS 서버와 동일한 도메인 이름을 갖지만, 동일한 데이터를 저장하지는 않습니다. 인터넷에 연결된 DNS 서버 영역에 있는 모든 레코드는 수동으로 만들어집니다.

일반적으로 인터넷에 연결된 DNS 서버 영역에는 자체 서버와 경계 네트워크에 있는 다른 서버에 대한 레코드만 포함되며, 인터넷에서 액세스해야 합니다.

인터넷에 연결된 DNS 서버 관련 쿼리가 SRV 레코드와 같은 도메인 수준 리소스에 대한 확인을 요청하는 인터넷에서 발생되는 경우에는, 인터넷에 연결된 DNS 서버는 SRV 레코드를 전혀 포함하지 않기 때문에 쿼리를 거부합니다. 해당 레코드는 도메인 Active Directory 통합 DNS 서버에만 저장됩니다. 인터넷에 연결된 DNS 서버는 관련 영역에 대한 권한이 있다고 간주되기 때문에, Active Directory 통합 DNS 서버에 대한 반복적인 쿼리를 발생시키지 않습니다.

보안을 강화하기 위해, 내부 네트워크와 경계 네트워크 간의 방화벽인 내부 방화벽에 방화벽 규칙을 설정하여, 경계 네트워크에서 내부 네트워크로의 모든 DNS(TCP 및 UDP 포트 53) 쿼리를 거부하면서도 DNS 회신은 계속 허용할 수 있습니다.

분할 DNS 구현

내부 및 외부에서 동일한 네임스페이스를 사용하면, 사용자 관점에서는 리소스 액세스가 간소화되지만 관리는 더 복잡해집니다. 외부에서 내부 DNS 레코드를 사용할 수 없도록 해야 하지만, 일반적으로 외부 리소스에 대한 레코드는 일부 동기화해야 합니다. 예를 들어, 내부 및 외부 네임스페이스는 모두 이름 Contoso.com을/를 사용할 수 있습니다.

내부 및 퍼블릭 네임스페이스에 각자 고유한 네임스페이스를 사용하면, 내부 및 외부 DNS 간의 명확한 경계가 설명되고 네임스페이스 간에 레코드를 동기화할 필요가 없습니다. 그러나, 일부 경우에서는 네임스페이스가 여러 개면 혼동을 일으킬 수 있습니다. 예를 들어,Contoso.com의 외부 네임스페이스와 Contoso.local의 내부 네임스페이스를 선택할 수 있습니다.

고유한 네임스페이스의 구성을 구현하는 경우, 더 이상 등록된 도메인 이름을 사용하여 연결되지 않습니다.

AD DS에 퍼블릭 네임스페이스의 하위 도메인을 사용하면 내부 및 외부 DNS 서버 간에 레코드를 동기화할 필요가 없습니다. 네임스페이스는 서로 연결되기 때문에, 일반적으로 해당 구조를 쉽게 이해할 수 있습니다. 예를 들어, 공용 네임스페이스가 Contoso.com인 경우, 내부 네임스페이스를 하위 도메인 AD 또는 AD.Contoso.com로 구현하도록 선택할 수 있습니다.

분할 DNS에 대한 고려사항

서로 일치하는 내부 및 외부 DNS 네임스페이스가 있으면 특정 문제가 발생할 수 있습니다. 그러나 분할 DNS는 해당 문제에 대한 해결책을 제공합니다. 분할 DNS는 도메인 이름 등록 정보를 포함하는 루트 서버 영역이 두 개인 도메인에 대한 구성입니다.

내부 네트워크 호스트는 한 영역으로 전달되는 반면, 외부 호스트는 이름 확인을 위해 다른 영역으로 전달됩니다. 예를 들어, contoso.com 도메인에 대한 비분할 DNS 구성에서는 다음 표에 나온 예시와 같은 DNS 영역을 사용할 수 있습니다.

Host 레코드 형식 IP 주소
www A 131.107.1.200
릴레이 A 131.107.1.201
Webserver1 A 192.168.1.200
Exchange1 A 192.168.0.201

인터넷의 컴퓨터 클라이언트가 게시된 이름 relay.contoso.com을 사용하여 SMTP 릴레이에 액세스하려는 경우, 131.107.1.201이라는 결과를 반환하는 DNS 서버를 쿼리합니다. 그런 다음 클라이언트는 SMTP를 통해 해당 IP 주소에 대한 연결을 설정합니다.

하지만 조직의 인트라넷에 있는 클라이언트 컴퓨터에서도 게시된 이름 relay.contoso.com을 사용합니다. DNS 서버는 공용 IP 주소 131.107.1.201과 같이 동일한 결과를 반환합니다. 클라이언트는 이제 게시하는 컴퓨터의 외부 인터페이스를 사용하여 반환된 IP 주소에 대한 연결을 설정하려고 합니다. 클라이언트 구성에 따라, 이 시도는 성공할 수도 있고 그렇지 않을 수도 있습니다.

동일한 도메인 이름에 대해 두 개의 영역을 두 DNS 서버 각각에, 구성함으로써 해당 문제를 방지할 수 있습니다.

Contoso.com의 내부 영역에는 다음 표의 정보가 포함되어 있습니다.

Host 레코드 형식 IP 주소
www CNAME Webserver1.contoso.com
릴레이 CNAME Exchange1.contoso.com
Webserver1 A 192.168.1.200
Exchange1 A 192.168.0.201

Contoso.com의 외부 영역에는 다음 표의 정보가 포함되어 있습니다.

Host 레코드 형식 IP 주소
www A 131.107.1.200
릴레이 A 131.107.1.201
MX Relay.contoso.com

이제 내부 및 외부 네트워크의 클라이언트 컴퓨터에서 이름 relay.contoso.com을 적절한 내부 또는 외부 IP 주소에서 확인할 수 있습니다.