이 글에서는 DNS 조회에 대해 알아봅니다. DNS 조회가 무엇이고 어떻게 작동하며, 온라인 개인정보와 검열에 어떤 영향을 미치는지 살펴봅니다.

DNS 조회는 귀하가 브라우저의 주소 표시줄에 입력하는 URL(사람이 읽을 수 있는 도메인 이름)을 그에 해당하는 IP 주소와 일치시키는 과정을 의미합니다.

인터넷에 직접 연결되는 모든 기기는 IP 주소라고 하는 숫자 라벨로 식별됩니다. 사람이 더 쉽게 이해할 수 있도록 이 주소는 읽기 쉽고 기억하기 쉬운 도메인 이름을 사용해 식별할 수도 있습니다. 도메인 이름 시스템(DNS)은 이러한 도메인 이름을 해당하는 IP 주소에 매핑합니다.

IP 주소에 대해 더 알아보기

예를 들어, Proton VPN 웹사이트는 도메인 이름인 protonvpn.com을 사용하며, 이는 IP 주소 185.159.159.140에 해당합니다. 귀하가 브라우저의 URL 표시줄에 www.protonvpn.com을 입력하면, 컴퓨터가 이를 이해할 수 있도록 도메인 이름을 해당하는 IP 주소로 변환해야 합니다.

이러한 변환은 DNS를 사용하여 수행됩니다. 따라서 귀하가 protonvpn.com을 입력하면 DNS가 도메인 이름을 IP 주소 185.159.159.140으로 변환합니다. 이를 통해 귀하의 브라우저가 올바른 웹사이트를 찾아 연결할 수 있습니다.

도메인 이름은 오직 사람의 편의를 위해 존재하며 인터넷 작동에 필수적인 것은 아닙니다. 만약 귀하가 IP 주소를 기억할 수 있다면 이를 직접 입력할 수도 있습니다. 실제로 확인해 보려면 브라우저의 URL 표시줄에 185.159.159.140을 입력하기만 하면 됩니다. 그러면 Proton VPN 웹사이트로 이동합니다.

DNS 조회가 작동하는 방식

DNS는 흔히 도메인 이름과 그에 해당하는 IP 주소를 대조하는 전화번호부에 비유됩니다. 이는 DNS의 역할을 이해하는 데 유용한 비유이지만, 실제로 작동하는 방식은 더 복잡합니다.

DNS 리졸버

귀하가 브라우저의 URL 표시줄에 도메인 이름을 입력하면, DNS 리졸버(DNS 재귀자 또는 단순히 DNS 서버라고도 함)라고 불리는 특별한 서버로 DNS 쿼리가 전송됩니다.

이름에서 알 수 있듯이, DNS 리졸버는 도메인에 해당하는 IP 주소를 검색하여 귀하의 브라우저로 다시 보냄으로써 DNS 쿼리를 “해결(resolve)”합니다. 이제 귀하가 방문하려는 웹사이트의 IP 주소를 알게 된 브라우저는 해당 웹사이트에 연결할 수 있습니다.

여기까지는 매우 간단합니다. 하지만 DNS 리졸버는 도메인의 정확한 DNS 주소를 어떻게 검색할까요? (새로운 도메인이 끊임없이 생성되고 IP 주소가 도메인에 동적으로 할당되어 정기적으로 변경된다는 점 때문에 이 과정은 매우 복잡합니다.)

DNS를 사용하여 도메인이 해결되는 방식

최상위 도메인(새 창)(TLD)에 대한 DNS 조회는 일반적으로 다음과 같은 단계로 진행됩니다:

1. 귀하가 브라우저의 URL 표시줄에 protonvpn.com을 입력합니다. 브라우저는 이 쿼리를 인터넷을 통해 DNS 리졸버로 보냅니다.

2. DNS 리졸버는 DNS 루트 네임 서버로 쿼리를 보냅니다. 이 서버는 TLD(.com, .net 또는 .ch, .uk와 같은 국가 코드 TLD 등)에 대한 정보를 저장하는 서버입니다. 저희의 쿼리(protonvpn.com)의 경우, DNS 루트 네임 서버는 “.com” TLD의 DNS 리졸버를 가리킵니다.

3. 이 정보를 바탕으로 DNS 리졸버는 모든 .com 도메인 목록을 유지하는 .com TLD 네임 서버에 쿼리를 보냅니다. TLD 네임 서버는 해당 도메인의 권한 있는 네임 서버의 IP 주소로 응답합니다.

4. 이제 DNS 리졸버는 도메인의 권한 있는 네임 서버에 쿼리를 보낼 수 있습니다. 이것은 일반적으로 도메인 이름을 대여하고 관리하는 업체(GoDaddy 또는 Namecheap 등)인 도메인 등록기관(새 창)에 의해 운영됩니다. 권한 있는 네임 서버는 도메인에 대한 최종 신뢰 원천이며 IP 주소를 DNS 리졸버로 반환할 수 있습니다 (저희의 경우, 이것은 185.159.159.140이 됩니다).

5. DNS 리졸버가 귀하의 브라우저로 올바른 IP 주소를 전송하면, 브라우저가 185.159.159.140에 연결할 수 있게 됩니다.

DNS 작동 방식

실제로는 상황이 조금 더 복잡합니다. 예를 들어, 많은 도메인이 여러 IP 주소(IPv4 및 IPv6 주소 모두 포함)와 연결되어 있으며, 하위 도메인(예: blog.protonvpn.com)을 방문하는 경우 추가적인 단계가 필요합니다.

또한 정보는 브라우저, DNS 리졸버, 다양한 네임 서버 등 프로세스의 모든 단계에서 정기적으로 캐시(로컬에 저장)됩니다. 필요한 정보가 캐시에서 발견되면 요청이 전송되지 않으므로 일부 단계가 생략됩니다.

그러나 본질적으로 이것이 일반적인 웹사이트 방문 시 DNS가 작동하는 방식입니다.

DNS, 검열, 그리고 정부 감시

기본적으로 귀하의 브라우저는 DNS 쿼리를 귀하의 인터넷 서비스 제공업체(ISP)가 운영하는 DNS 리졸버로 보냅니다. ISP는 다양한 방법을 사용하여 귀하가 인터넷에서 무엇을 하는지 볼 수 있지만, 가장 쉽고 저렴한 방법은 단순히 귀하의 DNS 쿼리를 모니터링하는 것입니다.

대부분의 정부 대규모 감시 프로그램은 ISP가 고객의 웹 서핑 기록 로그를 보관하도록 의무화하는 데 의존합니다. 그리고 가장 쉽고 저렴하기 때문에, 대부분의 ISP는 오직 DNS 로그만 보관함으로써 이러한 법적 의무를 이행합니다.

이와 유사하게, 정부가 사회적, 종교적, 정치적 또는 ‘도덕적’인 이유로 인터넷 콘텐츠를 검열하고자 할 때, 국내 ISP에 이러한 차단을 강제하도록 요청합니다. 그리고 이를 수행하는 가장 쉬운 방법은 특정 웹사이트 및 앱에 대한 DNS 쿼리를 차단하는 것입니다.

타사 DNS 서비스

이러한 검열과 감시를 최소한 일부라도 피할 수 있는 한 가지 방법은 Cloudflare 1.1.1.1 또는 OpenNIC과 같은 타사 DNS 리졸버를 사용하는 것입니다.

이러한 서비스 중 일부는 우수한 개인정보취급방침을 가지고 있을 수 있지만, DNS 리졸버 서버에 대한 연결이 DNS over TLS (DoT) 또는 DNS over HTTPS (DoH)를 사용하여 암호화되지 않는 한, 귀하의 ISP가 원한다면 요청을 서식 없는 텍스트로 볼 수 있습니다.

DNS 쿼리를 암호화하면 ISP가 귀하의 웹 서핑 기록을 모니터링하기가 더 어려워지지만(따라서 더 많은 비용이 듦), ISP가 원하는 경우 귀하가 어떤 웹사이트와 앱에 연결하는지 여전히 상당히 쉽게 추적할 수 있습니다.

Proton VPN 받기!

DNS 및 VPN

VPN(예: Proton VPN)을 사용할 때, VPN 서버에 대한 귀하의 연결은 암호화됩니다. 귀하의 ISP는 다소의 노력을 들여 귀하가 VPN 서버에 속한 IP 주소에 연결했다는 사실을 볼 수는 있지만, 그것이 전부입니다.

DNS 쿼리는 VPN 터널을 통해 전송되며 VPN 제공업체에 의해 해결됩니다. 이 제공업체는 자체 DNS 리졸버를 운영하거나 타사 VPN 리졸버를 사용할 수 있습니다. DNS 쿼리가 VPN 사용자가 아닌 VPN 서버에서 전송되는 것처럼 보이기 때문에, 이는 개인정보에 어떠한 영향도 미치지 않습니다.

VPN 작동 방식 알아보기

VPN을 사용할 때는 어차피 모든 DNS 쿼리가 암호화된 VPN 터널을 통해 전송되므로, 암호화된 DNS를 사용할 필요가 없다는 점을 기억해 둘 만합니다.

또한 VPN과 함께 타사 DNS 리졸버를 사용하는 것은 권장되지 않습니다. 시스템을 이 방식으로 구성하면 DNS 쿼리가 VPN 터널 외부의 타사 DNS 리졸버로 전송될 수 있습니다.

DNS 유출에 대해 더 알아보기

NetShield Ad-blocker

Proton VPN은 모든 앱에서 NetShield Ad-blocker를 제공합니다. 이는 광고 회사, 온라인 트래커 및 멀웨어에 속한 것으로 알려진 도메인에 대한 DNS 쿼리를 차단하는 DNS 필터링 기능입니다. 이 기능(및 기타 유사한 DNS 필터링 서비스)은 차단 목록에 있는 도메인에 대한 DNS 쿼리를 해결하지 않는 방식으로 DNS 리졸버 수준에서 작동합니다.

NetShield Ad-blocker에 대해 더 알아보기

기술적으로 이는 DNS 유출에 해당합니다(아래 참조). DNS 쿼리가 암호화되어 있고 귀하가 DNS 리졸버를 신뢰한다면 큰 문제가 되지 않을 수 있지만, 이는 불필요한 제삼자(따라서 잠재적인 취약점)를 개입시키게 됩니다.

DNS 유출

VPN을 사용할 때 모든 DNS 쿼리는 VPN 터널을 통해 전송되어 VPN 제공업체에 의해 해결되어야 합니다. 어떠한 이유로든 DNS 쿼리가 VPN 터널 외부의 타사 DNS 리졸버로 전송된다면 DNS 유출이 발생한 것입니다. IPv6 DNS 요청을 VPN 터널을 통해 올바르게 라우팅하지 못하는 것은 DNS 유출의 흔한 원인입니다.

이 제삼자는 귀하의 ISP일 가능성이 높으므로 DNS 유출은 심각한 개인정보 보호 문제입니다. 말할 필요도 없이, 모든 Proton VPN 앱에는 강력한 내장형 DNS 유출 방지 기능이 탑재되어 있습니다.

일반적인 DNS 기록 유형

조회할 수 있는 주요 DNS 기록 유형은 다음과 같습니다.

  • A (주소) 기록: 도메인 이름을 IPv4 주소에 매핑합니다. 예: example.com → 192.0.2.1
  • AAAA (쿼드 A) 기록: 도메인 이름을 IPv6 주소에 매핑합니다. 예: example.com → 2001:0db8:85a3:0000:0000:8a2e:0370:7334
  • CNAME (표준 이름) 기록: 도메인 이름을 다른 도메인 이름에 매핑하여 사실상 한 이름을 다른 이름의 별칭으로 지정합니다. 예: www.example.com → example.com
  • MX (메일 교환) 기록: 도메인을 대신하여 이메일을 수신할 담당 메일 서버를 지정합니다. 예: example.com → mail.example.com(우선순위 10 — 우선순위 번호는 선호도를 나타내며, 번호가 낮을수록 선호됨).
  • PTR (포인터) 기록: IP 주소를 도메인 이름에 매핑하며, 주로 역방향 DNS 조회에 사용됩니다. 예: 192.0.2.1 → example.com
  • NS (네임 서버) 기록: 도메인의 권한 있는 네임 서버를 지정합니다. 예: example.com → ns1.example.com, ns2.example.com
  • SOA (권한 시작) 기록: 우선 순위 네임 서버, 도메인 관리자의 이메일, 도메인 일련번호(여러 DNS 서버 간의 DNS 데이터를 관리하고 동기화하는 데 도움이 됨), 새로고침, 재시도 및 만료 타이머를 포함하여 도메인에 대한 중요한 정보를 제공합니다(예: example.com → ns1.example.com, admin.example.com, 2024041501).
  • TXT (텍스트) 기록: 임의의 텍스트 데이터를 저장하며, 주로 이메일 검증(SPF 또는 DKIM 등) 및 기타 확인 목적으로 사용됩니다. 예: example.com → “v=spf1 include:example.com ~all”
  • SRV (서비스) 기록: 특정 서비스(예: SIP(새 창) 인터넷 전화 프로토콜, XMPP(새 창) 메시징 프로토콜 등)를 위한 서버의 위치(국가)를 지정합니다. 예: _sip._tcp.example.com → 0 5 5060 sipserver.example.com
  • CAA (인증 기관 인증) 기록: 도메인에 대한 인증서를 발급하도록 허용된 인증 기관(CA)을 지정합니다. 예: example.com → 0 issue “letsencrypt.org”
  • NAPTR (네이밍 권한 포인터) 기록: URL 해석 및 VoIP와 같은 다양한 서비스에 대한 재작성 규칙 정의에 사용됩니다. 예: example.com → 100 50 “s” “SIP+D2U” “” _sip._udp.example.com
  • DNSKEY: DNSSEC(DNS에 추가 보안 계층을 더하기 위해 고안된 사양 모음)에 사용되는 공개 서명 키를 포함합니다.
  • . 예: example.com → 256 3 13 …
  • DS (위임 서명자) 기록: DNSSEC에서 위임을 보호하기 위해 DNSKEY 기록의 해시를 보관합니다. 예: example.com → 12345 13 2 …
  • SPF (발신자 정책 프레임워크) 기록: 도메인을 대신하여 이메일을 보낼 수 있는 권한이 있는 IP 주소를 정의하는 데 사용됩니다. 예: example.com → “v=spf1 ip4:192.0.2.0/24 -all”

DNS 조회 명령

DNS 명령은 DNS 서버 및 기록을 쿼리, 테스트 및 트러블슈팅하는 데 사용됩니다. DNS는 도메인 이름을 IP 주소로 확인하는 데 중요하므로, 이러한 명령은 네트워크 관리자가 DNS 서비스가 올바르게 작동하는지 확인하는 데 필수적입니다.

아래는 자주 사용되는 몇 가지 DNS 명령입니다. 귀하는 이 명령을 터미널 창(Linux), 터미널(macOS), 명령 프롬프트(cmd) 또는 PowerShell(Windows), 또는 모바일 기기의 터미널 에뮬레이터 앱에서 실행할 수 있습니다. 플랫폼에 따라 이러한 명령을 즉시 사용하지 못할 수도 있지만, 거의 모든 경우 쉽게 설치할 수 있습니다.

nslookup

nslookup 명령은 도메인 이름 또는 IP 주소 매핑을 얻기 위해 DNS를 쿼리하는 도구입니다. 귀하는 또한 사용할 특정 DNS 서버를 지정하고 역방향 DNS 조회를 수행할 수 있습니다.

nslookup

dig

dig(Domain Information Groper) 명령은 nslookup보다 더 강력하고 유연한 DNS IP 조회 도구입니다. 네트워크 관리자는 자세한 출력과 고급 옵션 때문에 이 명령을 선호하는 경우가 많습니다.

dig

dig를 사용하면 귀하는 특정 DNS 기록 유형을 쿼리하고, 특정 DNS 서버를 쿼리하며, 역방향 DNS 조회를 수행할 수도 있습니다.

host

host 명령은 DNS 조회를 수행하기 위한 또 다른 도구입니다. dig보다 간단하지만 특정 DNS 서버 쿼리 및 역방향 DNS 조회를 포함하여 기본 작업에 충분한 정보를 제공합니다.

host

ping

ping 명령은 주로 IP 네트워크에서 호스트의 도달 가능성을 확인하는 데 사용되지만 작동의 일부로 DNS 확인도 수행합니다.

ping

traceroute / tracert

traceroute(Linux 및 macOS) 및 tracert(Windows) 명령은 소스에서 목적지까지 패킷의 경로를 추적하는 데 사용됩니다. 도메인 이름을 IP 주소로 확인하고 목적지로 가는 길에 있는 각 홉을 보여줍니다.

traceroute

ipconfig / ifconfig

ifconfig(Linux 및 macOS) 및 ipconfig(Windows) 명령을 사용하여 시스템이 사용 중인 DNS 서버를 포함한 네트워크 설정을 표시할 수 있습니다. 단독으로 사용하면 활성 인터페이스만 표시됩니다. Windows에서 모든 인터페이스를 보려면 ipconfig /all을 사용하면 됩니다.

ipconfig

DNS 조회 도구

위에서 설명한 명령줄 도구 외에도 그래픽 사용자 인터페이스(GUI)를 통해 DNS를 쿼리할 수 있는 많은 온라인 DNS 조회 도구가 있습니다. 좋은 예로 귀하가 일반 DNS 조회, MX 조회, NS 조회, CNAME 조회 및 TXT 조회를 수행할 수 있는 저희의 무료 보안 IP 스캐너가 있습니다.

DNS 조회

또한 역방향 DNS 조회(IP 조회)를 수행할 수도 있습니다.

역방향 DNS 조회

맺음말

본질적으로 DNS는 복잡하고 자동화된 전화번호부일 뿐입니다. 인간이 인터넷을 사용할 수 있게 해 주지만, 정부가 시민을 감시하고 검열하는 데 남용될 수 있으며 실제로 남용되고 있습니다. 이러한 DNS 남용을 우회하는 가장 좋은 방법은 Proton VPN과 같은 VPN 서비스를 사용하는 것입니다.

VPN 서비스는 ISP 대신 귀하의 DNS 쿼리를 안전하게 해결하며, 대부분의 신뢰할 수 있는 VPN 서비스는 귀하의 개인정보를 보호하는 것을 사명으로 삼고 있습니다.

물론 VPN은 귀하가 방문하는 웹사이트로부터 귀하의 실제 IP 주소를 숨기고, ISP가 귀하의 인터넷 활동을 모니터링하거나 검열하는 것에 대해 향상된 보호를 제공하며, 여행 중에도 좋아하는 콘텐츠를 스트리밍할 수 있는 등 다양한 이점을 제공합니다.

VPN 사용의 이점에 대해 더 알아보기