mir.pe (일반/어두운 화면)
최근 수정 시각 : 2024-10-30 15:47:12

DNS


파일:나무위키+유도.png  
은(는) 여기로 연결됩니다.
스타크래프트2의 프로게이머에 대한 내용은 아드리앵 부에 문서
번 문단을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
참고하십시오.
1. 개요2. 설명3. 기술적 설명
3.1. Authoritative answer3.2. Non-authoritative answer3.3. DDNS3.4. DNS over TLS (DoT)3.5. DNS over DTLS3.6. DNS over HTTPS (DoH)3.7. DNS over QUIC3.8. DNS 싱크홀 (Sinkhole)3.9. 기타
4. DNS 서버 목록5. 기타6. 명령어로 쉽게 변경하기7. 관련 용어8. 관련 문서

1. 개요


Domain Name System[1][2]

IP 네트워크에서 사용하는 시스템이다.

2. 설명

인터넷을 편리하게 쓰게 해주는 것으로, 도메인을 IP 네트워크에서 찾아갈 수 있는 IP로 변환해 준다. 모든 웹 사이트 주소를 도메인 대신 아이피로 외운다면 외우기도 어렵고 직관적이지도 않으며 아이피를 한 자리수만 잘못 입력해도 엉뚱한 사이트로 갈 위험도 있다. 도메인도 비슷한 문제가 있지만[3] 멀웨어 방지 DNS 서버를 사용하면 사전 예방이 가능하다.

이 DNS를 운영하는 서버를 네임서버 (Name Server)라고 한다. 서버 구축에 대한 지식이 있으면 어렵지 않게 구성하는 것이 가능하다. 규모가 있는 사이트의 경우에는 네임서버를 자체 운영하는 경우가 많다. nslookup 명령어의 ns가 Name Server다.

개인용 네임 서버를 운용해보고 싶다면 AdGuard Home 등의 무료 서비스로 쉽게 구축 가능하다. 물론 전 세계의 웹사이트의 주소를 개인 서버에 저장해두고 업데이트한다는건 불가능하므로, 실제 응답을 개인 서버에서 하는건 아니지만 기존의 DNS 서비스에 더해 여러가지 개인 설정을 덧붙여 운용이 가능하고, 단순 DNS 설정이 아닌 ‘서버’이므로 여러 기기가 동시 접속 가능하다.[4] 서버 자체가 털리지만 않는다면 보안도 훨씬 뛰어나고[5], DNS 자체에서 광고 차단 등의 각종 기능을 커스텀 할 수 있다는 것이 강점이다. 다만 말 그대로 서버기 때문에 24시간 가동되어야 하고 하드웨어가 따로 필요하다. 서버가 꺼진다면 DNS 응답을 받을 수가 없으므로 인터넷 접속이 안된다. 보통 라즈베리 파이로 간이 서버를 만들거나 원래 쓰던 NAS에 서버를 올리는 방식으로 주로 이용한다.

서버 구축이 아닌 개인 컴퓨터의 DNS 필터링 수준이라면 윈도우의 경우 Host 파일을 수정하는 방법을 쓸 수 있다. 자신이 접속하고 싶지 않은 사이트 도메인의 IP를 0.0.0.0 으로 설정하면 해당 사이트가 접속되지 않는다.

3. 기술적 설명

DNS는 도메인 이름과 IP 주소를 서로 변환하는 역할을 한다.

설정된 네임 서버로 DNS 요청이 들어오면, 전송된 도메인 이름을 DNS 정보가 모두 저장된 데이터베이스인 DNS 쿼리와 비교한 후, 해당 도메인에 맞는 IP 주소를 사용자에게 반송하여 접속이 이뤄지게 만든다. 예를 들면 우리가 브라우저 주소창에 google.com을 입력하면 네임 서버에서 해당 내용을 보고 쿼리에 대조해 본 후, [A, 142.250.76.132] 같은 응답을 하면 해당 ip로 구글 메인 페이지에 접속 하게 되는 것이다. 위 ip를 그냥 주소창에 입력해도 마찬가지로 구글 홈페이지로 접속된다. 응답이 항상 IPv4 형식인것은 아니다. DNS 통신이 암호화 된 경우엔 해당 사이트와 HTTPS 연결을 서로 인증하는 통신도 같이 한다.

리소스 레코드 (Resource record)를 가지며, 이 리소스 레코드는 A, AAAA, CNAME, NS, MX, SPF, PTR 등으로 이루어져있다.

Forward Zone (도메인 이름 → IP)과 Reverse Zone(IP → 도메인 이름)을 가진다. 주로 Forward Zone에는 도메인을 구성하는 호스트에 대한 정보를, Reverse Zone에는 DNS 서버 자기 자신에 대한 정보를 기록한다.

DNS 서버에 질의하면 돌아오는 응답은 Authoritative answer와 Non-authoritative answer로 나뉜다.

포트는 일반적으로 UDP 53번 포트를 사용한다. 다만, 패킷의 크기가 512 bytes를 초과하거나 기타 특수한 경우에는 TCP 53번 포트를 사용한다.

주 DNS가 있고 보조 DNS가 있는데, 보조 DNS 작동 원리에 대해서는 장비마다 작동방식이 차이난다. 통상적으로 주 DNS로 쿼리하다가 주 DNS에 문제가 생기면 그때 보조 DNS가 쿼리를 한다고 알려져 있는데[6], 일부 장비에서는 주 DNS랑 보조 DNS는 의미없고 다 동시에 작동하는데 가장 빠르게 IP정보를 가져온 곳을 채택한다고 한다. 만일 가장 빠르게 찾아온 DNS 서버에서 IP 정보없음이라고 뜰시에는 그냥 정보없다고 인식을 해 두번째로 찾아온 DNS에서 IP정보를 찾아서 오더라도 해당 내용은 채택하지 않기에 웹사이트 접속에 오류가 생긴다고 한다. # 일단 Windows OS가 깔린 컴퓨터 기준으로는 전자로 작동한다.[7]

Windows OS 기준으로 주 DNS랑 보조 DNS 입력창이 있는데 보조 DNS는 아예 생략하고 주 DNS만 입력해도 상관없다. 아니면 주 DNS랑 보조 DNS 둘 다 입력은 하되, 주 DNS는 제대로 입력하고 보조 DNS를 잘못된 주소로 입력했다고 가정해도 주 DNS에 문제가 생기지 않는 이상 웹사이트 접속에 문제가 생기는 것은 아니다.[8] 반대도 마찬가지다. 주 DNS를 잘못 입력하고 보조 DNS를 제대로 입력해도 웹사이트 접속에 문제가 생기지 않는다. 한 마디로, DNS 입력 항목에 제대로 작동하는 DNS 서버를 1개라도 입력하면 나머지 DNS 서버는 입력은 안하든, 잘못된거를 입력하든 DNS가 하나라도 잘 작동하면 상관없다.

네임 서버의 작동 방식을 보면 알겠지만, 서버 로그에 내가 보낸 요청과 응답이 고스란히 남게 되고 만약 제 3자가 이 요청을 가로챈다면 인터넷 사용 기록을 실시간으로 털리는 것과 다름이 없다. 따라서 보안을 위해선 후술될 암호화가 필요하다. 다만 암호화를 해도 서버엔 결국 복호화된 기록이 남고, DNS 로깅과 추적을 당하는 것이 불안하다고 생각되기 때문에 CloudFlare나 Google의 DNS 서버처럼 암호화되고 로깅을 하지 않는(다고 주장하는) 서버로 대체하거나 아예 개인 네임 서버를 운용하는 것이다.

3.1. Authoritative answer[9]

DNS 서버가 질의 받은 도메인 또는 IP 주소의 레코드를 Forward Zone, Reverse Zone 모두 가지고 있을 경우에 하는 응답이다. 여러 호스트로 구성되어 있는 도메인의 네임서버에 도메인을 구성하고 있는 호스트의 주소를 직접 질의할 때 얻을 수 있다.[10]
순서 질의자 응답자 종류 쿼리의 내용
1 클라이언트 ns1.daum.net [11] 질의 " www.daum.net"
2 ns1.daum.net에서 자신의 레코드를 확인 (성공)
3 클라이언트 ns1.daum.net 응답 " www.daum.net"의 IP 주소

3.2. Non-authoritative answer[12]

DNS 서버가 질의 받은 도메인 또는 IP 주소의 레코드를 Forward Zone, Reverse Zone 중 하나 이상 가지고 있지 않을 경우에 하는 응답이다. 도메인의 네임 서버에 해당 도메인을 구성하지 않은 호스트, 즉 외부 서버의 주소를 질의했을 때 받을 수 있는 응답이다.
가정집에서 DNS 서버에 질의할 때 받게 되는 응답이 바로 이것이다.
순서 질의자 응답자 종류 쿼리의 내용
1 클라이언트 ISP[13] 질의 " www.daum.net"
2 ISP의 DNS 서버에서 자신의 레코드를 확인 (실패)
3 ISP .[14] 질의 net DNS 서버의 도메인 이름
4 응답 net DNS 서버의 IP 주소
5 ISP net 질의 daum.net DNS 서버의 도메인 이름
6 응답 daum.net DNS 서버의 IP 주소
7 ISP daum.net 질의 " www.daum.net"
8 응답 " www.daum.net"의 IP 주소
9 클라이언트 ISP 응답 " www.daum.net"의 IP 주소

3.3. DDNS

DDNS 또는 Dynamic DNS (=동적 DNS)라 쓰이며 실시간으로 DNS를 갱신하는 방식이다. 주로 도메인의 IP가 유동적인 경우 사용된다. ip가 바뀌어도 DDNS로 설정한 도메인값은 변하지 않기 때문에 용이하게 접속가능하다.

일반적으로 우리가 이용하는 포털사이트나 각 기업, 정부기관의 홈페이지 들은 해당 기업이나 기관 등이 소유한 고정 IP를 통해서 DNS 주소를 할당 받기 마련인데, 가정 단위에 있어서 고정 IP를 할당받는 것은 상당한 비용이 들 뿐더러 IP 추적에 의한 사생활 침해 요소가 있기 때문에 유동 IP를 사용하게 된다. 그런데 유동 IP 에 그냥 DNS 주소를 할당해 버리면 사용자의 IP가 바뀌기 전 까지는 멀쩡히 작동하지만, IP 유동이 일어나는 순간 해당 주소로 들어온 트래픽은 본래 그 주소를 할당받은 사용자에게 가지 않고 새로이 그 IP를 차지하게된 엉뚱한 사용자에게 가게된다. 이를 극복하기 위해 나온것이 바로 DDNS이며 일반적으로는 유동 IP로 인터넷을 공급받는 대다수의 인터넷 사용자들이 개인 서버나 NAS 구축을 하려 할때 이용하게 된다.

그 외 자가 소유의 고유한 도메인을 DDNS서비스가 제공되는 네임서버 서비스 업체(DNSEver, DNSZi 등)에 등록 후, 해당 네임서버 서비스 업체에서 제공하는 방법 (주기적으로 서버가 위치한 IP에서 네임서버 서비스 업체에 쿼리를 날려주는 방식 등)으로 네임서버 서비스 업체의 A 레코드 IP를 갱신시켜 주는 방식 등으로 DDNS 서비스를 제공받을 수 있다.

EFM 네트웍스에서  아이피타임 브랜드의 공유기와 NAS 내장 기능으로 DDNS 기능을 제공하며 공유기는 *.iptime.org, NAS는 *.ipdisk.co.kr 형식으로만 사용이 가능하다. 아이피타임 DDNS 설정방법

개인 사용자는 duckdns라는 DDNS 제공자를 많이 사용한다. 이쪽에선 유명해서 보통 NAS나 개인 서버 용도의 OS 차원에서 공식 지원하는 경우도 많아 구축이 간편하고, SSL 인증서 발급까지 올인원으로 구성되어 설정 한번으로 https 연결까지 가능한 경우도 있다. Cloudflare를 이용하고 있다면 API를 이용해 직접 코드를 빌드하거나 관련 프로그램을 이용해 DDNS를 구현할 수 있다.

3.4. DNS over TLS (DoT)

현재 인터넷 상에서 DNS요청을 할때는 DNS정보가 UDP/TCP[15] 53번 포트를 통하여 평문으로 전송되는데 이는 설령 DNS 서버를 해외의 신뢰할만한 곳으로 지정하더라도 정부나 해킹집단이 패킷을 손쉽게 열람하여 사용자들의 인터넷 사용정보를 수집하거나 패킷을 하이재킹하여 인터넷 검열에 악용할수 있는 취약점이 있다.

포트는 TCP 853번 포트를 사용한다. TLS가 기본적으로 TCP 기반이라 TCP 포트만 사용된다.[16]

DNS over TLS는 사용자와 DNS서버간의 통신을 암호화하여 DNS요청을 감청 할수 없게 만들고 중간자 공격 (man in the middle attack, MITM)을 차단 하여 DNS 스푸핑 공격의 가능성을 줄여준다. 또 DNS over TLS는 전통적인 DNS 요청을 TLS 프로토콜을 이용해 전송함으로써 높은 호환성과 편리성을 가져다 준다. 이 기술은 IETF에서 RFC 7858, RFC 8310으로 표준화되었으며[17] 이미 안드로이드의 차세대 버전인 P (9.0)부터 공식지원은 물론 윈도우나 맥, iOS, 안드로이드 구버전에서도 서드파티 소프트웨어를 통해 사용이 가능하다. Microsoft Windows에서는 Windows 11 기준으로 Build 버전이 25158 이상[Dev]이면 공식적으로 Windows에서도 지원한다.

다만 이 기술은 DNS 서버가 지원해 줘야만 사용가능하며 정부나 해킹집단의 통제하에 있는 DNS 서버(각국의 ISP가 기본제공하는 서버들)에선 설령 DNS over TLS를 지원하더라도 서버 자체가 오염되어 올바른 응답을 해주지 않으므로 소용이 없다.

참고로 후술하는 DoH가 DoT보다 반드시 월등한지에 대해서는 논란의 여지가 다분히 존재한다. 두 방식의 가장 큰 차이점은 통신 포트의 차이인데, 쉽게 말하면 TLS는 일반적으로 덜 사용하는 포트 (53 혹은 853)를 사용하고 HTTPS는 거의 모든 웹 사이트와 통신할때 사용하는 포트 (443)을 쓴다고 생각하면 된다. 이런 차이점이 일장일단을 만들어내는데, DoT는 사용자 입장에선 DNS 통신만 콕 집어서 보기 좋고 통제도 간편한 반면 공격자 입장에서도 필요한 정보만 빼가기 좋은 상황이 된다. DoH는 웹 사이트의 HTTPS 통신과 같이 굴비처럼 엮여서 로깅되기 때문에 특정 데이터만 뽑아내기 쉽지 않아 말 그대로 ‘위장’되는 효과가 있지만 사용자 입장에서도 마찬가지라 통제가 어려워진다.[19] 다만 일반 사용자 수준에선 추적과 통제의 필요성이 적으므로 약간이라도 더 개인정보 보호에 도움이 되는 DoH가 선호되는 측면이 있다. 같은 네임 서버라면 두 방식 모두 속도는 사실상 같다고 보면 된다. 매우 특수한 상황이 아니라면 사실상 같은 방식에 통신 포트만 다르기 때문에 속도에 눈에 띄는 차이가 발생할 수가 없다.

안드로이드 9.0 (파이) 이상의 스마트폰에서는 기본 설정 앱에서 프라이빗 DNS를 제공하며, iOS iOS 14부터 DoT 프로파일을 설치하면 DoT로 연결된다.

국내에서 가정용으로 유통되는 유무선 공유기 중에서는 ASUS 제품이 유일하게 DoT 설정이 가능하다.

3.5. DNS over DTLS

DNS over DTLS. 말 그대로 TLS 대신 DTLS를 사용하는거이며, DNS over TLS랑 비슷하나 차이점이 있다면 DTLS가 기본적으로 UDP 기반이라 UDP 853번 포트를 사용한다.

이 기술은 IETF에서 RFC 8094, RFC 8310으로 표준화되어 있다.

3.6. DNS over HTTPS (DoH)

HTTPS를 사용해 사이트를 방문하고 있을때도 DNS의 요청은 암호화가 되지 않는다. 즉 전송되는 패킷 자체는 암호화되지만 패킷의 목적지는 평문으로 노출되어 있고 프라이버시 보호가 안 된다는 문제점이 있는데 DNS over HTTPS는 이러한 문제점을 해결하여 준다. HTTPS인만큼 포트는 TCP 443번 포트를 사용한다.

DNS over HTTPS는 DNS 요청을 HTTPS를 통해 HTTP GET(또는 POST) 명령을 사용하여 DNS 정보에 접근한다. 이를 통하여 DNS over HTTPS는 DNS 쿼리를 웹쿼리로 위장하여 보이게 함으로써 보안성을 높여주는 효과가 있으며 전통적인 DNS 요청과는 다르므로 개발방향에 따라 높은 확장성을 확보할 가능성이 있다.

DNS over HTTPS는 2018년 10월 RFC 8484라는 이름으로 IETF에 표준으로 등재되었다. 표준 문서

Cloudflare의 DoH 서버는 표준 DNS 요청에 사용되는 Wireformat뿐만 아니라 최근의 개발자에게 익숙한 JSON 포맷을 주고받는 기능을 추가로 제공한다.

현재 지원하는 브라우저는 파이어폭스[20]와 크롬 #이 있다. 운영 체제 중에서는 윈도우 11이 정식으로 지원한다. 웹 브라우저와 DNS 서버 양측이 모두 지원해야 사용 가능하다.

영국의 인터넷 공급 사업자 협회 (ISPA)와 인터넷 감시재단 (IWF)[21] 모질라의 파이어폭스가 설치하는 즉시 클라우드플레어 사의 DNS 서버에 DoH를 사용하여 연결하는 행위가 영국에서 사용되는 아동보호용 컴퓨터 사용기간 조절 프로그램과 ISP의 음란물 - 유해물 차단을 무용지물로 만들 것이라면서 2019년 모질라 재단에 "인터넷 빌런 상"을 수여한다. 이후 모질라 재단이 "몇십 년은 낙후된 인터넷 환경의 개선을 주도해 나가는 걸 ISP가 어떻게 받아들이는지 이번 사건으로 잘 알았다"며 신랄하게 까내리자 ISPA는 즉시 사과했다.

일부는 모질라의 파이어폭스가 클라우드플레어 사의 DNS에 기본으로 연결된 것이 오히려 모질라 재단과 클라우드 플레어사가 역으로 사용자의 DNS 쿼리 내역을 전부 수집할 수 있게 되는 것이 아니냐며 이를 비판하는데, 모질라 재단은 클라우드플레어 사와 제휴를 맺은게 아니라 아예 문서상으로 계약을 맺었는데, 이는 절대로 파이어폭스 사용자의 DNS의 쿼리를 수집하지도 않고 들여다 보지도 않을 것 이라는 조항을 포함하고 있다. 모질라 재단이 실제로 개인정보 관련해서 비판받은 적이 존재하는게 사실이기도 하므로 클라우드플레어 사와 모질라 재단이 맺은 이 계약이 개인 사용자가 단순히 몇번의 검색 후 임의의 DNS 업체를 골라서 모종의 법적 계약 없이 DNS 쿼리를 보내는 것보다 안전하다고 할 수 있을지는 사용자가 판단 하는 것이 옳을 것이다.

DoH가 지원되지 않는 브라우저를 위하여 PC에 설치하여 사용하는 DNS Proxy 프로그램도 존재한다. PC의 네트워크 설정에서 DNS 주소를 localhost (127.0.0.1)로 설정하고 PC에서 실행되는 DNS서버가 Google이나 Cloudflare의 DoH 서버와 통신하는 방식.
그러나 이러한 DoH 방식도 100% 완벽하지는 않은데, 패킷 자체에 대한 데이터의 복호화는 불가능하더라도 수신지에서 DoH 트래픽을 식별하는 것은 가능하다는 주장이 나오고 있기 때문이다. #

실제로, DoH의 사용중 DoH의 적용이 띄엄띄엄 적용되는 경우가 있어서 사실상 완벽한 종단간 암호화라기 보다는 부분 암호화에 불과하다는 비판이 존재한다.

클라이언트에서 라우터까지, 라우터에서 DNS 제공업체까지, DNS 제공업체 내부에서 네트워크 단을 오가는 사이, 그리고 DNS 제공업체가 요청받은 쿼리에 대한 도메인의 DNS 레코드를 모두 가지고 있지 않을 때, 이를 모두 보유한 Authoritative DNS 서버에 요청을 하는 과정을 모두 통틀어서 암호화가 유지되어야 비로소 DNS 요청이 완벽하게 암호화 되었다고 할 수 있는데, DoH의 적용이 투명하게 공개되어 있지 않으므로 이를 알 수 없다는 비판이다.

그러나 이 비판은 일반적인 사용자들에게는 큰 의미가 없는데, 보통 일반 사용자들은 ISP(인터넷 제공업체)가 오고가는 트래픽을 DPI로 까보거나 평문으로 전달되는 DNS 요청의 수집을 막기 위해서 DoH를 사용하는 것이며 애초에 신뢰 할 수 있는 DNS 업체와의 통신만 보안이 유지되면 되지 이런 DNS 제공업체가 자신들의 IP로 다른 DNS 업체에 문의하는 건 익명성에 훼손을 가하지 않기 때문이다.

2022년, UDP 포트를 이용하는 DNS over HTTP/3 프로토콜을 지원하는 서비스가 늘어나기 시작했다. 더불어서 Encrypted Client Hello (ECH) 기술을 시범적으로 적용하는 DNS 서버도 생겼다.

윈도우 10까지는 DoH를 설정 앱에서 공식적으로 지원하지 않고, regedit에서 약간의 손을 봐야 지원한다.[22]

3.7. DNS over QUIC

DTLS 소켓 대신에 QUIC 프로토콜에 맞게 커스터마이징된 UDP 보안 소켓을 이용하여 DNS 통신을 암호화한다. QUIC가 HTTP/3로 통합되었기에 DNS over HTTP/3 (DoH3)라고도 불린다. DNS over DTLS와 동일하게 UDP 853 포트만 사용한다.

이 기술은 IETF에서 RFC 9250으로 표준화되어있다.

3.8. DNS 싱크홀 (Sinkhole)

한국인터넷진흥원 에서 제공하는 보안서비스들 중의 하나로, 악성봇에 감염된 PC를 해커가 조종하지 못하도록 악성봇과 해커의 명령/제어 서버 간 연결을 차단하는 서비스이다. 그러니까, 악성봇에 감염된 PC가 DDoS 공격, 스팸발송 등에 악용되는 것을 사전에 방지하는 역할을 한다는 것이다. 현재는 자체 DNS 서버를 운영하는 민간기관을 대상으로 제공되고 있다. 악성봇이 해커의 C&C 서버[23]에 연결을 시도할 때 KISA 싱크홀 서버로 우회 접속되도록 하여, 해커의 악의적인 명령을 전달받지 못하게 막아준다. #

3.9. 기타

4. DNS 서버 목록


주DNS랑 보조DNS를 어떻게 설정할지 궁금하다면, 그냥 본인이 설정하고 싶은 DNS로 설정하면 된다. 즉, 순서는 상관없다. 그래도 굳이 암묵적인 룰이 있다면, 구글 퍼블릭 DNS 기준으로 주 DNS를 8.8.8.8, 보조 DNS를 8.8.4.4 처럼 등록하면 된다. 주 DNS만 설정하고 보조 DNS를 설정하지 않는 것도 가능은 하다. 다만 주 DNS가 서버 점검을 하면 일시적으로 접속이 끊길 수 있으니 가능하면 보조 DNS 설정을 권장한다. DNS 서버는 이런 문제를 최소화하기 위해 밤이나 새벽 시간에 점검을 하는데 유럽이나 미국 소재 DNS를 쓴다면 한국과는 낮밤이 반대이므로 낮에 접속 이슈가 생길 수 있다.
운영주체 서버이름 주소 DNSSEC DNS over HTTPS[31] DNS over TLS[32] 기타
KT DNS 168.126.63.1
168.126.63.2
O X X KT의 메인, 보조 DNS 주소이다.
SK Broadband 210.220.163.82
219.250.36.130
O X X SK브로드밴드의 메인, 보조 DNS 주소이다.
LG U+ 164.124.101.2
203.248.252.2
O X X LG U+의 메인, 보조 DNS 주소이다. [참고1]
1.214.68.2[34]
61.41.153.2
LG Hellovision DNS 180.182.54.1[35]
180.182.54.2
O X X LG헬로비전의 메인, 보조 DNS 주소이다. [참고2]
AdGuard DNS[37][38] 94.140.14.14
94.140.15.15
2a10:50c0::ad1:ff
2a10:50c0::ad2:ff
O https://dns.adguard.com/dns-query tls://dns.adguard.com 광고, 추적 및 피싱 차단(기본)
94.140.14.15
94.140.15.16
2a10:50c0::bad1:ff
2a10:50c0::bad2:ff
O https://dns-family.adguard.com/dns-query tls://dns-family.adguard.com 기본 + 성인 웹 사이트 차단 + 세이프서치(가족 보호)
94.140.14.140
94.140.14.141
2a10:50c0::1:ff
2a10:50c0::2:ff
O https://dns-unfiltered.adguard.com/dns-query tls://dns-unfiltered.adguard.com 필터링 하지않음 (Non-filtering)
Cisco OpenDNS 208.67.222.222
208.67.220.220
2620:119:35::35
2620:119:53::53
O https://doh.opendns.com/dns-query tls://dns.opendns.com 홈페이지
Cloudflare DNS[39][40] 1.1.1.1
1.0.0.1
2606:4700:4700::1111
2606:4700:4700::1001
O https://cloudflare-dns.com/dns-query tls://one.one.one.one
tls://1dot1dot1dot1.cloudflare-dns.com
홈페이지
사용하고 있는 IP 주소가 1.1.1.1이다. 구글의 DNS도 8.8.8.8로 외우기 쉽다고 알려져 있는데, 그보다 더 외우기 쉬운 DNS IP가 나타난 것.
1.1.1.2
1.0.0.2
2606:4700:4700::1112
2606:4700:4700::1002
O https://security.cloudflare-dns.com/dns-query tls://security.cloudflare-dns.com 멀웨어 차단
1.1.1.3
1.0.0.3
2606:4700:4700::1113
2606:4700:4700::1003
O https://family.cloudflare-dns.com/dns-query tls://family.cloudflare-dns.com 멀웨어, 성인 사이트 차단
Google Public DNS 8.8.8.8
8.8.4.4
2001:4860:4860::8888
2001:4860:4860::8844
O https://dns.google/dns-query tls://dns.google 홈페이지
Quad9 9.9.9.9
149.112.112.112
2620:fe::fe
2620:fe::9
O https://dns.quad9.net/dns-query tls://dns.quad9.net 홈페이지 IBM을 비롯해 여러 보안업체와 비영리단체가 협력하여 서비스 중인 DNS.
Mullvad VPN[41] 194.242.2.2
193.19.108.2
2a07:e340::2
O https://doh.mullvad.net/dns-query tls://doh.mullvad.net 일반 DNS
194.242.2.3
193.19.108.3
2a07:e340::3
O https://adblock.doh.mullvad.net/dns-query tls://adblock.doh.mullvad.net 광고 차단 필터링. 위의 AdGuard 필터 등을 쓴다. GitHub, 사이트 참조바람.
DNS.SB 185.222.222.222
45.11.45.11
2a09::
2a11::
O https://doh.dns.sb/dns-query
https://doh.sb/dns-query
tls://dot.sb xTom이라는 호스팅 업체가 운영하는 DNS. 서울 서버도 있으며 AWS를 쓴다고 한다. 사이트
Cleanbrowsing 185.228.168.168
185.228.169.168
2a0d:2a00:1::
2a0d:2a00:2::
O https://doh.cleanbrowsing.org/doh/family-filter/ tls://family-filter-dns.cleanbrowsing.org 멀웨어, 성인 사이트, VPN 차단 사이트
185.228.168.10
185.228.169.11
2a0d:2a00:1::1
2a0d:2a00:2::1
O https://doh.cleanbrowsing.org/doh/adult-filter/ tls://adult-filter-dns.cleanbrowsing.org 멀웨어, 성인 사이트 차단
185.228.168.9
185.228.169.9
2a0d:2a00:1::2
2a0d:2a00:2::2
O https://doh.cleanbrowsing.org/doh/security-filter/ tls://security-filter-dns.cleanbrowsing.org 멀웨어 차단

위 대표적인 DNS 서버 외에도 셀 수 없이 많다. 이 외 DNS 서버를 더 알아보고 싶다면 AdGuard 팀이 모아둔 DNS 서버 목록을 참고하자.

5. 기타

일반적으로 집에서 사용하는 컴퓨터는 통신사(ISP)에서 기본적으로 제공하는 DNS 주소를 사용하도록 설정되어 있다. 그러나 학교 등에서 전용선을 통해 인터넷에 연결하는 컴퓨터는 별도의 DNS 설정이 되어있는 것이 보통이다. 인터넷 응답 속도 향상을 위하여 DNS 설정을 따로 하기도 한다. # #

대한민국을 제외한 많은 나라는 가정용 기업용 인터넷 회선을 가리지 않고 Reverse DNS 설정이 되어 있는데[42], 유독 한국의 가정용 인터넷과 상당수의 중소 규모의 기업용 인터넷은 Reverse DNS 설정이 되어 있지 않고, ISP에 이것과 관련해서 문의를 해도 정책상 안 된다는 답변을 받기 십상이다.[43] 그래서 해외 IRC 서버나 메일 서버에 접속하는 경우, Reverse DNS 레코드가 없다는 메시지를 볼 수 있다.

종종 인터넷에서 볼 수 있는 ‘ 유튜브 속도 개선법’과 같은 팁 중엔 DNS 서버를 바꾸는 것이 있는데, 이 중 해외 DNS를 이용하는 방법은 적용하면 오히려 국내 홈페이지의 로딩 속도가 느려질 수 있는 부작용이 있으므로 주의해야 한다.

만약 속도 개선이나 보안을 목적으로 해외 업체의 DNS 서버를 사용해야 한다면, CloudFlare나 구글처럼 한국에도 서버를 두고 있는 DNS 서버를 사용하는 것이 좋다. 서버가 해외에 있다면 DNS 요청과 응답이 물 건너 멀리 갔다 다시 돌아오는 꼴이니 당연히 속도가 느릴 수밖에 없다.

DNS 서버가 털리면 엉뚱한 곳으로 리다이렉트되는 사고가 터지거나, 인터넷이 먹통이 되어버린다. 단 이런 경우는 먹통이 되지 않은 다른 DNS 서버를 사용하면 해결된다. 만에 하나 모든 DNS 서버가 터지더라도 사용자가 IP를 외우고 다닌다면 이런 상황에서도 일부 웹사이트에 접속할 수는 있다. 단, 나무위키를 포함한 일부 사이트에서는 IP Direct Access를 막고 있으니 접속이 불가능한 곳도 있다. 또한 요즘에는 웹 호스팅이나 클라우드 서비스 등으로 한 개의 IP로 여러 사이트를 연결해놓은 경우가 많아 이런 경우에도 IP주소로 접속할시에는 접속이 불가능하다.

과거 대한민국 정부에서는 DNS를 이용해서 warning.or.kr을 띄웠었다. 국내 ISP들이 돌리는 DNS 서버에 차단하고 싶은 특정 주소를 입력하면 warning.or.kr로 자동 리다이렉트 되는 식이었다. 하지만 결국 이 방법은 국내 ISP들의 DNS 서버를 안 쓰면 해결되는 일이므로, 실효성 논란과 국내 기업 역차별 문제가 불거졌다. 그래서 지금은 심층 패킷 분석 기법을 사용해서 HTTP 헤더를 까 보는 식으로 검사를 하고 있다.

.GEEK, .onion 같은 특이한 주소를 연결해 주는 서버나 보안 업체에서 제공하는 DNS 서버도 있다. 후자의 경우 악성 코드, 유해 매체 차단 등의 기능이 들어가기도 한다.

DNS 서버의 벤치마킹 프로그램으로 namebench라는 프로그램이 있다. 사용법과 다운로드 #구글 코드 다른 개발자의 DNS Benchmark도 있다. #

인터넷 검열이 매우 심한 국가에서는 1.1.1.1이나 8.8.8.8 같은 특정 DNS 접근 자체를 아예 설정 못하게끔 IP를 차단해 연결 자체를 막는게 이론상 가능하다.[44] 그러나 DNS 서버 특성상 불법적인 요소가 없는데다가, 해당 국가에서 정식으로 사업하는 기업의 DNS를 멋대로 차단했다가는 국제 분쟁으로 번질 위험이 있기 때문에, 인터넷 검열이 매우 심하기로 유명한 중국[45], 북한 같은 국가만 아니면 DNS 서버 IP를 차단하지 않는다. 또한 북한이나 중국조차 최소한 외국인들 대상으로는 1.1.1.1이나 8.8.8.8 등 유명 해외 DNS 서버에 접속되는것이 확인되었다.[46] 다만, 중국 국적을 가진 사람이 중국에서 1.1.1.1이나 8.8.8.8 등의 해외 DNS 접속이 안 되는 경우가 종종 보이며, 어찌저찌해서 접속에 성공했다고 하더라도 금세 다시 연결이 차단되거나 공안이 직접 체포하러 올 수도 있다.

어찌보면 DNS도 공공재라고 볼 수 있다. DNS 서버는 아무리 사용자들이 몰리더라도 트래픽 처리량이 상당히 적은 편[47]이라 회선관리 측면에서나 비용 측면에서나 어느정도 자본력만 갖추고 있기만 하면 DNS 서버 운용에 별 부담이 안 되기에 가능한 것. 물론, 일부 DNS는 IP 화이트리스트 제도를 도입해 특정 IP에서만 접근을 허용하게끔 하지만, 이런 DNS 서버 중에서 유명한 서버는 없다. 유명 DNS 서버는 다 공공재라고 보면 된다.[48]

iOS의 경우 DNS 프로필을 설치하면 DoT와 DoH를 지원한다. 다만 단일 프로필만 지원하는지 다중 프로필을 지원하는지 확인해야하며 단일 프로필만 지원하는 경우 DNS를 바꿀때마다 다시 설치해야 한다. DNS 프로필을 생성할수 있는 사이트도 있다.

6. 명령어로 쉽게 변경하기

시작 메뉴> Windows 시스템(Windows 10)> 명령 프롬프트(마우스 오른쪽 단추 클릭 - "관리자 권한으로 실행") 또는 윈도우 키 + R → cmd 입력 후, Shift + Enter

명령 프롬프트 창에서 다음을 입력한다:
#!syntax powershell
C:\>netsh interface ipv4 set dns "이더넷" static 8.8.8.8
C:\>netsh interface ipv4 add dns "이더넷" 8.8.4.4 index=2

C:\>netsh interface ipv4 set dns "Ethernet" static 8.8.8.8
C:\>netsh interface ipv4 add dns "Ethernet" 8.8.4.4 index=2


"자신의 인터넷 보기"에서 이더넷(혹은 로컬 영역 연결)이라고 보통 써 있을 것이다. 영문은 Ethernet, 와이파이나 기타 다른 공유기의 경우 다를 수 있다.
#!syntax powershell
C:\>netsh interface ip show config 
C:\>netsh interface show interface


또는 파위셸에서도 가능하다. 실행 창에 "POWERSHELL" 또는 시작의 "Windows Powershell"을 관리자 권한으로 실행한다.
#!syntax powershell
PS C:\> Set-DNSClientServerAddress "이더넷" -ServerAddresses ("1.1.1.1","1.0.0.1")
PS C:\> Set-DNSClientServerAddress "이더넷" -ServerAddresses ("2606:4700:4700::1111","2606:4700:4700::1001")

IP는 위의 정보대로 변경하여 대입하면 된다.

명령 프롬프트에서 제목 표시줄 오른쪽 단추 클릭 → 편집 → 선택을 누르고, 내용을 끌어 복사하여 다른 곳에 붙여넣기가 가능하다. 메모했다가 윈도우를 포맷 후 바로 바꾸면 된다.

#!syntax powershell
C:\>netsh interface set interface "이더넷" disable
C:\>netsh interface set interface "이더넷" enable

각각 중지와 다시 시작 명령어. 또는 직접 가서 마우스 우클릭 해서 변경 해도 됨. 그냥 재시동해도 변경된다.

혹시라도 DNS를 잘못 입력해서 인터넷이 안 되면, ipconfig /renew을 입력하여 초기화하면 된다.

제어판\네트워크 및 인터넷\네트워크 연결에서 연결된 어댑터를 클릭하고 속성에서 바꾸는 방법도 있다.

iOS의 경우 설정 → Wi-Fi → (사용중인 네트워크 명) ⓘ → DNS 구성에서 자동을 수동으로 선택한 다음 기존의 DNS를 원하는 DNS로 수정하면되나 macOS Big Sur, iOS 14부터는 DNS값이 포함된 프로파일을 설치하면 쉽게 변경할수있으며 DoH와 DoT를 지원한다.

7. 관련 용어

8. 관련 문서



[1] 'DNS'는 시스템을 의미하고, 이 시스템을 운영하는 서버가 'DNS서버'다. [2] 가끔 시스템을 서버로 착각하는 사람이 있는데 다르다. [3] goggle.com의 경우 구글의 도메인(google.com)과 유사한 도메인을 가졌으면서 악성 사이트로 연결되는 것으로 악명높았다. 2023년 기준으로 접속되지 않는다. [4] 만약 개인 네임 서버를 구축하고, 공유기(라우터)의 dns 설정을 그 서버로 해버리면 공유기에 접속된 모든 기기가 모두 그 서버를 거치게 된다. 따라서 기기 하나하나 따로 설정할 필요가 없고, 특정 트래픽 제한이나 추적 등도 가능해진다. [5] 물론 절대적인 의미의 보안은 내 방 구석의 간이 서버보단 구글같은 초대기업의 데이터센터의 보안이 월등히 뛰어나겠지만, 그런곳은 항상 전 세계 해커들의 목표가 되며 악의를 품은 내부 직원이 데이터를 사적으로 사용한다든가 등등 (확률은 낮겠지만) 개인이 통제 불가능한 상황들이 발생할 가능성이 있다. 개인 서버는 서버 하드웨어 자체를 도둑맞는다거나, 서버 접속 계정을 피싱당하거나 많고 많은 서버 중 나만 집요하게 공격하는 해커가 있지 않은 이상은 보안을 위해 하라는 것만 적당히 지키면 적어도 통째로 털릴 일은 거의 없다. [6] 즉, 보조 DNS는 백업용 개념이다. [7] 정확히는 OS나 네트워크 설정에 따라 다르다. 윈도우의 경우 백업 스트림 방식이라 저렇게 작동히는 것이고, 경우에 따라 랜덤 히트 (무작위 접속), 가장 빠른 서버로 접속, 순차 접속 등등이 있을 수 있다. 특히 공유기 (라우터)의 경우 다른 방식일 가능성이 높아서 보조 dns 서버에 백업용도로 다른 주소를 입력해 뒀다 그 주소로 계속해서 dns 요청이 갈 수도 있으니 주의해야 한다. [8] 그러나 만약 주 DNS에 장애가 생기면 보조 DNS가 쿼리하는데 보조 DNS를 잘못 입력한 상태이기 때문에 보조 DNS도 먹통인 상태이므로 웹사이트 접속에 문제가 생길수는 있다. 이는 주 DNS만 입력하고 보조 DNS를 생략했을때도 마찬가지다. [9] 권한 있는 응답 [10] 여러 별 짓을 다해도 권한없는 응답 (Non authoritative answer)을 받을 수밖에 없는 가정집에서 권한있는 응답을 얻어내기 위해서는 관리자 권한으로 명령 프롬프트 창을 띄워서 nslookup → lserver (예시)ns 혹은 ns1, ns2.daum.net에 해당되는 ip 주소를 입력 → daum.net 혹은 www.daum.net까지 입력하고 엔터치면 아래 항목의 권한없는 응답이 뜨지않고 바로 조회된다. [11] daum.net의 DNS 서버 (보조: ns2.daum.net) [12] 권한 없는 응답 [13] ISP (통신사)의 DNS 서버를 이용한다고 가정한다. [14] 루트 DNS 서버를 .으로 표시한다. [15] 일반적으로는 UDP 53번 포트를 사용한다. [16] UDP 기반 TLS는 DTLS라고 따로 있다. [17] IETF의 Proposed Standard는 실제 사용에서 당장 문제가 거의 없는 수준에 이르면 도달하는 단계로 대부분의 표준이 이 단계에서 머무른다. TLS도 Proposed Standard이다. [Dev] 버전 [19] 같은 포트에서 같은 방식으로 통신을 주고받기 때문에 암호화되면 이게 웹과 통신한 것인지 DNS 통신인지 구분할 길이 없다. 다만 DoH 항목에 후술될 내용처럼 구별이 가능한 방법이 있다는 주장이 있다. [20] 단 기본 설정은 꺼져 있기 때문에 114버전부터 설정 - 개인정보 및 보안에서 활성화가 필요하다. [21] 영국의 인터넷 사업자들의 이권을 보호하고 아동 포르노나 불법적인 정보를 인터넷에서 추방하기 위해 조직된 자율규제 기구이다. 우리나라로 치면 한국인터넷진흥원. [22] gpedit.msc에서도 DoH 항목이 전혀 없다. [23] 'Command and Control'의 약자로 해커가 각 좀비PC를 관리하고 공격 명령을 내리기 위해 구축하는 서버로, 사용자 PC 등이 봇에 감염되면 해당 C&C 서버에 내리는 명령을 받아 다양한 공격을 수행하게 된다. [24] 이 경우 먼저 DNS 자동 설정 (또는 DHCP로 설정)을 켜거나 DNS1을 8.8.8.8, DNS2를 8.8.4.4로 설정한다. 구글 퍼블릭 DNS로, 일단 인터넷 연결에 장애가 생긴 상황이므로 관련 지식이 부족하더라도 이를 쉽게 해결하는 것을 최우선으로 한다. 그 다음 PC의 경우 명령 프롬프트를 관리자 권한으로 실행한 후 ipconfig/flushdns를 입력해서 DNS 캐시 초기화를 진행하고 모바일의 경우 재부팅을 하면 된다. 참고사이트의 시작-실행 대신 윈도우키+R 단축키를 쓰거나 윈도우 10의 경우 하단 검색창에 cmd를 입력하면 명령 프롬프트가 검색된다. [25] 한국 통신사 DNS의 경우 warning.or.kr이 있다. 통신사 DNS 서버에서 방송통신심의위원회에서 지정한 인터넷 검열 사이트일 경우 실제 사이트의 IP가 아니라 warning.or.kr의 IP를 반환하는 것이다. [26] 한 예로, 클라우드플레어 DNS 서버를 사용하면 archive.is 접속이 되지 않는 경우가 있었다. 현재는 제대로 접속된다. [27] 명령 프롬포트의 ping 명령을 통해 DNS 서버의 응답 속도를 알 수 있지만, DNSBench같은 프로그램으로 각 DNS 서버별 응답 속도를 동시에 측정할 수도 있다. [28] DNS over HTTPS는 지원되는 경우 URI를 적는다. URI가 왼쪽의 IP 형식 DNS 주소와 IP가 다를 수 있다. [29] 안드로이드 9 이상의 경우 프라이빗 DNS 설정에서 "tls://" 부분을 제외한 나머지 URL을 입력하여 설정할 수 있다. [30] iOS 14이상의 경우 DNS 서비스에서 제공하는 프로파일을 설치하여 변경할수 있다. [31] 443포트를 통한 통신. 853포트를 사용하는 DoT(DNS Over TLS) 대비 막힐 확률이 약간 적다. 자세한 정보(클라우드플레어). @ [32] 853포트를 통한 통신. 자세한 정보(클라우드플레어).( @) [참고1] CJ헬로를 인수한 이후부터는 만일 CJ헬로 DNS 서버가 운영이 종료된다면 기존의 헬로비전 사용자들은 임의로 다른 DNS 서버를 사용하도록 설정하지 않는 이상 LG U+ DNS를 사용하게 될 수도 있으므로 참고바람. [34] 이 DNS 주소 2개는 LG U+ 일부 회선, 타사 회선에서 작동하지 않는 것으로 확인된다. [35] LG헬로비전에서 제공한 공유기는 이 주소가 첫번째 DNS로 고정되어있으며 두번째 DNS도 공유기내에 미리 저장된 주소를 제외하면 사용할 수가 없다. [참고2] 2019년 11월 10일, 공정거래위원회는 LG U+ 의 CJ헬로 인수를 공식적으로 승인했고, 2019년 12월 15일, 과기부가 LG U+의 CJ헬로 인수를 승인했다고 밝힌데다, 동년 12월 24일에는 임시주주총회를 열어서 LG헬로비전으로 이미 사명을 변경 하였다. 상황이 이렇게 흘러가면 기존의 CJ헬로 DNS 서버가 운영이 종료 될 가능성을 배제 할 수 없으므로 참고바람. [37] 기본 등급과 가족 보호 등급으로 나뉘어져 있다. 안내 페이지 [38] 크롬에서 구글 검색 이미지와 네이버TV 소리가 안나온다는 제보가 있다 [39] Cloudflare와 APNIC의 합작 공개 DNS [40] 일부 앱이나 사이트에서 오작동을 일으킬 가능성이 있다. Cloudflare에서는 해당 앱(사이트)의 문제라고 주장한다. [41] DNS over HTTPS/DNS over TLS에서만 지원하며 수동 DNS설정에서는 작동하지 않는다. [42] 이것을 PTR 레코드 라고도 한다. [43] 모든 ISP들 공통사항으로 인터넷서비스 이용약관 에다가 원활한 정보전송 역무를 수행하기 위하여 자율적으로 해당 역무의 제공을 거부하는 조치를 할 수 있다고 명시 한 것을 봐서는 아무래도 Reverse DNS를 설정하기 위한 목적이 곧 메일 서버를 운영하겠다는 거나 마찬가지로 간주 할 수밖에 없고, 특히 유동 IP대역에서 메일서버 등의 서버 운영을 정상적인 정보전송이 아닌 경우로 판단하고 있는 것으로 보인다. KISA 불법스팸대응센터 BLOCK25에 기재된 내용도 참조할 것. 그러면, 통신사들이 일반 가정집에다 할당하는 IP주소들에다가 리버스를 할당하지 않는 정책을 펴고 있는지에 대한 이유를 알 수가 있게 될 것이다. 물론 이러한 이유들이 그냥 표면상의 이유에 불과한 것이고 개인이 가정에서 서버를 운영 하겠다 싶으면(비상업적 목적이라 할지라도) 기업고객들과 똑같이 고정 IP 사용료 까지 받아먹고자 하는것이 진짜 이유일 것으로 추측된다. 고정 IP를 할당받은 다음에 리버스 등록을 요청했을 때 등록이 완료되었다는 답신이 오면 추측이 아닌 100%라 보면 될 것이다. [44] IP를 차단하는 방법도 있고, DoT인 경우 853번 포트를, DoH인 경우 DNS 서버 IP + 443번 포트를 막아버리면 된다. [45] 홍콩, 마카오 제외 [46] 물론 이는 중국(홍콩, 마카오 제외)이 원래부터 자국민들 대상으로 황금방패를 도입했지, 외국인들 대상으로는 애초에 황금방패를 도입하지 않기 때문에 그런것 역시 있다. 또한 Cloudflare는 중국 본토에도 중국 지사와 서버(데이터센터)가 여러 군데 설치되어있어서 외국인이 아니더라도 기업 등 꼭 필요한 상황이라면 제한적으로 1.1.1.1을 사용할 수 있다. [47] 정확히는 로컬 DNS에 캐싱 기능이 있어야된다. 캐싱 기능이 없으면 트래픽 처리량이 기하급수적으로 늘어날 수 있다. [48] 전 세계 어디서나 접속에 제한을 두지 않은 점, 무료로 서비스 한다는 점이 있다. [49] 각 지역별 전화국사들이 그냥 커피라면 혜화관문국사와 구로국사는 T.O.P라 할 만큼 국내 인터넷 메인 허브라는 중대한 역할을 맡고있음과 동시에 해외 사이트로의 접속하는 것 까지 책임지기 위한 해외 노드까지 구축되어 있다. [50] 특히 대란이 터졌던 당시엔 DNS 서버 터졌을때도 헬게이트 그 자체였지만, 만일에 DNS 서버뿐만 아니라 이 두 국사들 중에 한곳만이라도 내부의 모든 장비들이 맛이 가버린다면...