인터넷은 정상적으로 연결되어 있고 유튜브나 다른 웹사이트도 잘 열리는데 특정 사이트 하나만 접속되지 않는 문제가 발생할 때가 있습니다.
이런 상황에서는 공유기나 인터넷 회선 자체가 고장 났다고 생각하기 쉽지만, 다른 사이트가 정상적으로 열린다면 원인이 전혀 다른 곳에 있을 수 있습니다.
대표적인 원인 중 하나가 DNS(Domain Name System) 관련 문제입니다.
DNS는 우리가 브라우저에 입력하는 도메인 주소를 실제 통신에 필요한 IP 주소로 찾아주는 역할을 합니다.
따라서 인터넷 연결 자체에는 문제가 없어도 DNS 조회 과정에 문제가 생기면 특정 사이트가 열리지 않거나 다음과 비슷한 오류가 나타날 수 있습니다.
사이트에 연결할 수 없음
서버 IP 주소를 찾을 수 없음
DNS_PROBE_FINISHED_NXDOMAIN
DNS 서버가 응답하지 않습니다
하지만 이런 메시지가 나타난다고 해서 무조건 DNS가 원인이라고 단정해서는 안 됩니다.
사이트 서버 자체가 중단되었거나 도메인 설정에 문제가 있을 수도 있고, VPN이나 프록시, 브라우저, 방화벽 등의 영향을 받을 수도 있습니다.
이번 글에서는 무작정 DNS 서버부터 변경하지 않고 Windows CMD에서 ping, nslookup, ipconfig /displaydns, ipconfig /flushdns 등을 사용해 특정 사이트 접속 문제가 실제로 DNS와 관련되어 있는지 단계적으로 확인하는 방법을 알아보겠습니다.
먼저 다른 사이트가 정상적으로 열리는지 확인한다
CMD를 실행하기 전에 가장 먼저 할 일이 있습니다.
문제가 발생한 사이트 하나만 확인하지 말고 다른 웹사이트 2~3곳에도 접속해봅니다.
예를 들어 여러 사이트가 모두 열리지 않는다면 특정 도메인의 DNS 문제라기보다 인터넷 연결 전체에 문제가 있을 가능성을 먼저 확인해야 합니다.
반대로 대부분의 사이트는 정상적으로 열리는데 특정 사이트만 접속되지 않는다면 문제 범위를 상당히 좁힐 수 있습니다.
이 글에서는 후자의 상황을 기준으로 진단합니다.
즉,
인터넷 연결 정상
다른 웹사이트 접속 정상
특정 사이트만 접속 실패
라는 상황입니다.
1단계: ping으로 도메인 이름이 해석되는지 확인하기
먼저 CMD를 실행합니다.
Windows 검색창에서 다음과 같이 검색합니다.
cmd
명령 프롬프트를 실행한 다음 문제가 발생한 도메인에 ping을 보내봅니다.
실제 문제가 발생한 사이트 주소를 사용하는 것이 좋지만 여기서는 예시로 example.com을 사용하겠습니다.
ping example.com
여기서 단순히 응답 시간이 몇 ms인지 보는 것보다 먼저 확인할 부분이 있습니다.
도메인 이름 뒤에 IP 주소가 정상적으로 표시되는지입니다.
예를 들어 다음과 비슷한 형태가 나타날 수 있습니다.
Ping example.com [93.184.216.34] 32바이트 데이터 사용:
이런 형태로 IP 주소가 표시된다면 적어도 해당 시점에 Windows가 도메인 이름을 IP 주소로 해석했다는 단서를 얻을 수 있습니다.
반대로 호스트를 찾을 수 없다는 메시지가 나타난다면 이름 해석 과정에 문제가 있는지 추가로 확인할 필요가 있습니다.
단, ping 응답이 없다는 것만으로 사이트가 고장 났다고 판단해서는 안 됩니다.
웹 서버가 정상적으로 운영되고 있어도 ICMP 요청에 응답하지 않도록 설정되어 있을 수 있기 때문입니다.
따라서 ping은 웹사이트 접속 여부를 확정하는 도구가 아니라 초기 진단 도구로 사용하는 것이 좋습니다.
2단계: nslookup으로 DNS 조회 결과 확인하기
DNS 문제를 확인할 때 매우 유용한 명령어가 nslookup입니다.
다음과 같이 실행합니다.
nslookup example.com
정상적으로 DNS 조회가 이루어진다면 현재 사용하는 DNS 서버 정보와 함께 조회한 도메인의 주소가 표시될 수 있습니다.
여기서 중요한 것은 도메인 이름에 대해 IP 주소가 반환되는지입니다.
만약 nslookup에서 서버 응답 시간이 초과되거나 도메인을 찾지 못한다는 메시지가 나타난다면 DNS 서버 또는 해당 도메인의 DNS 레코드 문제 등을 확인할 필요가 있습니다.
반대로 nslookup에서는 정상적으로 IP 주소가 반환되는데 브라우저에서만 사이트가 열리지 않는다면 DNS 이외의 원인도 고려해야 합니다.
즉,
nslookup 실패 → DNS 관련 영역 추가 확인
nslookup 성공 + 브라우저 실패 → 브라우저·프록시·VPN·방화벽·서버 등의 다른 원인도 확인
이라는 방식으로 문제 범위를 나눌 수 있습니다.
3단계: 현재 어떤 DNS 서버를 사용하는지 확인하기
DNS 조회에 문제가 있는 것 같다면 현재 Windows가 어떤 DNS 서버를 사용하고 있는지도 확인해보는 것이 좋습니다.
다음 명령어를 실행합니다.
ipconfig /all
결과가 상당히 길게 나타날 수 있습니다.
현재 인터넷에 연결된 Ethernet 또는 무선 LAN 어댑터를 찾아 DNS 서버 항목을 확인합니다.
환경에 따라 공유기 주소가 DNS 서버로 표시될 수도 있고 인터넷 서비스 제공업체 또는 사용자가 직접 설정한 DNS 서버가 표시될 수도 있습니다.
여기서 중요한 것은 특정 DNS 주소가 무조건 좋고 나쁘다는 것이 아닙니다.
현재 PC가 어떤 DNS 서버를 통해 이름 조회를 하고 있는지 확인하는 것이 목적입니다.
VPN이나 회사 네트워크를 사용하는 경우 일반적인 가정용 PC와 다른 DNS 서버가 설정되어 있을 수도 있습니다.
따라서 인터넷에서 본 DNS 주소를 바로 입력하기 전에 현재 설정부터 확인하는 습관이 좋습니다.
4단계: Windows DNS 캐시 확인하기
Windows는 매번 동일한 도메인을 처음부터 조회하지 않도록 DNS 조회 결과 일부를 일정 시간 캐시에 저장할 수 있습니다.
현재 DNS Resolver 캐시에 저장된 내용을 확인하려면 다음 명령어를 사용할 수 있습니다.
ipconfig /displaydns
Enter 키를 누르면 여러 도메인 관련 기록이 표시될 수 있습니다.
PC 사용 환경에 따라 결과가 상당히 길어질 수 있습니다.
특정 사이트의 기록을 찾고 싶다면 findstr과 조합하는 방법도 있습니다.
예를 들어:
ipconfig /displaydns | findstr example.com
처럼 사용할 수 있습니다.
다만 결과가 없다고 해서 반드시 DNS에 문제가 있다는 의미는 아닙니다.
해당 도메인의 기록이 현재 캐시에 존재하지 않을 수도 있기 때문입니다.
displaydns의 목적은 Windows가 현재 보유하고 있는 DNS 캐시 정보를 확인하는 것입니다.
5단계: DNS 캐시를 초기화해보기
DNS 캐시에 오래되거나 문제가 있는 정보가 남아 있는 것으로 의심된다면 캐시를 초기화할 수 있습니다.
CMD에서 다음 명령어를 실행합니다.
ipconfig /flushdns
정상적으로 실행되면 DNS Resolver 캐시가 초기화되었다는 메시지가 나타납니다.
이후 문제가 발생했던 사이트에 다시 접속해봅니다.
또는 다음 명령어로 다시 조회합니다.
nslookup example.com
여기서 중요한 점이 있습니다.
ipconfig /flushdns는 DNS 서버 자체를 변경하는 명령어가 아닙니다.
Windows에 저장되어 있는 DNS Resolver 캐시를 비우는 명령어입니다.
따라서 현재 사용 중인 DNS 서버 자체에 장애가 있다면 flushdns만으로 해결되지 않을 수 있습니다.
이 차이를 이해해야 합니다.
6단계: 다른 DNS 서버에 직접 질의해 비교하기
현재 사용 중인 DNS 서버에 문제가 있는지 비교하고 싶다면 nslookup에서 특정 DNS 서버를 지정해 조회할 수도 있습니다.
예를 들어 Cloudflare의 공개 DNS 서버를 이용해 테스트하려면 다음과 같이 입력할 수 있습니다.
nslookup example.com 1.1.1.1
Google Public DNS를 이용해 비교하려면 다음과 같이 사용할 수 있습니다.
nslookup example.com 8.8.8.8
여기서 중요한 것은 DNS 설정을 바로 변경하는 것이 아니라 비교 테스트를 한다는 점입니다.
예를 들어 현재 기본 DNS에서는 조회가 계속 실패하지만 다른 공개 DNS 서버를 지정한 nslookup에서는 정상적으로 주소가 반환된다면 현재 사용 중인 DNS 서버 또는 해당 서버까지의 접근 상태를 추가로 확인할 이유가 생깁니다.
반대로 여러 DNS 서버에서 동일하게 특정 도메인을 찾지 못한다면 해당 도메인의 DNS 설정 자체에 문제가 있거나 존재하지 않는 주소일 가능성도 생각할 수 있습니다.
실제 상황 1: ping에서 호스트를 찾을 수 없다고 나온다
예를 들어 다음 명령어를 실행했습니다.
ping example.com
그런데 도메인의 IP 주소조차 표시되지 않고 호스트를 찾을 수 없다는 메시지가 나타났다고 가정하겠습니다.
이 경우 바로 공유기를 초기화할 필요는 없습니다.
먼저 다음 명령어를 실행합니다.
nslookup example.com
여기에서도 정상적인 DNS 조회가 되지 않는다면 DNS 관련 문제인지 추가로 확인합니다.
다른 도메인은 정상적으로 조회되는지도 비교해보는 것이 좋습니다.
nslookup google.com
다른 도메인은 정상인데 특정 도메인만 조회되지 않는다면 인터넷 전체의 DNS 장애라고 단정하기 어렵습니다.
반대로 여러 정상적인 도메인까지 모두 조회되지 않는다면 현재 DNS 서버나 네트워크의 DNS 접근 문제를 의심해볼 수 있습니다.
실제 상황 2: nslookup은 정상인데 사이트가 안 열린다
이번에는 다음 명령어가 정상적으로 IP 주소를 반환한다고 가정하겠습니다.
nslookup example.com
그런데 브라우저에서는 여전히 사이트가 열리지 않습니다.
이 경우 무조건 DNS 문제라고 판단해서는 안 됩니다.
DNS는 이미 해당 도메인을 IP 주소로 정상적으로 변환하고 있기 때문입니다.
다음과 같은 원인도 생각해볼 수 있습니다.
사이트 서버 자체의 장애
특정 브라우저 문제
VPN 또는 프록시 설정
Windows 방화벽 또는 보안 프로그램
HTTPS 또는 인증서 관련 문제
웹 서버 측 접속 제한
특정 네트워크에서의 접속 제한
따라서 nslookup이 정상이라는 결과 자체가 중요한 정보입니다.
문제를 해결하지 못한 것이 아니라 DNS라는 하나의 원인 후보를 어느 정도 좁힌 것이기 때문입니다.
실제 상황 3: 기본 DNS는 실패하고 1.1.1.1에서는 성공한다
다음 명령어를 실행했다고 가정하겠습니다.
nslookup example.com
정상적으로 조회되지 않습니다.
그런데 다음 명령어에서는 주소가 정상적으로 반환됩니다.
nslookup example.com 1.1.1.1
이런 차이가 반복적으로 확인된다면 현재 기본 DNS 서버의 상태 또는 해당 DNS 서버까지의 연결 문제를 살펴볼 수 있습니다.
다만 한 번의 결과만으로 DNS 서버가 완전히 고장 났다고 단정하기보다 다른 정상적인 도메인도 함께 비교하는 것이 좋습니다.
예를 들어:
nslookup microsoft.com
그리고:
nslookup microsoft.com 1.1.1.1
처럼 비교할 수 있습니다.
여러 도메인에서 동일한 차이가 반복되는지 확인하면 판단에 도움이 됩니다.
실제 상황 4: 특정 사이트가 다른 기기에서도 안 열린다
내 PC에서 특정 사이트가 접속되지 않는다고 가정하겠습니다.
그런데 같은 Wi-Fi를 사용하는 스마트폰에서도 해당 사이트가 열리지 않습니다.
이 경우 Windows PC 하나만의 DNS 캐시 문제라고 단정하기 어려워집니다.
스마트폰을 Wi-Fi에서 모바일 데이터로 전환한 뒤 같은 사이트에 접속해보는 방법도 원인 범위를 좁히는 데 도움이 됩니다.
예를 들어:
PC에서 실패
같은 Wi-Fi의 스마트폰에서도 실패
스마트폰 모바일 데이터에서는 성공
이라면 현재 사용하는 네트워크 또는 DNS 환경과 관련된 문제를 추가로 확인할 이유가 있습니다.
반대로 모바일 데이터에서도 동일하게 사이트가 열리지 않는다면 사이트 자체의 장애 가능성도 생각할 수 있습니다.
이처럼 CMD 결과뿐 아니라 다른 기기와 다른 네트워크를 비교하는 것도 좋은 진단 방법입니다.
DNS 캐시 초기화와 DNS 서버 변경은 다르다
인터넷 문제 해결 글에서 두 가지가 자주 혼동됩니다.
다음 명령어는:
ipconfig /flushdns
Windows DNS 캐시를 초기화하는 명령어입니다.
반면 DNS 서버를 1.1.1.1이나 8.8.8.8 등으로 변경하는 것은 네트워크 어댑터가 사용할 DNS 서버 설정 자체를 변경하는 작업입니다.
둘은 같은 작업이 아닙니다.
따라서 특정 사이트가 안 열린다고 무조건 DNS 서버부터 변경하기보다 먼저:
nslookup 문제가발생한도메인
을 실행하고 현재 DNS 조회가 실제로 실패하는지 확인하는 것이 좋습니다.
필요하다면:
nslookup 문제가발생한도메인 1.1.1.1
처럼 다른 DNS 서버와 비교합니다.
그 결과를 보고 DNS 서버 변경이 실제로 필요한지 판단하는 편이 합리적입니다.
hosts 파일 문제도 있을 수 있을까?
Windows에는 DNS 조회보다 앞서 특정 호스트 이름과 IP 주소의 매핑에 영향을 줄 수 있는 hosts 파일이 있습니다.
일반적인 위치는 다음과 같습니다.
C:\Windows\System32\drivers\etc\hosts
사용자가 직접 수정했거나 특정 프로그램이 설정을 추가한 경우 특정 도메인이 의도하지 않은 주소로 연결될 수 있습니다.
다만 hosts 파일은 시스템 동작에 영향을 줄 수 있기 때문에 내용을 이해하지 못한 상태에서 무작정 삭제하거나 수정해서는 안 됩니다.
특정 사이트만 계속 이상하게 연결되고 DNS 조회 결과와 실제 동작이 맞지 않는다면 확인 대상 중 하나로 생각할 수 있습니다.
브라우저 DNS 캐시와 Windows DNS 캐시는 항상 같을까?
최근 브라우저는 자체적인 네트워크 기능이나 보안 DNS 기능을 사용할 수 있습니다.
따라서 Windows의 DNS 캐시를 초기화했다고 해서 모든 브라우저의 모든 DNS 관련 상태가 동일하게 초기화된다고 단정할 수는 없습니다.
특정 브라우저에서만 문제가 발생한다면 다른 브라우저에서도 동일한 사이트에 접속해보는 것이 좋습니다.
예를 들어:
Chrome에서는 실패
Edge에서는 정상
이라면 Windows 전체의 인터넷 장애보다는 특정 브라우저의 설정이나 확장 프로그램 등으로 문제 범위를 좁힐 수 있습니다.
반대로 여러 브라우저에서 동일하게 실패한다면 시스템이나 네트워크 영역을 추가로 확인할 수 있습니다.
VPN을 사용하고 있다면 반드시 비교해보자
VPN은 인터넷 트래픽의 경로뿐 아니라 DNS 처리 방식에도 영향을 줄 수 있습니다.
특정 사이트가 갑자기 열리지 않는다면 VPN을 사용하는 상태와 사용하지 않는 상태에서 결과가 달라지는지 확인하는 것도 도움이 됩니다.
회사에서 제공하는 VPN이나 보안 네트워크라면 임의로 설정을 변경하기보다 조직의 IT 정책을 따르는 것이 우선입니다.
개인 PC라면 자신이 설치한 VPN 또는 프록시 프로그램이 있는지 확인합니다.
특히 특정 사이트만 접속되지 않는 문제에서는 DNS → VPN → 프록시 → 브라우저 순서로 원인 후보를 넓혀가는 방식이 효율적입니다.
DNS 문제인지 빠르게 판단하는 CMD 순서
특정 사이트만 열리지 않는다면 다음 순서를 기억해두면 편리합니다.
1. 도메인 이름 해석 여부 확인
ping example.com
IP 주소가 표시되는지 확인합니다.
2. DNS 직접 조회
nslookup example.com
현재 DNS 서버가 도메인을 정상적으로 조회하는지 확인합니다.
3. 현재 DNS 서버 확인
ipconfig /all
실제로 어떤 DNS 서버를 사용하는지 확인합니다.
4. DNS 캐시 확인
ipconfig /displaydns
필요하다면 특정 도메인을 검색합니다.
5. DNS 캐시 초기화
ipconfig /flushdns
캐시 문제가 의심될 때 사용합니다.
6. 다른 DNS 서버와 비교
nslookup example.com 1.1.1.1
현재 기본 DNS와 다른 DNS 서버의 조회 결과를 비교합니다.
이 과정을 거치면 단순히 “사이트가 안 열린다”에서 끝나지 않고 DNS가 실제 원인 후보인지 판단할 근거를 얻을 수 있습니다.
특정 사이트 접속 문제에서 하지 말아야 할 판단
첫 번째는 사이트가 안 열린다고 바로 인터넷 회선 문제라고 판단하는 것입니다.
다른 사이트가 정상적으로 열리는지 먼저 확인해야 합니다.
두 번째는 ping 실패를 사이트 장애로 확정하는 것입니다.
웹사이트가 정상이어도 ping 응답을 제한할 수 있습니다.
세 번째는 DNS 오류 메시지를 보고 바로 DNS 서버를 변경하는 것입니다.
먼저 nslookup으로 실제 조회 상태를 확인하는 것이 좋습니다.
네 번째는 flushdns를 만능 해결 명령어라고 생각하는 것입니다.
캐시가 원인이 아니라면 효과가 없을 수 있습니다.
다섯 번째는 한 번의 nslookup 결과만 보고 DNS 서버 장애를 확정하는 것입니다.
여러 도메인과 다른 DNS 서버를 이용해 비교하는 것이 좋습니다.
CMD 명령어별 역할 정리
ping example.com
→ 도메인 이름이 IP로 해석되는지와 대상의 ICMP 응답 등을 확인하는 데 활용
nslookup example.com
→ 현재 DNS 환경에서 해당 도메인을 직접 조회
ipconfig /all
→ 현재 네트워크 설정과 DNS 서버 확인
ipconfig /displaydns
→ Windows DNS Resolver 캐시에 저장된 정보 확인
ipconfig /flushdns
→ Windows DNS Resolver 캐시 초기화
nslookup example.com 1.1.1.1
→ 지정한 DNS 서버에 직접 질의해 기본 DNS와 결과 비교
각 명령어의 역할을 구분하면 인터넷 문제를 해결할 때 불필요한 설정 변경을 줄일 수 있습니다.
18번 진단법과 무엇이 다를까?
18번에서는 Wi-Fi는 연결됐지만 인터넷 전체가 제대로 작동하지 않는 상황을 기준으로 진단했습니다.
그때는:
PC → 공유기 → 외부 인터넷 → DNS
순서로 어느 구간에서 통신이 끊기는지 확인하는 것이 핵심이었습니다.
이번 19번에서는 상황이 다릅니다.
인터넷 자체는 정상적으로 사용되고 있는데 특정 사이트만 열리지 않는 상황입니다.
따라서 이번에는 DNS 조회 결과를 중심으로:
특정 도메인 → DNS 조회 → DNS 캐시 → 다른 DNS 서버 비교 → 브라우저·VPN 등 다른 원인
순서로 문제를 좁혀갑니다.
같은 CMD 명령어를 사용하더라도 어떤 문제를 해결하기 위해 사용하는지에 따라 진단 순서와 결과 해석이 달라질 수 있습니다.
마무리
인터넷은 정상인데 특정 사이트만 접속되지 않는 문제가 발생한다면 무조건 공유기를 초기화하거나 DNS 서버부터 변경할 필요는 없습니다.
먼저 다른 웹사이트가 정상적으로 열리는지 확인해 인터넷 전체의 문제인지 특정 사이트의 문제인지 구분합니다.
그다음 CMD에서 다음 명령어를 사용합니다.
ping example.com
도메인 이름이 IP 주소로 해석되는지 확인합니다.
보다 직접적인 DNS 조회는:
nslookup example.com
으로 확인할 수 있습니다.
현재 어떤 DNS 서버를 사용하는지 알고 싶다면:
ipconfig /all
을 사용합니다.
Windows DNS 캐시에 저장된 정보를 확인하려면:
ipconfig /displaydns
를 사용할 수 있습니다.
DNS 캐시 문제가 의심된다면:
ipconfig /flushdns
로 캐시를 초기화한 뒤 다시 접속을 시도합니다.
그리고 현재 DNS 서버와 다른 서버의 결과를 비교하고 싶다면:
nslookup example.com 1.1.1.1
처럼 특정 DNS 서버를 지정해 조회할 수 있습니다.
여기서 가장 중요한 것은 “특정 사이트가 안 열린다 = DNS 문제”라고 바로 결론 내리지 않는 것입니다.
CMD를 이용해 DNS 조회가 실제로 실패하는지 확인하고, 다른 DNS 서버에서는 결과가 달라지는지 비교한 다음 판단해야 합니다.
만약 DNS 조회는 정상인데 브라우저에서만 사이트가 열리지 않는다면 DNS 외에도 사이트 서버 상태, 브라우저, VPN, 프록시, 방화벽, 보안 프로그램 등의 원인을 확인해야 합니다.
결국 CMD를 이용한 문제 해결의 핵심은 무작정 명령어를 많이 실행하는 것이 아닙니다.
현재 정상인 부분과 비정상인 부분을 하나씩 구분하면서 원인의 범위를 좁혀가는 것입니다.
이 과정을 익혀두면 다음에 특정 사이트가 열리지 않을 때 DNS 서버부터 무작정 변경하는 대신, nslookup과 ipconfig를 이용해 실제 문제가 어디에 있는지 확인한 뒤 필요한 조치만 선택할 수 있습니다.