DNS 서버란? 작동 원리·4가지 종류·내 DNS 확인법

Advertisement
DNS 서버란 무엇인가요?
DNS 서버는 도메인 이름에 관한 질문에 답하는 서버입니다. 가장 흔한 질문은 "이 이름의 IP 주소는 무엇인가?"이며, DNS 서버는 하루에도 수십억 번 이 질문에 답합니다. 컴퓨터는 IP 주소(예: 142.250.183.4)로 서로 연결하지만, 사람은 이름(예: google.com)을 기억합니다. DNS(Domain Name System, 도메인 네임 시스템)는 이 둘을 이어 주는 주소록이고, DNS 서버는 그 항목을 저장하고 찾아 주는 컴퓨터입니다.
웹사이트를 열거나 이메일을 보내거나 앱을 실행할 때마다 기기는 먼저 DNS 서버에 어디로 가야 하는지 묻습니다. DNS 서버가 느리면 모든 것이 느리게 느껴집니다. DNS 서버가 응답을 멈추면 인터넷 연결 자체는 정상인데도 인터넷이 "끊긴" 것처럼 보이는데, DNS_PROBE_FINISHED_NXDOMAIN이나 DNS 서버가 응답하지 않음 같은 오류가 바로 이런 상황을 뜻합니다.
입력: 도메인 이름과 레코드 유형입니다. 예를 들어
dnsrobot.net과A(IPv4 주소)입니다.출력: 레코드입니다. 예를 들어
104.21.0.129와 함께, 응답을 얼마 동안 캐시할 수 있는지 알려 주는 TTL이 돌아옵니다.프로토콜: 일반 DNS는 포트 53에서 UDP로 작동합니다(응답이 크면 TCP). 암호화 DNS는 포트 853(DoT) 또는 443(DoH)을 씁니다.
DNS 서버가 IP 주소를 찾는 과정 (단계별)
인터넷의 모든 이름을 혼자 아는 DNS 서버는 없습니다. 대신 재귀 리졸버(recursive resolver)가 맨 위부터 서버 계층을 차례로 따라 내려갑니다. 2026년 10월 5일 인도의 가정용 회선에서, 리졸버처럼 각 쿼리를 직접 보내는 dig +trace로 우리 도메인의 조회 과정을 따라가 봤습니다. 실제 단계와 시간은 다음과 같습니다.
1. 기기가 리졸버에 묻습니다. 브라우저는 자체 캐시를, 그다음 운영체제의 캐시를 확인한 뒤 설정된 DNS 서버(예: 1.1.1.1)로 질문을 보냅니다.
2. 리졸버가 루트 서버에
.net이름이 어디에 있는지 묻습니다.e.root-servers.net이 28 ms 만에.netTLD 서버 목록으로 응답했습니다.3. 리졸버가 .net TLD 서버에
dnsrobot.net을 담당하는 곳이 어디인지 묻습니다.e.gtld-servers.net이 258 ms 만에(가장 느린 구간으로, 멀리 있는 서버 사본이 응답했을 가능성이 큽니다) Cloudflare의 네임서버인sofia.ns.cloudflare.com과terin.ns.cloudflare.com으로 응답했습니다.4. 리졸버가 권한 있는 네임서버에 묻습니다.
terin.ns.cloudflare.com이 27 ms 만에 A 레코드104.21.0.129,172.67.150.248과 TTL 300초로 응답했습니다.5. 리졸버가 응답을 캐시하고 돌려줍니다. 이후 300초 동안 그 리졸버를 쓰는 사람은 2~4단계를 반복하지 않고 캐시에서 응답을 받습니다.
# 전체 과정을 직접 확인하기 (macOS, Linux, BIND 도구가 설치된 Windows)
dig +trace +nodnssec @1.1.1.1 dnsrobot.net A
# 2026년 10월 5일 실행 결과 (일부 생략)
net. 172800 IN NS a.gtld-servers.net.
;; Received 834 bytes from 192.203.230.10#53(e.root-servers.net) in 28 ms
dnsrobot.net. 172800 IN NS sofia.ns.cloudflare.com.
dnsrobot.net. 172800 IN NS terin.ns.cloudflare.com.
;; Received 98 bytes from 192.12.94.30#53(e.gtld-servers.net) in 258 ms
dnsrobot.net. 300 IN A 104.21.0.129
dnsrobot.net. 300 IN A 172.67.150.248
;; Received 73 bytes from 2a06:98c1:50::ac40:21ec#53(terin.ns.cloudflare.com) in 27 ms실제로 조회가 빠른 것은 캐싱 덕분입니다. 같은 질문을 1.1.1.1에 보냈을 때 처음에는 198 ms, 응답이 캐시된 뒤에는 26 ms가 걸렸습니다. 루트와 TLD의 응답은 최대 이틀 동안 캐시되므로(위의 172800초 TTL), 실제 조회 대부분은 곧바로 4단계로 건너뛰거나 전부 캐시에서 처리됩니다.
Advertisement
DNS 서버의 4가지 종류
위 과정에는 네 종류의 DNS 서버가 등장합니다. 각자 맡은 일은 하나입니다.
| 유형 | 하는 일 | 예시 | 운영 주체 |
|---|---|---|---|
| 재귀 리졸버 | 질문을 받아 대신 다른 서버에 묻고, 응답을 캐시함 | 1.1.1.1, 8.8.8.8, 통신사 리졸버 | 통신사, Cloudflare, Google, Quad9, 기업 |
| 루트 서버 | 알맞은 최상위 도메인(.com, .net, .org, .uk…)의 위치를 알려 줌 | a.root-servers.net부터 m.root-servers.net까지 | 12개 기관, 이름 있는 서버 13개 |
| TLD 서버 | 해당 TLD 아래 각 도메인의 네임서버를 알려 줌 | a.gtld-servers.net (.com 및 .net) | Verisign 같은 레지스트리 |
| 권한 있는 네임서버 | 도메인의 실제 레코드를 보관하고 최종 응답을 줌 | sofia.ns.cloudflare.com | DNS 호스팅 업체: Cloudflare, 도메인 등록 업체, 웹 호스팅 업체 |
루트 서버의 이름은 13개(a부터 m까지)뿐이지만, 각각은 여러 곳에서 제공되는 anycast 주소입니다. 2026년 10월 5일 기준 root-servers.org에는 12개 독립 운영 기관이 운영하는 루트 서버 인스턴스 2,045개가 등록되어 있어, 루트 서버가 멀리 있는 경우는 드뭅니다.
집의 라우터(공유기)는 보통 다섯 번째 역할인 DNS 포워더(forwarder)를 맡습니다. Wi-Fi에 연결된 기기는 질문을 라우터(주로 192.168.1.1)로 보내고, 라우터는 이를 통신사 리졸버에 전달한 뒤 응답을 캐시합니다.
DNS 서버 vs 네임서버 vs DNS 레코드
이 용어들은 늘 혼동되지만, 문제를 해결할 때는 차이가 중요합니다.
DNS 서버는 DNS로 통신하는 모든 서버를 가리키는 일반 용어입니다. 리졸버, 루트 서버, TLD 서버, 권한 있는 서버가 모두 DNS 서버입니다.
네임서버는 보통 도메인의 권한 있는 서버, 즉 도메인의 NS 레코드에 적힌 서버(예:
ns1.yourhost.com)를 뜻합니다. DNS 호스팅을 옮길 때 도메인 등록 업체에서 바꾸는 것이 바로 네임서버입니다.DNS 레코드는 권한 있는 네임서버에 저장된 항목 하나입니다. A 레코드(IPv4 주소), AAAA(IPv6), MX(메일 서버), CNAME(별칭), TXT(인증, SPF) 등이 있습니다.
Wi-Fi나 네트워크 설정의 "DNS 서버"는 기기가 질문을 보낼 재귀 리졸버(예: 8.8.8.8)를 뜻합니다.
Advertisement
내 DNS 서버 주소 확인 방법
기기는 보통 DHCP를 통해 라우터에서 DNS 서버를 자동으로 받습니다. 지금 어떤 DNS 서버를 쓰고 있는지 확인하려면 다음 명령을 실행하세요.
# Windows (명령 프롬프트): "DNS 서버" 항목을 확인하세요
ipconfig /all
# Windows: 첫 줄에 기본 서버가 표시됩니다
nslookup example.com
# macOS: 사용 중인 리졸버 목록
scutil --dns | grep nameserver
# systemd-resolved를 쓰는 Linux
resolvectl status
# 그 밖의 Linux
cat /etc/resolv.confAndroid에서는 설정 → 네트워크 및 인터넷 → 인터넷을 열고 Wi-Fi 네트워크 옆의 톱니바퀴를 탭한 뒤 네트워크 세부정보(Network details)를 확인하세요(메뉴 이름은 제조사마다 다릅니다). 설정 → 네트워크 및 인터넷 → 비공개 DNS에는 호스트 이름이 설정되어 있다면 dns.google 같은 값이 표시됩니다. iPhone에서는 설정 → Wi-Fi에서 네트워크 옆의 (i)를 탭하고 DNS 구성까지 스크롤하세요. 자동으로 되어 있다면 라우터가 알려 주는 DNS 서버를 쓰고 있다는 뜻입니다.
192.168.x.x나 10.x.x.x가 보인다면 라우터가 포워더 역할을 하고 있는 것이며, 실제 리졸버는 라우터 관리자 페이지에서 설정합니다(라우터 로그인 가이드 참고). Linux에서 127.0.0.53은 systemd-resolved의 로컬 스텁이며, resolvectl status를 실행하면 그 뒤에 있는 상위(upstream) 서버를 볼 수 있습니다.
많이 쓰는 공용 DNS 서버
꼭 통신사 리졸버를 써야 하는 것은 아닙니다. 다음 무료 공용 DNS 서버는 어떤 네트워크에서든 작동합니다.
| 제공업체 | 기본 | 보조 | 참고 사항 |
|---|---|---|---|
| Cloudflare | 1.1.1.1 | 1.0.0.1 | 개인정보 보호 중심, 캐시된 응답이 매우 빠름. 전체 가이드 |
| Google Public DNS | 8.8.8.8 | 8.8.4.4 | 필터링 없음, 캐시되지 않은 이름도 빠름. 전체 가이드 |
| Quad9 | 9.9.9.9 | 149.112.112.112 | 알려진 악성 도메인 차단 |
| OpenDNS (Cisco) | 208.67.222.222 | 208.67.220.220 | FamilyShield(208.67.222.123)는 성인 사이트 차단 |
| AdGuard DNS | 94.140.14.14 | 94.140.15.15 | 광고, 추적기, 피싱을 기본으로 차단 |
통신사도 자체 리졸버 주소를 공개하는데, DNS를 바꿨다가 원래대로 되돌리고 싶을 때 유용합니다. Spectrum, Comcast Xfinity, AT&T, Verizon의 주소 목록을 정리해 두었습니다.
Advertisement
DNS 서버를 바꿔야 할까요?
대부분의 사람에게는 통신사 리졸버로 충분합니다. 다음 중 하나에 해당한다면 공용 DNS 서버로 바꿀 만합니다.
통신사 DNS가 느리거나 불안정합니다. 페이지가 "호스트 확인 중"(Resolving host)에서 멈추거나 DNS 오류가 자주 나는 것이 대표적인 신호입니다.
필터링이 필요합니다. Quad9은 멀웨어 도메인을 차단하고, AdGuard나 Cloudflare와 OpenDNS의 가족용 버전은 광고나 성인 콘텐츠를 차단합니다.
암호화 DNS를 쓰고 싶습니다. 공용 리졸버는 DNS over HTTPS와 DNS over TLS를 지원하므로 로컬 네트워크로부터 조회 내용을 숨길 수 있습니다. 비공개 DNS가 하는 일을 참고하세요.
통신사가 실패한 조회를 광고 페이지로 돌리거나 DNS 수준에서 사이트를 차단합니다.
단점도 있습니다. 일부 CDN은 리졸버의 위치를 보고 서버를 고르므로, 멀리 있는 리졸버를 쓰면 사이트의 더 느린 사본으로 연결될 수 있습니다. 회사와 학교 네트워크는 내부 이름에 접근하려면 자체 DNS가 필요한 경우가 많습니다. 또한 더 빠른 리졸버는 조회 자체만 빠르게 할 뿐(보통 새 사이트마다 수십 밀리초), 다운로드 속도를 높여 주지는 않습니다.
DNS 포트: 53, 853, 443
일반 DNS는 포트 53을 씁니다. 질문과 응답이 보통 패킷 하나에 들어가므로 대부분의 쿼리는 UDP로 오갑니다. 응답이 UDP에 담기에 너무 크면 포트 53의 TCP로 전환하며, 네임서버 간 영역 전송(zone transfer)에도 TCP를 씁니다.
| 프로토콜 | 포트 | 암호화 | 쓰이는 곳 |
|---|---|---|---|
| DNS over UDP/TCP | 53 | 아니요 | 거의 모든 기기와 라우터의 기본값 |
| DNS over TLS (DoT) | 853 | 예 | Android 비공개 DNS, 일부 라우터 |
| DNS over HTTPS (DoH) | 443 | 예 | Chrome, Firefox, Edge, Windows 11 |
Advertisement
DNS 서버가 작동하지 않을 때
DNS가 실패하면 인터넷이 끊긴 것처럼 보입니다. 앱은 연결되지 않고 브라우저는 오류를 띄우지만, 1.1.1.1 같은 IP 주소로 ping을 보내면 여전히 응답이 옵니다. 흔한 오류 메시지와 해결법은 다음과 같습니다.
DNS 서버가 응답하지 않습니다(Windows 문제 해결사): 리졸버가 전혀 응답하지 않았습니다. 해결 가이드.
DNS_PROBE_FINISHED_NXDOMAIN(Chrome): 리졸버가 그런 이름이 없다고 응답했습니다. 해결 가이드.
ERR_NAME_NOT_RESOLVED: 이름을 확인할 수 없었습니다. 오타, 캐시된 실패 응답, 차단된 리졸버가 원인인 경우가 많습니다. 해결 가이드.
DNS 서버를 사용할 수 없음(DNS server unavailable) 또는 Wi-Fi에서 인터넷 없음: 라우터의 포워더가 원인인 경우가 많습니다. 해결 가이드.
가장 빠른 일반적인 해결법은 DNS 캐시 비우기, 라우터 재시작, 그리고 기기의 DNS를 1.1.1.1이나 8.8.8.8 같은 공용 리졸버로 잠시 바꿔 보는 것입니다. 바꾼 뒤 사이트가 열린다면 원래 DNS 서버가 문제였던 것입니다.
나에게 가장 빠른 DNS 서버는 어디일까요?
브라우저에서 DNS Robot의 DNS Speed Test를 실행하세요. 내 회선에서 캐시되지 않은 조회로 Cloudflare, Google, Quad9의 응답 시간을 재고, 응답 시간 중앙값 순으로 순위를 매깁니다.
사용해보기 DNS Speed TestAdvertisement
자주 묻는 질문
인터넷의 주소록입니다. google.com 같은 이름을 주면 기기가 연결하는 데 필요한 IP 주소를 돌려줍니다.