용도가 확연히 다른 두 가지 상황
dig / nslookup
전체 프로토콜 정보, 스크립트 가능, 오프라인
웹 기반 도구
설치 불필요, 일괄 조회, 공유 가능
“Server DNS Address Could Not Be Found” 해결
통화는 보통 이렇게 시작됩니다. “인터넷이 고장 났어요. 그런데 한 웹사이트만 안 돼요.” Chrome은 회색 페이지와 작은 공룡, 그리고 Server DNS address could not be found라는 문구를 보여 주고, 그 아래에는 더 작은 글씨로 DNS_PROBE_FINISHED_NXDOMAIN이 표시됩니다. 다른 모든 것은 정상적으로 열립니다. 전화를 건 분은 이미 라우터를 두 번 재시작한 상태입니다.
저는 이 오류를 셀 수 없을 만큼 많이 고쳐 왔고, 이 오류는 사람들이 두려워하는 것을 의미하는 경우가 거의 없습니다. Chrome에는 아무 문제가 없으며, 웹사이트도 보통 사라지지 않았습니다. 컴퓨터가 사이트의 주소를 물었고, 체인의 어딘가에서 “그런 곳은 없습니다”라는 답이 돌아온 것입니다. 그 체인, 즉 브라우저의 캐시, 운영 체제의 캐시, 라우터, 제공업체의 리졸버에는 여러 고리가 있으며, 그중 어느 하나라도 거짓말을 하고 있을 수 있습니다. 해야 할 일은 그 하나가 무엇인지 찾는 것뿐입니다.
첫 번째 질문: 모두에게 안 되는 것입니까, 아니면 사용자에게만 안 되는 것입니까?
설정을 하나라도 건드리기 전에 휴대폰을 드세요. 휴대폰이 모바일 데이터를 사용하도록 Wi-Fi를 끄고 사이트를 여세요. 방금 이 가이드 전체에서 가장 유용한 테스트를 실행한 것입니다. 다섯 초 만에 전체 네트워크 경로를 바꿨기 때문입니다.
- 모바일 데이터에서는 사이트가 열립니다. 웹사이트는 정상입니다. 컴퓨터와 제공업체의 리졸버 사이의 무언가가 잘못된 답을 주고 있으며, 아래의 모든 내용이 이를 해결할 것입니다.
- 그곳에서도 사이트가 열리지 않습니다. 매일 사용하는 다른 사이트를 하나 더 시도해 보세요. 그 사이트가 열린다면 문제는 웹사이트 쪽에 있을 가능성이 큽니다. 도메인 등록이 만료되었거나, DNS 변경을 잘못했거나, 호스팅 업체가 전원을 끊었을 수 있습니다. 그것은 앉은 자리에서는 고칠 수 없습니다.
- 어디서든 모든 것이 열리지 않습니다. 그것은 더 이상 이 오류가 아니라 연결 자체의 문제입니다. 다른 문제에는 다른 가이드가 필요합니다.
휴대폰이 제공하는 것보다 더 넓은 범위에서 같은 답을 원한다면, DNS 전파 검사기는 여러 국가의 공개 리졸버에 질의하여 사이트의 주소에 대해 일치하는지 보여 줍니다. 전 세계의 리졸버가 NXDOMAIN을 반환한다면 사이트에는 진짜 DNS 문제가 있는 것입니다. 모두가 기꺼이 주소를 반환한다면 잘못된 답은 사용자와 가까운 어딘가에서 만들어지고 있는 것입니다.
이 오류가 실제로 의미하는 것
DNS는 example.com과 같은 이름을 브라우저가 실제로 연결하는 숫자 주소로 바꾸는 조회입니다. 이 오류는 조회가 우연히 빈 상태로 돌아왔다는 뜻이 아닙니다. 리졸버가 그 이름이 존재하지 않는다고 적극적으로 알렸다는 뜻입니다. 그것이 바로 NXDOMAIN의 의미이며, NXDOMAIN의 의미에 대한 설명에서는 그 응답 자체를 자세히 다룹니다.
사람들이 걸려 넘어지는 부분은 바로 이것입니다. “존재하지 않습니다”는 삭제된 사이트에 대한 참인 답일 수도 있고, 사용자의 장비가 이전에 캐시에 저장해 두고 계속 반복하는 오래된 답일 수도 있습니다. 어느 경우든 오류 메시지는 똑같이 보입니다. 그래서 아래의 해결책은 브라우저 자체가 아니라 캐시와 리졸버를 겨냥합니다. 이 문제 때문에 Chrome을 다시 설치하는 것은 연락처 한 명의 번호가 바뀌었다고 새 휴대폰을 사는 것과 같습니다.
증상과 원인을 맞춰 보세요
| 증상 | 가능성 높은 원인 | 빠른 테스트 |
|---|---|---|
| 한 사이트만 안 되고 나머지는 모두 됩니다 | 오래된 캐시 또는 hosts 파일의 잘못된 항목 | 모바일 데이터로 휴대폰에서 사이트를 여세요 |
| 모든 사이트가 같은 오류로 안 됩니다 | 리졸버 또는 라우터 DNS가 다운되었습니다 | 컴퓨터의 리졸버 주소를 변경하세요 |
| VPN이 연결됐을 때만 안 됩니다 | VPN의 DNS가 고장 났거나 차단되었습니다 | VPN을 끊고 페이지를 새로 고치세요 |
| 어제는 됐는데 사이트 이전 후 고장 났습니다 | 오래된 답이 아직 근처에 캐시되어 있습니다 | 전파 검사기에서 사이트를 확인하세요 |
| 고친 지 하루 만에 다시 고장 납니다 | 라우터가 죽은 리졸버를 나눠 주고 있습니다 | 라우터와 컴퓨터의 DNS 설정을 비교하세요 |
해결책, 제가 실제로 시도하는 순서대로
DNS 캐시를 비우세요
Windows에서는 명령 프롬프트를 열고
ipconfig /flushdns를 실행하세요. Mac에서는 터미널에서sudo dscacheutil -flushcache입니다. 이렇게 하면 잘못된 답을 포함하여 컴퓨터에 저장된 답이 버려지고 새 조회가 강제됩니다. 열 초면 끝나고 아무것도 해치지 않기 때문에 항상 제 첫 번째 조치입니다.공개 리졸버로 전환하세요
비우기로 아무것도 바뀌지 않았다면 잘못된 답은 상류에서 오고 있는 것입니다. 컴퓨터의 DNS 서버를
1.1.1.1이나8.8.8.8과 같은 공개 리졸버로 변경하고 새로 고치세요. 사이트가 다시 살아난다면 거짓말을 한 것은 제공업체의 리졸버입니다. 설정을 그대로 두거나 제공업체가 스스로 정리될 때까지 유지하세요.hosts 파일을 확인하세요
hosts 파일은 DNS를 완전히 무시합니다. 그 안의 한 줄이 사이트의 이름을 오래된 주소에 연결하고 있다면, 그것은 오래된 소프트웨어가 남긴 것일 수도, 과거의 실험일 수도, 몇 년 전에 붙여 넣고 잊은 것일 수도 있지만, 컴퓨터가 아예 묻지 않기 때문에 리졸버를 바꿔도 소용이 없습니다. 파일을 열고 사이트의 이름을 찾은 뒤, 발견한 줄은 모두 제거하거나 주석 처리하세요.
라우터를 한 번만 재시작하세요
라우터도 답을 캐시에 저장하며, 저렴한 라우터는 그 일을 형편없이 합니다. 한 번의 재시작으로 그 캐시가 지워지고 연결이 재협상됩니다. 한 번만이라고 말하는 이유는, 전화를 거는 분들이 자주 고백하듯 네 번 연속으로 재시작해도 한 번 재시작하는 것과 정확히 같기 때문입니다.
VPN을 끄고 다시 테스트하세요
VPN은 DNS 질의를 자체 서버로 돌립니다. 그 서버가 다운되었거나 잘못 구성되었거나, 연결은 유지된 채 터널이 반쯤 죽었다면, 모든 것이 연결된 것처럼 보여도 이름 조회는 실패합니다. 일시 중지가 아니라 완전히 끊고 페이지를 새로 고치세요.
사람들이 맹세하지만 거의 도움이 되지 않는 두 가지
브라우저를 다시 설치하는 것입니다. 브라우저도 자체 캐시를 작게 가지고 있는 것은 사실이지만, 이 오류는 시스템 수준의 조회가 실패하여 발생하는 것이며, 새로 설치해도 같은 리졸버, 같은 hosts 파일, 같은 라우터를 물려받습니다. 북마크를 복원하는 데 스무 분을 쓰고 결국 공룡 앞으로 돌아오게 됩니다.
다른 하나는 주문처럼 반복되는 “48시간 기다리세요”입니다. 기다리는 것이 실제로 해결하는 시나리오는 하나뿐입니다. 사이트가 실제로 최근에 DNS를 변경했고, 오래된 답이 아직 전 세계 캐시에서 빠져나가고 있는 경우입니다. “이 사이트에 연결할 수 없음” 진단하기에 대한 가이드에서는 그 기다림과 사용자가 직접 고칠 수 있는 결함을 구분합니다. 하지만 오늘 휴대폰에서 사이트가 열린다면, 기다려도 네트워크는 고쳐지지 않습니다. 위의 다섯 단계가 고칠 것이며, 보통 열 분 안에 해결됩니다.
브라우저 하나에서만 오류가 표시될 때
사람들을 몇 시간씩 잘못된 길로 보내는 변형이 있습니다. 같은 컴퓨터, 같은 네트워크, 같은 순간인데 사이트가 Chrome에서는 실패하고 다른 브라우저에서는 멀쩡하게 열리는 경우입니다. 이 사실 하나만으로 라우터, 통신사, 웹사이트가 한 번에 용의선상에서 제외됩니다. 차이는 브라우저 자체 안에 있습니다.
최신 브라우저는 시스템을 신뢰하는 대신 자체 조회를 수행하는 경우가 점점 늘고 있습니다. Chrome에는 Secure DNS 설정이 있어, 컴퓨터에 구성된 리졸버를 우회하고 브라우저가 선택한 리졸버로 암호화된 연결을 통해 쿼리를 보낼 수 있습니다. Firefox에도 자체 기본값을 가진 비슷한 기능이 있습니다. 브라우저가 선택한 그 경로가 고장 났거나, 시스템의 나머지 부분이 이미 잊은 오래된 답을 그냥 붙들고 있다면, 다른 모든 것은 작동하는데 정확히 하나의 프로그램에서만 이 오류가 발생합니다. 브라우저의 보안 DNS를 시스템 리졸버를 사용하도록 설정하거나 아예 끄는 것이, 이 문제를 결론짓는 두어 분짜리 테스트입니다.
반대의 경우도 똑같이 많은 정보를 줍니다. 모든 브라우저는 실패하는데 명령줄 조회는 성공한다면, 브라우저들이 공유하는 무언가 — 시스템 리졸버 설정, hosts 파일, 네트워크 자체 — 를 가리킵니다. 하나의 프로그램 대 모든 프로그램이라는 대비는 어느 층이 잘못된 답을 쥐고 있는지 찾아내는 제가 아는 가장 빠른 방법이며, 이런 상담에서 제 첫 질문이 설정에 관한 것이 아닌 이유이기도 합니다. 질문은 이것입니다. “어디서나 실패하나요, 아니면 여기서만 실패하나요?”
추측하는 대신 리졸버를 하나씩 심문할 수도 있습니다. nslookup example.com 1.1.1.1 같은 명령은 기본값을 무시하고 특정 리졸버 하나에 답을 묻습니다. 평소 쓰는 리졸버에 묻고, 그다음 공용 리졸버에 물어보세요. 공용 리졸버가 주소를 반환하는데 내 리졸버가 NXDOMAIN을 반환한다면, 거짓말쟁이를 현장에서 잡은 것입니다. 그리고 남은 작업이 캐시 비우기인지, 기다리기인지, 설정을 완전히 바꾸는 것인지도 알게 됩니다.
같은 고장이 다른 곳에서는 다른 복장을 하고 있어, 도움을 찾는 사람들을 혼란스럽게 합니다. Android의 Chrome은 이를 ERR_NAME_NOT_RESOLVED라고 부르고, Firefox는 서버를 찾을 수 없다고 말하며, Safari는 서버를 찾을 수 없다고 보고합니다. 단어는 달라도 그 밑의 사건은 같습니다. 이름이 존재하지 않는다는 답이 돌아온 조회입니다. 그런 메시지 중 어느 하나에 대한 가이드의 해결책이 실제로는 캐시나 리졸버에 관한 것이라면, 당신의 경우에도 적용됩니다. 오류 이름만 번역하고 방법은 그대로 유지하세요.
정말로 사용자의 문제가 아닌 경우
이런 통화에서 제 답이 “상대방 문제이지, 사용자 문제가 아닙니다”가 될 때도 있습니다. 등록이 만료된 도메인은 네임서버가 철회되고, 지구상의 모든 리졸버가 NXDOMAIN으로 답하기 시작합니다. 똑같은 오류이지만 이번에는 진실을 말하고 있는 것입니다. 이전 중인 사이트 소유자도 깨진 레코드를 게시하여 모두에게 한 번에 이름을 내릴 수 있습니다.
단서는 일관성입니다. 사용자의 휴대폰도 안 되고, 이웃의 휴대폰도 안 되며, Windows DNS_PROBE_FINISHED 오류 수정하기에 대한 가이드의 로컬 요령도 아무것도 바꾸지 못하는데, 전 세계의 공개 리졸버는 주소가 없다는 데 일치합니다. 그 시점에서는 설정 탭을 닫으세요. 사용자 쪽에서 고칠 것은 더 이상 남아 있지 않습니다. 사이트는 소유자가 레코드를 고치면 돌아오거나, 아예 돌아오지 않을 것입니다.
도메인의 공개 DNS 주소를 확인해야 하나요? Domain IP Lookup 도구를 사용해 보세요.
자주 묻는 질문
NXDOMAIN 응답입니다. 그 답은 도메인이 만료되었거나 제거되었을 때처럼 때로는 참입니다. 그만큼 자주, 사이트 자체는 멀쩡히 살아 있고 다른 네트워크에서는 닿을 수 있는데도 캐시, 라우터, 제공업체의 리졸버 또는 VPN이 오래되거나 깨진 답을 만들어 내는 경우입니다.관련 글
네 가지 결과, 네 가지 다른 대응
ERR_NAME_NOT_RESOLVED: 의미와 해결 방법
Chrome의 ERR_NAME_NOT_RESOLVED가 무슨 뜻인지, 컴퓨터와 Android, iPhone에서 어떻게 해결하는지 증상표와 DNS 점검 방법으로 설명합니다.
순서대로 점검하는 네 계층
DNS
이름 확인
전송
TCP 연결
TLS
인증서 검증
애플리케이션
HTTP 응답
"이 사이트에 연결할 수 없음" 진단하기: 계층별 점검법
"이 사이트에 연결할 수 없음"을 단계별로 해결합니다. 오류 유형을 읽고 dig, curl, openssl로 DNS, 경로, TCP, TLS, HTTP를 차례로 점검합니다.
네 가지 결과, 네 가지 다른 대응
Windows의 DNS_PROBE_FINISHED_NXDOMAIN 해결: 문제가 있는 계층 찾기
Windows의 Chrome에서 DNS_PROBE_FINISHED_NXDOMAIN이 나올 때 브라우저, Windows, 공유기, ISP 순으로 점검하고 정확한 명령어로 해결하는 방법입니다.