hosts 파일 수정: 관리자 권한으로 시스템 네트워크 설정 변경하기
hosts 파일이란 무엇이며 왜 수정하는가?
hosts 파일은 운영체제가 도메인 이름을 IP 주소로 매핑할 때 사용하는 텍스트 파일입니다. DNS(Domain Name System) 서버에 질의하기 전에 로컬 hosts 파일을 먼저 확인하여 해당 도메인에 대한 IP 주소가 있는지 찾아봅니다. 만약 hosts 파일에 특정 도메인과 IP 주소가 미리 정의되어 있다면, 시스템은 DNS 서버를 거치지 않고 hosts 파일에 명시된 IP 주소로 바로 접속을 시도합니다.
이러한 특성 때문에 hosts 파일은 여러 용도로 활용됩니다. 가장 일반적인 용도는 특정 웹사이트 접속을 차단하거나 다른 IP 주소로 우회하는 것입니다. 예를 들어, 특정 광고 서버의 도메인을 127.0.0.1(로컬호스트)로 매핑하면 해당 광고가 표시되지 않도록 할 수 있습니다. 또한, 웹 개발 환경에서 실제 서버에 배포하기 전에 개발 중인 웹사이트를 로컬 환경에서 테스트할 때 유용하게 사용됩니다. 개발 서버의 IP 주소를 hosts 파일에 등록하여 실제 도메인으로 접속하는 것처럼 테스트할 수 있습니다.
hosts 파일은 Windows, macOS, Linux 등 대부분의 운영체제에서 동일한 역할을 수행하며, 시스템의 중요한 네트워크 설정 파일 중 하나로 분류됩니다. 따라서 보안상의 이유로 일반 사용자 권한으로는 수정할 수 없으며, 반드시 관리자 권한으로 접근해야 합니다. 잘못된 수정은 네트워크 연결 문제나 특정 웹사이트 접속 불가 등의 문제를 야기할 수 있으므로 주의가 필요합니다.

hosts 파일의 위치 확인
hosts 파일은 운영체제별로 저장 위치가 다릅니다. 정확한 경로를 알아야 파일을 찾고 수정할 수 있습니다.
Windows 운영체제
Windows에서 hosts 파일은 다음 경로에 위치합니다:
C:\Windows\System32\drivers\etc\hosts
이 경로는 Windows XP부터 최신 Windows 11까지 대부분 동일하게 적용됩니다. etc 폴더 안에 hosts라는 이름의 파일이 확장자 없이 존재합니다. 간혹 이 파일을 찾지 못하는 경우가 있는데, 숨김 파일로 설정되어 있거나 다른 경로에 잘못 생성된 경우일 수 있습니다. 기본적으로는 위 경로를 따릅니다.

macOS 및 Linux 운영체제
macOS와 Linux 운영체제에서는 hosts 파일이 다음 경로에 위치합니다:
/etc/hosts
유닉스 계열 운영체제에서 /etc 디렉터리는 시스템 설정 파일을 저장하는 데 사용됩니다. 따라서 macOS와 대부분의 Linux 배포판에서 hosts 파일은 이 경로에 존재합니다. Windows와 마찬가지로 확장자 없이 hosts라는 이름으로 존재합니다.
hosts 파일 수정 방법
hosts 파일은 시스템의 중요한 파일이므로 관리자 권한이 없으면 수정할 수 없습니다. 또한, 텍스트 파일이므로 메모장과 같은 일반 텍스트 편집기를 사용합니다.

Windows에서 hosts 파일 수정하기
Windows에서 hosts 파일을 수정하는 가장 안전하고 일반적인 방법은 다음과 같습니다:
- 메모장(Notepad) 관리자 권한으로 실행: 시작 메뉴를 열고 ‘메모장’을 검색합니다. 검색 결과에서 ‘메모장’을 마우스 오른쪽 버튼으로 클릭한 후 ‘관리자 권한으로 실행’을 선택합니다. 사용자 계정 컨트롤(UAC) 메시지가 나타나면 ‘예’를 클릭하여 허용합니다.
- hosts 파일 열기: 메모장이 열리면 ‘파일’ 메뉴에서 ‘열기’를 클릭합니다. 파일 열기 대화 상자에서 다음 경로로 이동합니다:
C:\Windows\System32\drivers\etc\. 파일 형식 드롭다운 메뉴를 ‘텍스트 문서(*.txt)’에서 ‘모든 파일(*.*)’로 변경해야hosts파일을 볼 수 있습니다.hosts파일을 선택하고 ‘열기’를 클릭합니다. - 내용 수정: hosts 파일이 열리면 다음과 같은 형식으로 내용을 추가하거나 수정합니다:
127.0.0.1 example.com 127.0.0.1 www.example.com 192.168.1.10 dev.mylocalapp.com각 줄은 ‘IP 주소’와 ‘도메인 이름’을 공백(탭 또는 스페이스)으로 구분하여 작성합니다.
#으로 시작하는 줄은 주석으로 처리되어 시스템에 영향을 주지 않습니다. 기존에 있던 내용은 건드리지 않고, 새로운 내용을 파일의 가장 아래에 추가하는 것이 좋습니다. - 파일 저장: 내용을 수정한 후 ‘파일’ 메뉴에서 ‘저장’을 클릭합니다. 관리자 권한으로 메모장을 실행했기 때문에 바로 저장이 가능합니다. 만약 권한 문제로 저장이 되지 않는다면, 메모장을 관리자 권한으로 실행했는지 다시 확인해야 합니다.
macOS 및 Linux에서 hosts 파일 수정하기
macOS 및 Linux에서는 터미널을 사용하여 관리자 권한으로 텍스트 편집기를 실행하는 것이 일반적입니다.
- 터미널 열기: macOS에서는 ‘응용 프로그램’ -> ‘유틸리티’ -> ‘터미널’을 실행하거나 Spotlight 검색(Command + Space)에서 ‘터미널’을 검색하여 실행합니다. Linux에서는 일반적으로 Ctrl+Alt+T 단축키를 사용하거나 응용 프로그램 메뉴에서 터미널을 찾습니다.
- 관리자 권한으로 편집기 실행: 터미널에서 다음 명령어를 입력하여 hosts 파일을 엽니다.
nano는 간단한 텍스트 편집기이며,vi나vim등 다른 편집기를 사용해도 무방합니다.sudo nano /etc/hostssudo명령어는 관리자(root) 권한으로 명령을 실행하도록 합니다. 명령을 입력하면 시스템 암호를 입력하라는 메시지가 나타납니다. 암호를 정확히 입력하고 Enter 키를 누릅니다. 암호를 입력해도 화면에 아무것도 표시되지 않는 것이 정상입니다. - 내용 수정: 편집기가 열리면 Windows와 동일한 형식으로 내용을 추가하거나 수정합니다.
127.0.0.1 example.com 127.0.0.1 www.example.com 192.168.1.10 dev.mylocalapp.com기존 내용은 그대로 두고 파일의 마지막에 새로운 항목을 추가하는 것이 좋습니다.
- 파일 저장 및 종료:
nano편집기에서는 Ctrl+O (저장), Enter (파일 이름 확인), Ctrl+X (종료) 순서로 파일을 저장하고 편집기를 종료합니다. 다른 편집기를 사용한다면 해당 편집기의 저장 및 종료 명령을 따릅니다.
hosts 파일 변경 후 적용 및 원상 복구
hosts 파일을 수정한 후에는 변경 사항이 즉시 적용되지 않을 수 있습니다. 시스템이 기존 DNS 캐시를 사용하고 있을 수 있기 때문입니다. 또한, 문제가 발생했을 때 원래 상태로 되돌리는 방법을 아는 것이 중요합니다.
변경 사항 적용하기 (DNS 캐시 초기화)
hosts 파일 변경 사항을 즉시 적용하려면 DNS 캐시를 초기화해야 합니다.
- Windows: 명령 프롬프트(관리자 권한으로 실행)를 열고 다음 명령어를 입력합니다.
ipconfig /flushdns이 명령어는 시스템의 DNS 확인자 캐시를 지웁니다. 성공적으로 완료되면 “DNS 확인자 캐시를 플러시했습니다.”라는 메시지가 표시됩니다.
- macOS: 터미널을 열고 macOS 버전에 따라 다음 명령어 중 하나를 입력합니다.
- macOS Big Sur 이상:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - macOS Catalina 이하:
sudo killall -HUP mDNSResponder
암호를 입력하라는 메시지가 나타나면 시스템 암호를 입력합니다.
- macOS Big Sur 이상:
- Linux: 대부분의 Linux 배포판은
systemd-resolved또는nscd와 같은 서비스를 사용하여 DNS 캐싱을 관리합니다. 캐시 초기화 방법은 사용하는 서비스에 따라 다릅니다.systemd-resolved를 사용하는 경우:sudo systemctl restart systemd-resolvedsudo systemd-resolve --flush-cachesnscd를 사용하는 경우:sudo systemctl restart nscd
어떤 서비스를 사용하는지 확실하지 않다면, 재부팅하는 것이 가장 확실한 방법입니다.
DNS 캐시를 초기화한 후에는 웹 브라우저 캐시도 함께 지우거나 브라우저를 완전히 재시작하는 것이 좋습니다. 일부 브라우저는 자체적인 DNS 캐시를 유지할 수 있기 때문입니다.
hosts 파일 원상 복구하기
hosts 파일 수정 후 문제가 발생했거나 원래 상태로 되돌리고 싶을 때는 다음 방법으로 원상 복구할 수 있습니다.
- 백업 파일 사용: hosts 파일을 수정하기 전에 미리 백업해 두었다면, 백업 파일을 원래 위치로 복사하여 덮어쓰기 하는 것이 가장 안전하고 빠른 방법입니다. 백업 파일도 관리자 권한으로 복사해야 합니다.
- 수정 내용 삭제: hosts 파일을 다시 열어 직접 추가했던 내용을 삭제하고 저장합니다. 이때, 시스템 기본으로 존재하던 내용은 삭제하지 않도록 주의해야 합니다.
#으로 시작하는 주석 처리된 줄이나127.0.0.1 localhost와 같은 기본 매핑은 그대로 두어야 합니다. - 시스템 재시작: hosts 파일 내용을 원상 복구한 후에는 DNS 캐시를 초기화하고 시스템을 재시작하는 것이 가장 확실하게 변경 사항을 적용하는 방법입니다.
만약 hosts 파일을 찾을 수 없거나 완전히 손상되어 복구가 어렵다면, 운영체제 재설치를 고려해야 할 수도 있지만, 이는 극히 드문 경우입니다. 대부분은 백업 파일을 사용하거나 직접 수정 내용을 제거하여 해결할 수 있습니다.
전문가 팁 및 예방
hosts 파일을 다룰 때는 몇 가지 전문가 팁과 예방 조치를 알아두면 좋습니다.
- 항상 백업: hosts 파일을 수정하기 전에는 반드시 원본 파일을 백업해 두십시오. 단순히
hosts.bak또는hosts.original과 같은 이름으로 같은 폴더에 복사해 두면 비상시 쉽게 복구할 수 있습니다. - 주석 활용: 추가하는 각 항목 옆에
#을 사용하여 해당 매핑을 추가한 이유나 날짜를 기록해 두면 나중에 어떤 목적으로 추가했는지 기억하는 데 도움이 됩니다.127.0.0.1 adserver.example.com # 2023-07-20 광고 차단용 192.168.1.10 dev.mysite.com # 2023-07-25 로컬 개발 서버 - 불필요한 항목 제거: 더 이상 필요 없는 hosts 파일 항목은 주기적으로 정리하여 제거하는 것이 좋습니다. 너무 많은 불필요한 항목은 시스템 성능에 미미한 영향을 줄 수 있으며, 관리하기 어렵게 만들 수 있습니다.
- 악성코드 주의: 일부 악성코드는 hosts 파일을 변조하여 사용자를 피싱 사이트로 유도하거나 특정 보안 사이트 접속을 차단하기도 합니다. 예상치 못한 hosts 파일 변경이 있다면 악성코드 감염을 의심하고 백신 검사를 수행해야 합니다. 정기적으로 hosts 파일의 내용을 확인하여 비정상적인 변경이 있는지 확인하는 습관을 들이는 것이 좋습니다.
- VPN 사용 시 주의: VPN(가상 사설망)을 사용하는 경우, hosts 파일의 매핑이 VPN 연결에 영향을 미칠 수 있습니다. VPN 연결 시 특정 도메인에 접속 문제가 발생한다면 hosts 파일의 내용을 확인해 볼 필요가 있습니다.
그래도 안 될 때: 추가 체크리스트
위의 방법을 모두 시도했음에도 hosts 파일 변경이 제대로 작동하지 않거나 문제가 해결되지 않는다면 다음 사항들을 추가로 확인해 보십시오.
- 관리자 권한 재확인: 메모장이나 터미널을 관리자 권한으로 실행했는지 다시 한번 확인합니다.
- 오타 확인: hosts 파일 내의 IP 주소나 도메인 이름에 오타가 없는지 꼼꼼히 확인합니다. 공백(스페이스 또는 탭)으로 정확히 구분되었는지도 중요합니다.
- 파일 경로 확인: hosts 파일이 올바른 경로에 위치해 있는지 다시 확인합니다.
- 보안 소프트웨어: 안티바이러스 프로그램이나 방화벽이 hosts 파일 변경을 차단하거나 복구하고 있을 수 있습니다. 일시적으로 보안 소프트웨어를 비활성화한 후 다시 시도해 볼 수 있습니다(단, 보안에 유의).
- 브라우저 캐시: 웹 브라우저의 캐시를 완전히 지우거나 다른 브라우저로 테스트해 봅니다.
- 네트워크 설정: 네트워크 어댑터 설정(IPv4/IPv6)에 문제가 없는지 확인합니다.
- 시스템 재부팅: DNS 캐시 초기화 후에도 해결되지 않으면 시스템을 완전히 재부팅합니다.
자주 묻는 질문
Q1: hosts 파일에 #으로 시작하는 줄은 무엇인가요?
A: #으로 시작하는 줄은 주석(Comment)입니다. 주석은 시스템에 의해 무시되며, 실제 네트워크 동작에 영향을 주지 않습니다. 주로 hosts 파일 내용을 설명하거나 임시로 특정 매핑을 비활성화할 때 사용됩니다. 예를 들어, 특정 도메인 매핑을 삭제하지 않고 일시적으로 적용을 중단하고 싶을 때 해당 줄 앞에 #을 붙여 주석 처리할 수 있습니다.
Q2: hosts 파일 수정 후 인터넷이 안 돼요. 어떻게 해야 하나요?
A: hosts 파일 수정 후 인터넷 접속에 문제가 발생했다면, 가장 먼저 hosts 파일을 열어 최근에 추가한 내용을 모두 삭제하거나 백업해 두었던 원본 파일로 복구해야 합니다. 특히, 잘못된 IP 주소를 매핑했거나 필수적인 시스템 도메인(예: localhost)을 변경했을 때 이런 문제가 발생할 수 있습니다. 파일을 원상 복구한 후에는 반드시 ipconfig /flushdns(Windows) 또는 해당 운영체제에 맞는 DNS 캐시 초기화 명령을 실행하고, 가능하면 시스템을 재부팅하는 것이 좋습니다.
Q3: hosts 파일로 특정 웹사이트를 완전히 차단할 수 있나요?
A: 네, hosts 파일을 사용하여 특정 웹사이트 접속을 효과적으로 차단할 수 있습니다. 차단하려는 웹사이트의 도메인 이름을 127.0.0.1(로컬호스트) 또는 0.0.0.0으로 매핑하면 됩니다. 예를 들어, 127.0.0.1 example.com 과 같이 설정하면 example.com으로 접속을 시도할 때 자신의 컴퓨터로 연결을 시도하게 되어 실제 웹사이트에 접속할 수 없게 됩니다. 이는 광고 차단이나 유해 사이트 접속 방지 등에 활용될 수 있습니다. 다만, HTTPS를 사용하는 웹사이트의 경우 브라우저에 따라 보안 경고가 표시될 수 있습니다.
hosts 파일은 로컬 시스템의 네트워크 동작을 제어하는 강력한 도구입니다. 올바르게 사용하면 시스템 관리 및 개발 작업에 큰 도움이 되지만, 잘못 사용하면 네트워크 문제를 일으킬 수 있으므로 항상 주의 깊게 다루어야 합니다. 이 가이드가 hosts 파일을 이해하고 안전하게 수정하는 데 도움이 되기를 바랍니다.