윈도우 10/11 호스트 파일 수정으로 특정 유해 사이트 차단하기

1월 14, 2026

증상 확인: 유해 사이트 접속 차단이 필요한 상황

특정 광고 사이트, 악성코드 유포지, 시간 낭비가 되는 웹사이트가 자동으로 열리거나, 자녀 보호를 위해 특정 도메인에 대한 접근을 근본적으로 차단해야 하는 경우가 있습니다. 브라우저 확장 프로그램은 쉽게 비활성화될 수 있고, 라우터 설정은 복잡합니다. 가장 강력하고 시스템 레벨에서 작동하는 방법은 Windows의 hosts 파일을 직접 수정하는 것입니다. 이 파일은 도메인 이름(DNS)을 IP 주소로 변환하는 가장 첫 번째 단계에서 개입하여, 특정 사이트를 존재하지 않는 주소나 로컬 컴퓨터로 향하게 만듭니다.

원인 분석: hosts 파일의 작동 원리와 중요성

Windows가 인터넷 주소(예: www.example.com)를 입력받으면, 가장 먼저 C:\Windows\System32\drivers\etc\hosts 파일을 확인합니다. 이 파일에 해당 도메인에 대한 IP 주소 매핑이 기록되어 있으면, 별도의 DNS 서버에 질의하지 않고 즉시 그 IP로 연결을 시도합니다. 여기서 핵심은, 127.0.0.1(자기 자신을 가리키는 로컬호스트 주소)이나 0.0.0.0(존재하지 않는 주소)로 매핑해 버리면, 브라우저는 해당 사이트에 접속할 수 없게 됩니다, 이 변경사항은 시스템의 모든 네트워크 활동에 적용되므로 브라우저나 프로그램을 가리지 않습니다.

주의사항: hosts 파일은 시스템 핵심 파일입니다. 수정 시 오타나 잘못된 구문이 발생하면 일부 웹사이트 접속에 문제가 생기거나 네트워크 관련 프로그램 오류의 원인이 될 수 있습니다. 수정 전 반드시 원본 파일의 백업을 생성하십시오. 또한, 관리자 권한이 없으면 파일을 저장할 수 없습니다.

해결 방법 1: 메모장을 이용한 기본적인 수정 (가장 일반적인 방법)

이 방법은 Windows의 기본 도구만을 사용하며, 별도 프로그램 설치가 필요 없습니다. 가장 권장되는 초보자 및 실무자용 접근법입니다.

  1. 메모장을 관리자 권한으로 실행: Windows 검색창에 ‘메모장’을 입력한 후, 오른쪽 결과에서 ‘관리자 권한으로 실행’을 선택합니다. 사용자 계정 컨트롤(UAC) 창이 뜨면 ‘예’를 클릭합니다.
  2. hosts 파일 열기: 메모장에서 파일 > 열기를 클릭합니다. 파일 탐색기 창이 열리면, 아래 경로를 주소창에 직접 입력하고 엔터를 누릅니다: C:\Windows\System32\drivers\etc. 파일 형식을 ‘모든 파일(*.*)’로 변경하면 hosts 파일이 보입니다. 해당 파일을 선택하고 ‘열기’를 클릭합니다.
  3. 파일 내용 수정: 파일의 맨 아래로 스크롤합니다. 기본적으로 여러 줄의 설명문(‘#’으로 시작)이 있습니다. 새 줄을 추가하여 차단할 사이트를 입력합니다. 형식은 다음과 같습니다: 127.0.0.1 차단할도메인.com 실제로, example.com과 그 모든 하위 도메인을 차단하려면 다음과 같이 입력합니다.

    127.0.0.1   example.com
    127.0.0.1   www.example.com


    또는 0.0.0.0을 사용할 수도 있습니다: 0.0.0.0 example.com
  4. 변경사항 저장: 파일 > 저장을 클릭합니다. 관리자 권한으로 실행했기 때문에 저장이 정상적으로 진행됩니다. 메모장을 닫습니다.
  5. DNS 캐시 초기화 (필수 단계): hosts 파일 변경 후 즉시 적용되도록, 명령 프롬프트를 관리자 권한으로 실행합니다. Windows 검색창에 ‘cmd’ 또는 ‘명령 프롬프트’를 입력하고 ‘관리자 권한으로 실행’을 선택합니다. 다음 명령어를 입력하고 엔터를 누릅니다: ipconfig /flushdns ‘DNS 확인자 캐시를 플러시했습니다.’라는 메시지가 나타나면 성공입니다.

이제 웹브라우저를 새로 실행하여 차단한 도메인에 접속을 시도해 보십시오. ‘연결할 수 없음’, ‘이 사이트에 연결할 수 없음’ 또는 ‘localhost에서 응답했습니다’와 같은 오류 페이지가 나타나야 합니다.

해결 방법 2: PowerShell 스크립트를 이용한 일괄 차단 및 관리

차단할 사이트 목록이 많거나, 여러 컴퓨터에 동일한 설정을 적용해야 할 때 유용합니다. 스크립트를 통해 hosts 파일을 자동으로 편집할 수 있습니다.

먼저, 차단할 도메인 목록이 담긴 텍스트 파일(예: blocklist.txt)을 준비합니다. 각 줄에 하나의 도메인만 입력합니다.

malicious-site.com

ads.doubleclick.net

timewaster.co.kr

관리자 권한으로 PowerShell을 호출하여 데스크톱 등 작업 디렉토리로 이동한 후 아래의 스크립트를 실행합니다. 워드프레스포테마즈 운영 시 네트워크 경로를 필터링하는 원리와 마찬가지로, 이 구문은 기존 hosts 파일의 데이터를 보존하면서 목록 내 도메인들을 0.0.0.0으로 매핑하는 행을 하단에 추가합니다.

$hostsPath = “$env:windir\System32\drivers\etc\hosts”

$blockList = Get-Content -Path “$env:USERPROFILE\Desktop\blocklist.txt”

$currentHosts = Get-Content -Path $hostsPath

# hosts 파일에 이미 추가된 항목이 있는지 확인하여 중복 방지

foreach ($site in $blockList) {

    $pattern = “^\s*0\.0\.0\.0\s+$([regex]::Escape($site))”

    if ($currentHosts -match $pattern) {

        Write-Host “이미 차단됨: $site” -ForegroundColor Yellow

    } else {

        Add-Content -Path $hostsPath -Value “0.0.0.0    $site”

        Write-Host “차단 항목 추가됨: $site” -ForegroundColor Green

    }

}

# DNS 캐시 초기화

ipconfig /flushdns | Out-Null

Write-Host “DNS 캐시가 초기화되었습니다.” -ForegroundColor Cyan

이 방법의 장점은 정확성과 재현성입니다. 동일한 스크립트와 목록 파일로 언제든지 동일한 설정을 적용할 수 있으며. 수동 입력 시 발생할 수 있는 오타 위험을 줄여줍니다.

해결 방법 3: 호스트 파일 관리 전용 소프트웨어 활용 (고급/대량 관리)

주기적으로 차단 목록을 갱신하거나 그룹별 설정을 변경해야 할 때는 전문적인 관리 도구를 활용하는 편이 효율적입니다. 네트워크 통신의 로컬 경로를 결정하는 호스트 파일(Hosts File) 의 구조적 매커니즘을 분석한 바에 따르면, 대규모 리스트를 처리할 때는 수동 편집보다 자동화된 툴의 안정성이 더욱 높게 평가됩니다.

서비스 접속 시 발생할 수 있는 네트워크 경로 조정이나 대규모 그룹 관리 사례에서 알 수 있듯, 시중의 여러 무료 프로그램 중 Hosts File Editor나 HostsMan이 기술적 안정성과 기능 면에서 주로 권고됩니다.

이러한 도구를 사용하면 다음과 같은 작업이 용이해집니다.

  • 직관적인 GUI를 통한 호스트 항목 추가/삭제/비활성화.
  • 온라인에서 공개된 광고/악성사이트 차단 목록을 자동으로 다운로드 및 병합.
  • 호스트 파일의 백업 생성 및 복원 기능 내장.
  • 변경 사항 적용 시 자동으로 DNS 캐시 초기화.

도구를 사용하더라도 핵심 원리는 동일합니다. 도구는 단지 hosts 파일을 편집하는 과정을 자동화하고 실수를 줄여줄 뿐입니다. 어떤 도구를 선택하든, 신뢰할 수 있는 출처에서 다운로드하고 설치 과정에서 불필요한 추가 소프트웨어(PUPs) 설치에 주의하십시오.

주의사항 및 문제 해결

hosts 파일 수정 후 예상치 못한 문제가 발생할 수 있습니다. 아래 체크리스트를 통해 점검하십시오.

  • 일부 사이트가 전혀 열리지 않음: hosts 파일에 실수로 주요 도메인(예: google.com, microsoft.com)을 차단 항목으로 추가하지 않았는지 확인. 메모장으로 파일을 다시 열어 검토.
  • 차단한 사이트가 여전히 접속됨: 가장 흔한 원인은 DNS 캐시입니다. 관리자 명령 프롬프트에서 ipconfig /flushdns 명령을 다시 실행하고 브라우저 캐시도 완전히 지우십시오. 브라우저를 완전히 종료했다가 다시 실행.
  • www가 붙은 도메인과 붙지 않은 도메인: example.com과 www.example.com은 다른 도메인으로 인식됩니다. 둘 다 차단해야 할 경우, 두 줄을 모두 추가해야 합니다.
  • 파일을 저장할 수 없음: 메모장을 관리자 권한으로 실행하지 않았을 가능성이 99%입니다, 기존 메모장을 모두 닫고 관리자 권한으로 다시 실행하십시오.
  • 파일 형식 오류: 파일을 저장할 때 인코딩이 utf-8 bom 등으로 변경되면 안 됩니다. 반드시 ANSI 인코딩으로 저장되어야 합니다. 메모장의 ‘다른 이름으로 저장’ 시 인코딩을 확인할 수 있습니다.

전문가 팁: 보안과 성능을 위한 추가 조치
1. 정기적인 백업: hosts 파일을 수정하기 전, 안전한 위치에 hosts.backup 같은 이름으로 복사본을 만드는 습관을 들이십시오. 문제 발생 시 이 파일로 교체하면 복구됩니다.
2. 효율적인 주소 사용: 127.0.0.1 대신 0.0.0.0을 사용하는 것을 고려하십시오. 127.0.0.1로 연결을 시도하면 시스템이 로컬 웹 서버(있는 경우)에 응답을 시도하는 약간의 지연이 발생할 수 있습니다. 0.0.0.0은 즉시 연결 실패로 처리됩니다.
3. 시스템 복원 지점 생성: 대규모로 hosts 파일을 수정하기 전, Windows 시스템 복원 지점을 수동으로 생성하십시오. 이는 호스트 파일 문제뿐만 아니라 동시에 발생할 수 있는 다른 시스템 불안정성에 대한 광범위한 안전망 역할을 합니다.
4. 차단 목록의 유지 관리: 정적 목록은 시간이 지나면 효율이 떨어집니다. GitHub 등에서 공개적으로 유지 관리되는 ‘광고/트래커 차단 호스트 파일’ 목록을 참고하여 주기적으로 업데이트하는 것이 좋습니다.