DNS 서버란 무엇인가요?

스타트업 기업에서 근무하는 컴퓨터 프로그래머

작성자

Chrystal R. China

Staff Writer, Automation & ITOps

IBM Think

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

DNS 서버 설명

DNS 서버는 웹 브라우저, 애플리케이션 및 기타 네트워크 툴이 인터넷상의 웹사이트나 리소스를 찾아 연결할 수 있도록 돕는 특수 목적의 컴퓨터입니다.

DNS 서버는 흔히 인터넷의 전화번호부라 불리는 도메인 이름 시스템(DNS)의 근간을 이룹니다. 덕분에 사용자는 숫자로 된 IP 주소를 기억해 입력하는 대신, 웹 브라우저에 도메인 이름을 입력하는 것만으로 웹사이트에 접속할 수 있습니다.

DNS는 두 가지 유형의 DNS 서버로 구성됩니다. 재귀 DNS 서버(재귀 리졸버, DNS 리졸버 또는 DNS 재귀 서버라고도 함)와 권한 있는 네임 서버이며, 후자는 루트 네임 서버, 최상위 도메인(top-level domain, TLD) 네임 서버 및 2차 도메인 네임 서버를 포함합니다.

재귀 DNS 서버는 “질문”을 수행하여 클라이언트를 웹사이트나 리소스에 연결하는 데 필요한 DNS 레코드를 찾고, 권한 있는 서버는 이러한 레코드를 보유하고 “응답”을 제공합니다. 이 서버들은 함께 DNS 확인 프로세스를 담당하며 사람이 읽을 수 있는 도메인 이름을 컴퓨터가 이해할 수 있는 숫자 형태의 인터넷 프로토콜(internet protocol, IP) 주소로 변환합니다.

예를 들어 사용자가 호스트 이름(예: www.example.com)을 입력하면 웹 브라우저에서 DNS 쿼리(DNS 요청이라고도 함)를 시작하고 DNS 조회 프로세스를 실행합니다. 브라우저는 구성된 재귀 리졸버로 쿼리를 전송하고, 해당 리졸버는 사용자 요청을 처리하기 위해 적절한 리소스 레코드를 찾을 때까지 권한 있는 DNS 서버에 순차적으로 질의를 수행합니다.

이 과정은 리졸버가 해당 도메인과 연결된 권한 있는 네임 서버와 도메인의 올바른 IP 주소를 포함하는 A 레코드(또는 IPv6 주소의 경우 AAAA 레코드)를 찾을 때까지 계속됩니다. 리졸버는 IP 주소를 브라우저에 반환하고, 사용자는 원하는 리소스에 연결됩니다.

DNS 서버가 중요한 이유는 무엇인가요?

DNS 서버는 사용자가 늘 해오던 방식대로 DNS와 인터넷을 원활하게 이용할 수 있게 해주는 핵심 인프라입니다.

DNS 서버는 DNS 레코드를 찾아 저장하고, DNS 계층 구조를 따라 이동하는 DNS 쿼리의 확인 과정을 주도합니다. 최상위 계층은 DNS 루트 이름 서버로 구성되며, 이는 쿼리를 적절한 최상위 도메인(TLD) 서버로 안내합니다. 그 후 쿼리는 해당 도메인의 권한 있는 레코드를 보유한 2차 도메인 이름 서버로 전달됩니다.

DNS 레코드에는 다양한 유형이 있으며, 이는 리소스의 위치뿐만 아니라 기타 중요한 DNS 정보가 담긴 일종의 지침 데이터베이스 역할을 합니다. 가장 익숙한 예는 A 레코드(IPv4 주소용, 또는 IPv6 주소용인 AAAA 레코드)로, 사용자가 찾고 있는 웹사이트에 브라우저가 접속할 수 있도록 돕는 데 필요한 IP 주소를 포함하고 있습니다.

또한 도메인의 메일 서버로 연결하는 MX 레코드, 별칭 도메인을 정규 도메인으로 연결하는 CNAME 레코드, 하나의 레코드로 여러 하위 도메인을 다른 도메인으로 리디렉션하는 DNAME 레코드 등 다양한 레코드가 존재합니다.

이러한 레코드는 권한 있는 DNS 서버에 저장되며 DNS가 정상적으로 작동하려면 이 서버들이 안정적이고 안전한 상태를 유지해야 합니다. DNS 서버가 정상적으로 작동하지 않으면 DNS도 존재할 수 없습니다.

숲이 겹쳐진 고속도로의 항공 뷰

클라우드에 집중 


AI 시대의 멀티클라우드 설정을 최적화하는 방법에 대한 전문가의 안내가 담긴 주간 Think 뉴스레터를 받아보세요.

DNS 서버 유형

DNS는 처음부터 빠르게 확장되는 컴퓨터 네트워크에 대응할 수 있도록 보다 유연한 도메인 이름 확인 방식을 지원하는 계층적 분산 데이터베이스 구조로 설계되었습니다. 이 계층 구조는 점(.)으로 표시되는 루트 레벨에서 시작하여 “.com”, “.org”, “.net”과 같은 최상위 도메인(TLD) 및 “.uk”, “.jp”와 같은 국가 코드 최상위 도메인(ccTLD)으로 확장되며, 이어서 2차 도메인으로 이어집니다.

DNS 계층 구조 차트

DNS 아키텍처는 두 가지 유형의 DNS 서버, 즉 재귀 서버와 권한 있는 서버로 구성됩니다. 재귀 DNS 서버는 사용자를 웹 페이지 또는 리소스에 연결하는 정보를 검색하는 '요청'을 수행하는 서버입니다. 권한 있는 서버는 '답변'을 제공합니다.

재귀 서버

재귀 서버(재귀 리졸버 또는 DNS 리졸버라고도 함)는 일반적으로 인터넷 서비스 공급자(internet service providers, ISPs) 또는 타사 DNS 서비스 공급자가 관리합니다. 조직은 자체 리졸버를 호스팅하고 관리할 수도 있습니다.

재귀 리졸버는 최종 사용자를 대신하여 도메인 이름을 IP 주소로 변환합니다. 재귀 리졸버는 동일한 도메인에 대한 향후 쿼리의 시스템 효율성을 높이기 위해 요청 결과를 일정 시간 동안 캐시(최근 DNS 조회 결과를 임시 저장)하며, 이 시간은 수명(time-to-live, TTL) 값으로 정의됩니다.

사용자가 웹 브라우저에 웹 주소를 입력하면 브라우저는 요청을 처리하기 위해 재귀 DNS 서버에 연결합니다. 재귀 서버에 응답이 캐시된 경우 사용자를 연결하고 요청을 완료할 수 있습니다. 그렇지 않은 경우 재귀 리졸버는 해당 도메인의 IP 주소를 포함하는 A 레코드(또는 AAAA 레코드)를 찾을 때까지 DNS 계층 구조를 순차적으로 조회합니다.

권한 있는 서버

권한 있는 네임 서버는 도메인에 대한 최종 레코드를 보유하고 있으며 각자의 영역에 저장된 도메인 이름에 대한 요청에 응답합니다(일반적으로 도메인 소유자가 구성한 응답을 반환함). 네임스페이스의 서로 다른 부분을 담당하는 다양한 권한 있는 서버가 존재합니다.

권한 있는 DNS 네임 서버에는 다음이 포함됩니다.

루트 이름 서버

루트 네임 서버는 DNS 계층 구조의 최상위에 위치하며 루트 존(DNS의 중앙 데이터베이스)을 제공하는 역할을 합니다. A부터 M까지의 문자로 식별되는 13개의 루트 네임 서버 “아이덴티티” 또는 “권한”(루트 서버의 논리적 그룹)이 존재하며, 루트 존에 저장된 레코드에 대한 쿼리에 응답하고 적절한 TLD 네임 서버로 요청을 전달합니다.

최상위 도메인(TLD) 이름 서버

TLD 서버는 일반 최상위 도메인(gTLD) 을 비롯한 계층 구조의 다음 수준을 관리하는 역할을 합니다. TLD 이름 서버는 해당 TLD 내의 특정 도메인에 대한 권한 있는 이름 서버로 쿼리를 전달합니다. 따라서 '.com에 대한 TLD 이름 서버는 '.com'으로 끝나는 도메인을 디렉션하고, '.gov'에 대한 TLD 이름 서버는 '.gov'로 끝나는 도메인을 디렉션하는 식입니다.

기타 도메인 이름 서버

2차 도메인 네임 서버(대부분의 도메인 네임 서버)는 전체 도메인 이름(예: “ibm.com”)에 대한 IP 주소를 포함하는 존 파일을 보유합니다.

DNS 서버는 어떤 기능을 하나요?

DNS 서버는 DNS 시스템을 구성하는 인프라이며, 사용자를 인터넷 리소스에 연결하는 핵심 기능을 수행하는 구성 요소입니다. 권한 있는 DNS 서버는 DNS 레코드를 저장하고 재귀 서버는 이러한 권한 있는 서버를 조회하여 DNS 요청을 완료하는 데 필요한 레코드를 찾습니다.

DNS를 통해 쿼리가 흐르는 방식을 설명하는 차트

DNS 쿼리 확인에는 여러 핵심 프로세스와 구성 요소가 포함됩니다.

1. 쿼리 시작

사용자가 "ibm.com"과 같은 도메인 이름을 브라우저나 앱에 입력하면 브라우저 또는 앱에 입력합니다. 해당 사이트의 IP 주소가 브라우저 캐시에 없는 경우 요청은 재귀 DNS 리졸버로 전송됩니다. 일반적으로 사용자 장치에는 인터넷 서비스 공급자(internet service provider, ISP)가 제공한 사전 정의된 DNS 설정이 있으며, 이를 통해 요청을 수신할 재귀 리졸버가 결정됩니다.

이 프로세스는 발전하고 있으며 많은 최신 브라우저가 HTTPS를 통한 DNS 조회를 가능하게 하는 DNS over HTTPS(DoH)를 지원하고 있고, 많은 공급자가 이러한 조회를 위한 서버를 구축하고 있습니다. 예를 들어 미국에서 Firefox를 사용할 경우 기본적으로 로컬 ISP 리졸버 대신 Cloudflare DoH 서버로 쿼리를 전송합니다. DoH는 향상된 개인정보 보호와 성능 개선 등 다양한 이점을 제공하기 때문에 점점 더 널리 사용되고 있습니다.

2. 재귀 확인자

재귀 리졸버는 해당 도메인에 대한 IP 주소가 캐시에 있는지 확인합니다. 재귀 리졸버가 필요한 레코드를 캐시에 가지고 있지 않은 경우 루트 서버부터 조회 프로세스를 시작합니다.

3. 루트 이름 서버

재귀 확인자는 루트 이름 서버를 쿼리하고, 루트 이름 서버는 해당 도메인에 대한 적절한 TLD 서버(여기서는 '.com' 도메인을 담당하는 TLD 이름 서버)에 대해 참조로 응답합니다.

4. TLD 이름 서버

확인자는 '.com' TLD 이름 서버를 쿼리하고, 이 서버는 'ibm.com'에 대한 권한 있는 이름 서버의 주소로 응답합니다.

5. 도메인 이름 서버

확인자는 도메인의 이름 서버를 쿼리하고, 이름 서버는 DNS 영역 파일을 조회하며, 제공된 도메인 이름에 대해 올바른 레코드로 응답합니다.

6. 쿼리 해결

재귀 리졸버는 IP 주소를 사용자 장치에 반환합니다. 이후 브라우저 또는 앱은 해당 IP 주소의 호스트 서버에 연결을 시작하고 요청한 웹사이트나 서비스에 접근할 수 있습니다. 브라우저와 리졸버는 각각의 구성과 TTL에 따라 레코드를 캐시합니다.

NS1 Connect

IBM NS1 Connect

IBM® NS1 Connect로 네트워크 복원력을 강화하세요. 이 동영상에서는 애플리케이션 복원력과 성능 측면에서 IBM NS1 Connect의 가치를 설명합니다.

퍼블릭 DNS 서버와 프라이빗 DNS 서버 비교

DNS는 기본적으로 퍼블릭 프로토콜입니다. '퍼블릭 DNS'와 '프라이빗 DNS'라는 용어는 여러 의미로 쓰이며, 어느 쪽도 전 세계적으로 통용되는 표준 정의는 없지만, 대개 서로 다른 인프라 구성과 프로세스 방식을 지칭할 때 사용됩니다. 가장 큰 차이점은 사용 목적과 대상 사용자에 있습니다.

퍼블릭 DNS(또는 퍼블릭 DNS 확인자)

Public DNS는 일반적으로 “표준” DNS 확인 프로세스 또는 공개 DNS 리졸버를 의미하며, 재귀 리졸버가 공개 DNS 레코드를 보유한 권한 있는 서버를 순차적으로 조회하여 IP 주소를 찾고 최종적으로 사용자를 원하는 웹사이트에 연결하는 방식입니다. 이는 일반적으로 사용자 ISP에서 제공하거나 Google의 “quad 8” Public DNS와 같은 DNS 서비스에서 제공하는 리졸버입니다. 프라이빗 리졸버는 공개 DNS를 조회하도록 구성할 수도 있지만, 일반적으로 제한된 네트워크나 기업 네트워크에서 더 많이 사용됩니다.

이 표준 DNS 조회는 공개적으로 사용 가능한 리졸버와 이러한 권한 있는 서버의 DNS 레코드가 인터넷에 접속할 수 있는 누구에게나 열려 있기 때문에 public DNS라고 불립니다.

프라이빗 DNS

'프라이빗 DNS'는 때때로 DoT(DNS over TLS) 또는 DoH(DNS over HTTPS)와 같은 암호화 프로토콜의 사용을 설명하는 데 사용됩니다. 그러나 이는 '프라이빗 DNS'보다는 '개인정보 보호 기능' 또는 '개인정보 보호 프로토콜'로 설명하는 것이 더 정확합니다. 확인자가 필요한 정보를 찾기 위해 공개된 DNS를 이용한다는 점에서, 주소 확인 과정 자체는 동일하게 유지됩니다. 이 경우, 암호화된 전송 방식으로 이루어질 뿐입니다.

Private DNS는 기업 네트워크나 가상 프라이빗 클라우드와 같은 폐쇄된 내부 네트워크에서 권한이 있는 사용자만 접근할 수 있는 조회 방식을 의미하기도 합니다. 이러한 시스템에서는 로컬에 구성된 프라이빗 리졸버가 내부 네트워크 내의 리소스와 사이트를 찾기 위해 프라이빗 서버를 조회합니다. 이 서버는 프라이빗 존과 내부 IP 주소만 제공하도록 구성되어 있으며, 네트워크는 내부 URL과 IP 주소를 외부 인터넷으로부터 숨깁니다. 이러한 유형의 Private DNS는 조직에 더 높은 수준의 제어와 보안을 제공합니다.

이러한 네트워크를 구성하는 방법은 다양합니다. 한 가지 방법은 로컬 네트워크 내의 주소 확인을 위해 사용되는 '.local'과 같은 특수 목적 도메인을 활용하는 것입니다. 또 다른 방법은 인터넷상에 공개된 도메인의 프라이빗 하위 도메인을 보유하는 것입니다. 이러한 프라이빗 하위 도메인은 내부 네트워크 내의 확인자를 사용하는 개인이나 에이전트만 이용할 수 있습니다.

분할-수평 DNS

퍼블릭 및 프라이빗 DNS를 결합한 일반적인 기업용 설정은 '스플릿 호라이즌(Split-horizon) DNS' 또는 '스플릿 브레인(Split-brain) DNS'라고 불립니다. 이 구성에서 로컬 재귀 확인자는 내부 요청에 대해서는 로컬의 권한 있는 프라이빗 서버를 쿼리하고 외부 쿼리에 대해서는 표준 DNS를 사용합니다. 스플릿 호라이즌 DNS는 일반적으로 서버에게 어떤 요청을 내부 서버로 보내고, 어떤 요청을 공개 인터넷으로 전달할지 알려 주는 도메인 이름 목록(일종의 '허용 목록')을 포함하고 있습니다.

DNS 서버 보안

애니캐스트 라우팅, 로드 밸런싱, DNS 트래픽 스티어링, 실시간 모니터링 및 문제 해결 기능 외에도 많은 관리형 DNS 공급자는 서비스의 일부로 고급 보안 기능을 제공합니다. 조직이 관리형 DNS 공급자를 사용하든 자체적으로 DNS 인프라를 관리하든 DNS 서버를 보호하는 것은 네트워크와 네트워크 리소스를 안전하게 유지하는 데 매우 중요합니다.

DNS 서버를 보호하고 가용성을 유지하는 데 도움이 되는 DNS 보안 관행과 프로토콜에는 다음이 포함됩니다.

기본 DNS 서버 숨기기

기본 DNS 서버가 내부 네트워크나 방화벽 뒤에 숨겨져 있는 경우 DNS 존의 주요 권한 소스는 외부 인터넷에서 접근할 수 없으며 직접적인 공격으로부터 보호됩니다. 읽기 전용 존 파일 사본을 보유한 보조 DNS 서버만 공개되며, 보조 서버는 기본 서버로부터 존 전송을 통해 모든 외부 요청을 처리합니다.

DNS 보안 확장(DNSSEC) 배포

DNSSEC는 요청의 출처와 DNS 데이터의 무결성을 검증하기 위해 암호화 인증을 사용하는 DNS 확장 기술입니다. 응답에 디지털 서명을 요구함으로써 DNSSEC는 DNS 스푸핑 공격을 방지하는 데 도움을 줍니다.

DNS 서버 업데이트 및 패치

공격자와 사이버 보안 위협은 그들이 침해하는 시스템과 유사한 방식으로 진화합니다. 최신 DNS 취약점을 지속적으로 파악하고 DNS 서버를 정기적으로 패치 및 업데이트하면 팀이 사이버 위협에 선제적으로 대응하고 서버를 안전하게 유지할 수 있습니다.

DNS 트래픽 암호화

DNS 트래픽 암호화는 공격자가 DNS 쿼리와 응답을 읽거나 변조하거나 리디렉션하는 것을 방지하는 데 도움이 됩니다. 최신 DNS 암호화 프로토콜(DNS over HTTPS 및 DNS over TLS 등)을 사용하면 쿼리가 인증되고 안전하게 전송되도록 보장하여 DNS 스푸핑 및 캐시 오염과 같은 중간자 공격(man-in-the-middle, MITM)을 방지할 수 있습니다.

속도 제한 관행 채택

DNS 서버에서 속도 제한을 적용하면 일정 시간 동안 단일 요청자에게 제공되는 응답 수 또는 서버가 응답을 전송하는 속도를 제한하여 분산 서비스 거부(distributed denial-of-service, DDoS) 공격을 완화할 수 있습니다.

중복 서버 사용

여러 지역에 분산된 서버에 DNS를 중복 구성으로 배포하면 공격이나 장애 발생 시에도 네트워크 가용성을 유지할 수 있습니다. 기본 서버에 장애가 발생하면 보조 DNS 서버가 DNS 확인 서비스를 대신 수행할 수 있습니다.

DNS 캐시 플러시 구현

DNS 캐시를 삭제하면 로컬 네트워크의 모든 항목이 제거됩니다. 이는 멀웨어(캐시 포이즈닝)를 포함하거나, 사용자를 피싱 시도에 노출시키거나, 악성 사이트로 리다이렉트(DNS 하이재킹)할 수 있는 유효하지 않거나 침해된 DNS 레코드를 삭제하는 데 유용할 수 있습니다.

스플릿 호라이즌 DNS 활용

스플릿 호라이즌 DNS는 프라이빗한 내부 리소스와 퍼블릭 리소스를 위해 별도의 조회 시스템을 구축합니다. 프라이빗 서버 네트워크는 내부 리소스의 가시성을 신뢰할 수 있는 사용자에게만 제한함으로써, 한층 강화된 보안을 제공합니다. 표준 DNS 조회를 통해 접근할 수 있는 퍼블릭 서버는 보안에 덜 민감한 쿼리나 리소스를 처리하는 데 사용될 수 있습니다.

관련 솔루션
IBM NS1 Connect

IBM NS1 Connect는 엔터프라이즈 DNS, DHCP, IP 주소 관리 및 애플리케이션 트래픽 조정을 위한 풀 매니지드 클라우드 서비스입니다.

NS1 Connect 살펴보기
네트워킹 솔루션

IBM의 클라우드 네트워킹 솔루션은 앱과 비즈니스를 지원하는 고성능 연결을 제공합니다.

클라우드 네트워킹 솔루션 살펴보기
네트워킹 지원 서비스

IBM Technology Lifecycle Services와 데이터 센터 지원을 통합하여 클라우드 네트워킹 등을 강화하세요.

클라우드 네트워킹 서비스
다음 단계 안내

IBM NS1 Connect로 네트워크 복원력을 강화하세요. 무료 개발자 계정으로 시작하여 관리형 DNS 솔루션을 살펴보거나 라이브 데모를 예약해 플랫폼이 네트워크 성능과 신뢰성을 어떻게 최적화하는지 확인하세요.

  1. 관리형 DNS 서비스 살펴보기
  2. 라이브 데모 예약