DNS 전달

전달자는 외부 DNS 이름에 대한 DNS 쿼리를 해당 네트워크 외부의 DNS 서버로 전달하는 데 사용되는 네트워크의 DNS 서버입니다. 조건부 전달자를 사용하여 특정 도메인 이름에 따라 쿼리를 전달할 수도 있습니다. 이 문서에서는 Windows Server의 위임, 조건부 전달자 및 인트라넷 이름 확인을 비롯한 DNS 전달에 대해 알아봅니다.

Forwarding

네트워크의 DNS 서버는 다른 DNS 서버가 해당 DNS 서버에 로컬로 확인할 수 없는 쿼리에 응답하도록 하여 전달자로 지정됩니다. 전달자를 사용하면 인터넷의 이름과 같이 네트워크 외부의 이름에 대한 이름 확인을 관리하고 네트워크의 컴퓨터에 대한 이름 확인의 효율성을 향상시킬 수 있습니다.

다음 그림에서는 전달자를 사용하여 외부 이름 쿼리를 전달하는 방법을 보여 줍니다.

전달자를 통해 내부 DNS 서버에서 외부 DNS 서버로의 DNS 쿼리 흐름을 보여 주는 다이어그램

특정 DNS 서버를 전달자로 설정하지 않으면 DNS 서버는 루트 힌트를 사용하여 네트워크 외부에서 쿼리를 보냅니다. 이 구성은 인터넷에 내부 DNS 정보를 노출하여 보안 및 개인 정보 보호 위험을 초래할 수 있습니다. 또한 인터넷 연결 속도가 느리거나 인터넷 비용이 높은 회사에 비용이 많이 드는 네트워크에 비효율적인 많은 외부 트래픽을 만들 수 있습니다.

DNS 서버를 전달자로 지정하면 해당 전달자가 외부 트래픽을 처리하여 인터넷에 대한 DNS 서버 노출을 제한합니다. 네트워크의 모든 외부 DNS 쿼리가 이를 통해 확인되므로 전달자는 외부 DNS 정보의 큰 캐시를 구축합니다. 짧은 시간 안에 전달자는 캐시된 데이터를 사용하여 대부분의 외부 DNS 쿼리를 확인합니다. 네트워크를 통해 인터넷 트래픽이 감소하고 DNS 클라이언트에 대한 응답 시간이 감소합니다.

Behavior

전달자를 사용하도록 구성된 DNS 서버는 전달자를 사용하도록 구성되지 않은 DNS 서버와 다르게 동작합니다. 전달자를 사용하도록 구성된 DNS 서버는 다음과 같이 작동합니다.

  1. DNS 서버는 쿼리를 받으면 호스트하는 기본 및 보조 영역과 해당 캐시를 사용하여 이 쿼리를 확인하려고 시도합니다.

  2. 이 로컬 데이터를 사용하여 쿼리를 확인할 수 없는 경우 쿼리를 전달자로 지정된 DNS 서버로 전달합니다.

  3. DNS 서버는 루트 힌트에 지정된 DNS 서버에 연결하기 전에 전달자의 답변을 잠시 기다립니다.

DNS 서버는 쿼리를 전달자에게 전달하면 재귀 쿼리를 전달자에게 보냅니다. 이 유형의 쿼리는 표준 이름 확인 중에 DNS 서버가 다른 DNS 서버로 보내는 반복 쿼리와 다릅니다. 즉, 전달자를 사용하지 않는 이름 확인 과정입니다.

전달 시퀀스

DNS 서버는 DNS 서버에 IP 주소가 나열되는 순서에 따라 전달자를 사용합니다. DNS 서버가 첫 번째 IP 주소를 사용하여 전달자에게 쿼리를 전달한 후에는 DNS 서버의 제한 시간 설정에 따라 해당 전달자의 답변을 잠시 기다린 후 다음 IP 주소로 전달 작업을 다시 시작합니다. 전달자로부터 긍정적인 답변을 받을 때까지 이 프로세스를 계속합니다.

DNS 서버에서 사용하는 전달자는 서버의 구성에 따라 달라집니다. 기본적으로 동적 전달자 순서를 다시 정렬 할 수 있습니다. 기본값이 유지되면 DNS 서버는 전달자 목록 다음에 사용합니다.

  1. DNS 서버를 사용하면 관리자가 기본 순서로 전달자를 만들 수 있습니다.

  2. 전달자의 동적 목록이 유지 관리됩니다. 동적 목록은 응답 시간에 따라 순서가 다시 지정됩니다. 그러나 목록은 약 15분마다 구성된 순서로 다시 설정됩니다.

  3. 각 쿼리에 대해 전달자는 동적 목록에 표시될 때 선택됩니다.

  4. 응답 시간이 1초보다 크면 느린 응답으로 간주됩니다. 각 전달자는 두 번의 연속 느린 응답을 허용하며, 세 번째 느린 응답에서는 동적 목록의 끝으로 이동합니다.

  5. 목록의 모든 서버가 응답하지 않는 경우 DNS는 서버가 오프라인 상태인지 느린지 알 수 없습니다. 각 DNS 서버의 가용성을 모니터링하려면 시스템 외부에서 수행해야 합니다.

Tip

Windows Server 2022부터 전달자 목록에서 응답하는 전달자가 없는 경우 DNS 서버는 DNS 서버 서비스가 다시 시작될 때까지 동적 목록의 첫 번째 서버만 사용합니다.

DNS 서버가 모든 전달자를 순환하는 이전 동작을 복원하려면 PowerShell 명령을 Set-DnsServerForwarder -EnableReordering $false실행하여 동적 전달자 다시 정렬을 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 Set-DnsServerForwarder를 참조하세요.

전달자 및 위임

전달자를 사용하여 구성되고 부모 영역을 호스트하는 DNS 서버는 쿼리를 전달하기 전에 위임 정보를 사용합니다. 쿼리에 DNS 이름에 대한 위임 레코드가 없는 경우 DNS 서버는 전달자를 사용하여 쿼리를 확인합니다.

전달자 및 루트 서버

DNS 서버가 제대로 재귀를 수행하려면 먼저 DNS 도메인 네임스페이스의 다른 DNS 서버에 대한 유용한 연락처 정보가 필요합니다. 이 정보는 루트 힌트의 형태로 제공됩니다. 루트 힌트는 DNS 서비스가 DNS 도메인 네임스페이스 트리의 루트에 대해 신뢰할 수 있는 다른 DNS 서버를 찾는 데 사용하는 예비 리소스 레코드 목록입니다. 루트 서버는 DNS 도메인 네임스페이스 트리의 도메인 루트 및 최상위 도메인에 대해 신뢰할 수 있습니다.

루트 힌트를 사용하여 루트 서버를 찾은 DNS 서버는 재귀 사용을 완료할 수 있습니다. 이론적으로 이 프로세스를 사용하면 모든 DNS 서버가 네임스페이스 트리의 모든 수준에서 사용되는 다른 DNS 도메인 이름에 대해 신뢰할 수 있는 서버를 찾을 수 있습니다.

루트 서버는 표준 전달을 사용하여 구성할 수 없습니다. 루트 서버가 도메인 이름에 대해 쿼리되는 경우 두 가지 방법 중 하나로 응답합니다. 로컬 영역, 캐시에서 질문에 대답할 수 있는 DNS 서버를 참조하거나 실패로 응답합니다. 실패 응답은 NXDOMAIN 답변으로 표시됩니다. 특정 서버로 전달하도록 구성할 수 없습니다. 전달을 구성할 때 발생하는 일반적인 오류는 프라이빗 DNS 네임스페이스의 루트 서버에서 전달을 구성하는 것입니다.

루트 서버는 조건부 전달자를 사용하여 구성할 수 있습니다. 조건부 전달을 사용하여 별도의 DNS 네임스페이스의 루트 서버 간에 쿼리를 전달할 수 있지만 네임스페이스의 최상위 도메인에 대한 DNS 서버는 이 확인 방법에 더 적합합니다.

조건부 전달자

조건부 전달자는 쿼리의 DNS 도메인 이름에 따라 DNS 쿼리를 전달하는 데 사용되는 네트워크의 DNS 서버입니다. 예를 들어 DNS 서버의 IP 주소 또는 여러 DNS 서버의 IP 주소로 north.contoso.com 끝나는 이름에 대해 수신하는 모든 쿼리를 전달하도록 DNS 서버를 구성할 수 있습니다.

인트라넷 이름 해결

조건부 전달자를 사용하여 인트라넷 내의 도메인에 대한 이름 확인을 개선할 수 있습니다. 특정 내부 도메인 이름에 대한 전달자를 사용하여 DNS 서버를 구성하여 인트라넷 이름 확인을 개선할 수 있습니다. 예를 들어, 도메인 north.contoso.com의 모든 DNS 서버는 south.contoso.com으로 끝나는 이름에 대한 쿼리를 south.contoso.com의 권한 있는 DNS 서버로 전달하도록 구성될 수 있으며, 이로 인해 .contoso.com의 루트 서버를 쿼리하는 단계나 north.contoso.com의 보조 영역으로 south.contoso.com 영역의 DNS 서버를 구성하는 단계를 제거할 수 있습니다.

인터넷 이름 확인

DNS 서버는 조건부 전달자를 사용하여 정보를 공유하는 회사의 DNS 도메인 이름 간에 쿼리를 확인할 수 있습니다. 예를 들어 Contoso와 Tailspin Toys의 두 회사는 Contoso의 DNS 클라이언트가 Tailspin Toys 서버의 이름을 확인하는 방법을 개선하려고 합니다. Tailspin Toys의 관리자는 Contoso가 도메인 outdoor.tailspintoys.com에 대한 쿼리를 보낼 수 있는 Tailspin Toys 네트워크의 DNS 서버 집합에 대해 Contoso 관리자에게 알릴 수 있습니다. Contoso 네트워크 내의 DNS 서버는 Tailspin Toys에 대한 네트워크의 지정된 DNS 서버로 outdoor.tailspintoys.com 끝나는 이름에 대한 모든 쿼리를 전달하도록 구성됩니다. 따라서 Contoso 네트워크의 DNS 서버는 내부 루트 서버 또는 인터넷 루트 서버를 쿼리하여 이름으로 끝나는 outdoor.tailspintoys.com이름에 대한 쿼리를 확인할 필요가 없습니다.