Windows 10에서 hosts 파일 설정 오류로 특정 도메인에 접속되지 않을 때 해결하는 방법

안녕하세요. 일본서버, 미국서버 호스팅 전문 지구 IDC 기술팀입니다.

Windows 10에서 인터넷 연결은 정상인데 특정 도메인만 접속되지 않거나, 도메인이 예상과 다른 서버로 연결된다면 hosts 파일에 잘못된 IP 주소가 등록되어 있는지 확인해야 합니다. Windows의 이름 확인 과정에서 hosts 파일에 대상 도메인이 등록되어 있으면 일반 DNS 서버의 응답보다 로컬 매핑이 우선 적용될 수 있기 때문입니다.

이 문서에서는 C:\Windows\System32\drivers\etc\hosts 파일을 백업하고, 잘못된 도메인 매핑과 중복 항목을 확인한 뒤 안전하게 수정하는 방법을 설명합니다. 수정 후에는 DNS 캐시를 초기화하고 실제 도메인 해석 결과와 HTTPS 포트 연결까지 확인해 문제가 해결되었는지 검증합니다.

Windows 10 지원 종료 안내: 일반 Windows 10은 2025년 10월 14일 Microsoft 지원이 종료되었습니다. 기존 시스템에서 아래 진단 절차는 사용할 수 있지만, 보안 업데이트가 필요한 운영 환경에서는 지원되는 Windows 버전으로 이전하는 것이 좋습니다. 일부 LTSC/ESU 환경은 별도의 수명 주기 또는 프로그램이 적용될 수 있습니다.

목차

  1. hosts 파일이 특정 도메인 접속에 영향을 주는 이유
  2. hosts 문제인지 먼저 확인하는 방법
  3. hosts 파일 백업
  4. 잘못된 hosts 항목 확인
  5. hosts 파일 수정
  6. hosts 파일을 기본 상태로 복원
  7. DNS 캐시 초기화와 접속 재확인
  8. 자주 발생하는 오류
  9. 원상복구 방법
  10. 자주 묻는 질문

hosts 파일이 특정 도메인 접속에 영향을 주는 이유

Windows의 hosts 파일은 호스트 이름을 특정 IP 주소에 직접 매핑하는 일반 텍스트 파일입니다. Microsoft의 DNS 클라이언트 문제 해결 문서에서는 이름 확인 시 캐시를 확인한 다음 hosts 파일을 확인하고, 일치하는 항목이 없을 때 DNS 서버로 질의하는 흐름을 설명합니다.

예를 들어 다음 항목이 등록되어 있다고 가정합니다.

192.0.2.10 example.com
192.0.2.10 www.example.com

실제 DNS에서 example.com이 다른 IP 주소를 사용하더라도 Windows는 위 매핑을 사용할 수 있습니다. 따라서 예전에 테스트 서버로 강제 연결하기 위해 추가했던 항목, 광고 차단 프로그램이 넣은 항목, 개발 환경에서 사용하던 로컬 매핑 등이 남아 있으면 특정 사이트만 접속되지 않는 문제가 발생할 수 있습니다.

hosts 파일 기본 위치: 일반적인 Windows 10 환경에서는 C:\Windows\System32\drivers\etc\hosts입니다. 파일 이름은 hosts이며 확장자가 없습니다.

hosts 문제인지 먼저 확인하는 방법

1. 현재 hosts 파일 내용을 확인합니다

명령 프롬프트를 열고 다음 명령을 실행합니다.

type %SystemRoot%\System32\drivers\etc\hosts

접속되지 않는 도메인이나 해당 도메인의 www 하위 도메인이 등록되어 있는지 확인합니다.

2. 특정 도메인만 검색합니다

예를 들어 example.com을 확인하려면 다음과 같이 검색할 수 있습니다.

findstr /I "example.com" %SystemRoot%\System32\drivers\etc\hosts

결과가 표시된다면 그 행의 IP 주소가 현재도 올바른지 확인해야 합니다. 특히 다음과 같은 매핑은 원인을 확인해야 합니다.

  • 127.0.0.1 example.com 또는 0.0.0.0 example.com처럼 사이트를 로컬 또는 차단 주소로 보내는 항목
  • 예전에 사용하던 서버의 고정 IP 주소
  • 같은 도메인이 서로 다른 IP로 여러 번 등록된 중복 항목
  • 보안 프로그램, 광고 차단 프로그램, 개발 도구가 자동으로 추가한 항목

3. Windows에서 실제로 해석되는 주소를 확인합니다

PowerShell에서 다음 명령을 실행합니다.

Resolve-DnsName example.com

Microsoft의 DNS 클라이언트 문제 해결 예시에서도 hosts에 도메인이 등록된 경우 Resolve-DnsName 결과가 해당 로컬 매핑을 반환하며 DNS 서버로 쿼리가 전송되지 않을 수 있음을 설명합니다.

hosts 파일 수정 전에 백업하는 방법

hosts 파일은 시스템의 이름 확인 동작을 바꿀 수 있으므로 수정하기 전에 반드시 원본을 백업하는 것이 좋습니다. 관리자 권한으로 명령 프롬프트를 실행한 뒤 다음 명령을 사용합니다.

copy %SystemRoot%\System32\drivers\etc\hosts %SystemRoot%\System32\drivers\etc\hosts.bak

다음과 같이 표시되면 백업이 생성된 것입니다.

        1 file(s) copied.

주의: 원격 데스크톱이나 업무용 서버 접속에 특정 hosts 매핑을 의도적으로 사용하고 있을 수 있습니다. 원인을 모르는 항목을 한꺼번에 삭제하지 말고, 백업 후 대상 도메인과 관련된 항목만 우선 주석 처리해 테스트하는 것이 안전합니다.

잘못된 hosts 항목을 확인하는 방법

Microsoft 문서 기준으로 hosts 파일의 정상적인 항목은 한 줄에 IP 주소와 하나 이상의 호스트 이름을 공백 또는 탭으로 구분해 작성합니다. #으로 시작하는 줄은 주석으로 처리되고 빈 줄은 무시됩니다.

예시 의미
192.0.2.10 example.com example.com을 192.0.2.10으로 강제 연결
127.0.0.1 example.com example.com을 로컬 컴퓨터로 연결하므로 실제 사이트 접속이 실패할 수 있음
0.0.0.0 example.com 해당 도메인 접근을 사실상 차단하는 용도로 사용되는 경우가 많음
# 192.0.2.10 example.com 주석이므로 실제 이름 해석에는 적용되지 않음

또한 Windows에서 실제 파일이 hosts.txt로 저장되어 있지는 않은지 확인해야 합니다. hosts 파일은 확장자가 없어야 합니다.

dir %SystemRoot%\System32\drivers\etc

hosts 파일을 안전하게 수정하는 방법

1. 메모장을 관리자 권한으로 실행합니다

시작 메뉴에서 메모장을 검색한 뒤 관리자 권한으로 실행을 선택합니다. 일반 권한으로 열면 내용을 수정해도 시스템 폴더에 저장하지 못할 수 있습니다.

2. hosts 파일을 엽니다

메모장에서 다음 경로를 엽니다.

C:\Windows\System32\drivers\etc\hosts

파일 열기 창에서 hosts 파일이 보이지 않으면 파일 형식을 모든 파일로 변경합니다.

3. 문제 항목을 먼저 주석 처리합니다

삭제하기보다 문제로 의심되는 줄 앞에 #을 붙이면 쉽게 되돌릴 수 있습니다.

# 192.0.2.10 example.com
# 192.0.2.10 www.example.com

저장한 뒤 DNS 캐시를 비우고 다시 접속을 테스트합니다.

hosts 파일을 기본 상태로 복원하는 방법

hosts 파일에 불필요한 항목이 너무 많거나 변경 이력을 알 수 없다면 Microsoft에서 안내하는 방식처럼 기존 파일을 별도로 보관하고 기본 형태의 hosts 파일을 새로 만들 수 있습니다.

주의: 회사 내부망, 개발 서버, 라이선스 서버, 테스트 환경 등에서 hosts 항목을 의도적으로 사용하는 경우 전체 초기화 후 내부 서비스 접속이 중단될 수 있습니다. 먼저 원본 파일을 반드시 백업하십시오.

Microsoft가 제공하는 Windows 10 기본 hosts 예시는 실제 이름 매핑을 활성화하지 않은 주석 중심의 파일입니다. 최소한의 복구가 목적이라면 다음처럼 localhost 관련 항목도 주석 상태로 두고 사용할 수 있습니다.

# localhost name resolution is handled within DNS itself.
# 127.0.0.1       localhost
# ::1             localhost

새 파일을 만들 때 파일 이름이 hosts.txt가 되지 않도록 모든 파일 형식으로 저장하고 파일 이름을 hosts로 지정해야 합니다.

DNS 캐시 초기화와 접속 재확인

1. DNS 캐시를 초기화합니다

hosts 파일을 수정한 뒤에는 기존 이름 해석 결과가 DNS 클라이언트 캐시에 남아 있을 수 있으므로 관리자 권한 명령 프롬프트에서 다음 명령을 실행합니다.

ipconfig /flushdns

정상적으로 처리되면 DNS 확인자 캐시를 플러시했다는 메시지가 표시됩니다.

2. 이름 해석 결과를 다시 확인합니다

Resolve-DnsName example.com

수정 전 잘못된 hosts IP가 표시되었다면, 이제 정상적으로 사용하는 주소로 변경되었는지 확인합니다.

3. HTTPS 포트 연결을 확인합니다

도메인 해석이 정상이어도 웹 서버의 TCP 443 포트가 차단되어 있으면 브라우저 접속은 실패할 수 있습니다. PowerShell에서 다음 명령으로 확인합니다.

Test-NetConnection example.com -Port 443

TcpTestSucceeded : True이면 대상 주소의 TCP 443 포트까지 연결이 성립한 것입니다. False라면 hosts 파일 외에도 방화벽, 프록시, 라우팅, 웹 서버 상태 등을 추가로 확인해야 합니다.

자주 발생하는 오류와 확인 방법

증상 가능한 원인 확인 방법
특정 사이트만 다른 서버로 연결됨 hosts에 오래된 IP가 남아 있음 findstr로 도메인 검색 후 해당 줄 주석 처리
사이트 접속 시 로컬 서버 또는 오류 페이지가 열림 127.0.0.1 또는 0.0.0.0 매핑 해당 도메인 hosts 항목 제거 또는 주석 처리
수정했지만 다시 원래 주소로 연결됨 DNS 캐시가 남아 있거나 다른 프로그램이 hosts를 다시 수정 ipconfig /flushdns 실행 후 파일 변경 여부 재확인
hosts 파일을 수정해도 저장되지 않음 관리자 권한 부족 메모장을 관리자 권한으로 실행
hosts 파일이 있는데 적용되지 않음 hosts.txt처럼 확장자가 붙어 있음 dir로 실제 파일명 확인
Resolve-DnsName은 정상인데 브라우저만 접속 실패 프록시, 브라우저 캐시, TLS, TCP 443 차단 등 hosts 외 문제 Test-NetConnection 도메인 -Port 443으로 TCP 연결부터 확인

수정 후 문제가 생겼을 때 원상복구하는 방법

백업해 둔 hosts.bak을 원래 hosts 파일로 되돌리면 수정 전 상태로 복구할 수 있습니다. 먼저 현재 파일을 별도로 보관한 뒤 복원하는 것이 안전합니다.

copy %SystemRoot%\System32\drivers\etc\hosts %SystemRoot%\System32\drivers\etc\hosts.after-edit
copy /Y %SystemRoot%\System32\drivers\etc\hosts.bak %SystemRoot%\System32\drivers\etc\hosts
ipconfig /flushdns

복구 후 문제가 발생했던 내부 서비스나 특정 도메인의 이름 해석을 다시 확인합니다.

최종 확인 순서

  1. findstr로 대상 도메인이 hosts에 남아 있는지 확인합니다.
  2. ipconfig /flushdns로 DNS 캐시를 비웁니다.
  3. Resolve-DnsName으로 현재 해석되는 IP 주소를 확인합니다.
  4. Test-NetConnection으로 TCP 443 포트까지 연결되는지 확인합니다.
  5. 브라우저에서 해당 도메인을 다시 접속합니다.
  6. 그래도 실패하면 DNS 서버, 프록시, Windows 방화벽, 라우팅, 보안 프로그램을 순서대로 점검합니다.

공식 참고자료

자주 묻는 질문

hosts 파일과 DNS 중 어느 쪽이 먼저 적용되나요?

Microsoft의 Windows DNS 클라이언트 문제 해결 문서에서는 이름 확인 시 먼저 캐시를 확인하고, 다음으로 hosts 파일을 확인한 뒤 DNS 서버로 질의하는 흐름을 설명합니다. 따라서 hosts에 일치하는 도메인이 있으면 일반 DNS 조회 결과와 다른 주소로 연결될 수 있습니다.

hosts 파일에서 잘못된 줄을 삭제해도 되나요?

삭제할 수 있지만 원인을 확실히 모른다면 먼저 #을 붙여 주석 처리하는 것이 안전합니다. 문제가 해결되지 않거나 기존 기능에 영향이 생기면 주석을 제거해 쉽게 되돌릴 수 있습니다.

hosts를 수정했는데 바로 적용되지 않는 이유는 무엇인가요?

기존 이름 해석 정보가 DNS 캐시에 남아 있을 수 있습니다. ipconfig /flushdns를 실행한 뒤 다시 확인하십시오. 또한 보안 프로그램이나 관리 도구가 hosts 파일을 자동으로 복원하는 경우도 있습니다.

hosts 파일을 기본값으로 초기화하면 문제가 생길 수 있나요?

회사 내부망, 개발 환경, 테스트 서버처럼 특정 도메인을 고정 IP로 연결하도록 의도적으로 설정한 경우 해당 연결이 끊길 수 있습니다. 초기화 전에 반드시 현재 파일을 백업하십시오.

hosts 파일에 문제가 없는데 특정 사이트만 접속되지 않습니다.

그 경우 DNS 서버 응답, 프록시 설정, Windows 방화벽, TCP 443 연결, TLS 인증서, 브라우저 설정, 라우팅 또는 MTU 문제를 추가로 확인해야 합니다. Resolve-DnsName과 Test-NetConnection을 사용하면 이름 해석 문제와 TCP 연결 문제를 먼저 구분할 수 있습니다.

마무리

Windows 10에서 특정 도메인만 접속되지 않을 때는 DNS 서버를 변경하기 전에 hosts 파일에 해당 도메인이 잘못 등록되어 있지 않은지 확인하는 것이 중요합니다. 특히 예전에 테스트 목적으로 추가한 고정 IP, 127.0.0.1 또는 0.0.0.0 차단 항목, 중복 매핑이 남아 있으면 정상 DNS 정보가 있어도 잘못된 주소로 연결될 수 있습니다.

수정 전 원본을 백업하고, 의심되는 항목을 먼저 주석 처리한 뒤 DNS 캐시를 초기화하여 결과를 검증하면 비교적 안전하게 원인을 확인할 수 있습니다.

지구 IDC는 일본서버와 미국서버를 포함한 다양한 서버 호스팅 환경에서 안정적인 운영에 도움이 되는 기술정보를 지속적으로 제공하겠습니다.

  • 0 사용자에게 유용한 정보 제공
이 답변이 도움이 되었나요?
« Back