
"왜 내 맥북만 안 돼?" - hosts 파일 하나로 고생한 이야기
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 hosts 파일 하나로 고생한 이야기를 적어봤습니다.
문제 발생
월요일부터 특정 웹 사이트에 접속이 안 되는 문제가 발생했습니다.
문제 상황을 정리한 당시 내역은 다음과 같습니다.
- 동일한 WiFi를 이용하고 있는 다른 PC나 휴대폰에서는 특정 웹 사이트에 문제없이 접속할 수 있습니다.
- 회사의 PC(macOstahoe 26.2)에서는 액세스 할 수 없는 상태입니다.
- 웹 사이트에에 접속하면 「타임 아웃」이 발생합니다.
- 구글, 네이버를 포함한 다른 사이트에는 문제없이 접속할 수 있지만 특정 웹 사이트에만 접속할 수 없는 상태입니다.
시도해 본 방법
아래 방법들을 시도하기 전에도 이것저것 확인 작업을 거쳤습니다만, 원인 파악에는 실패했기 때문에 다음 단계로 나누어서 천천히 문제 원인을 파악하기 시작했습니다.
※ 크롬, 사파리 등 웹 브라우저를 확인한 결과 브라우저의 문제는 아니었고, 로컬 PC의 문제가 분명했기 때문에 조사를 시작했습니다.
1단계: DNS 캐시 및 네트워크 설정 초기화
① DNS 캐시 삭제
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
터미널에서 실행 후 재부팅
② DNS 서버 변경
- 시스템 설정 → 네트워크 → Wi-Fi → 세부사항
- DNS 탭 클릭
- 기존 DNS 서버 삭제 후 아래 추가:
8.8.8.8 8.8.4.4
2단계: 네트워크 위치 새로 만들기
- 시스템 설정 → 네트워크
- 왼쪽 하단 ⋯ (점 3개) 클릭
- 위치 편집 → + 버튼
- 새 위치 이름 입력 (예: "새 네트워크")
- 완료 → Wi-Fi 재연결
3단계: 방화벽 및 보안 설정 확인
① 방화벽 임시 끄기
- 시스템 설정 → 네트워크 → 방화벽
- 방화벽 끄기 → 사이트 접속 테스트
② 콘텐츠 캐싱 끄기
- 시스템 설정 → 일반 → 공유
- 콘텐츠 캐싱 끄기
4단계: 프록시 설정 확인
- 시스템 설정 → 네트워크 → Wi-Fi → 세부사항
- 프록시 탭
- 모든 프록시 항목 체크 해제
- 확인 → 재연결
5단계: 호스트 파일 확인
터미널에서:
sudo vi /etc/hosts
- 해당 사이트 도메인이 차단되어 있는지 확인
- 있으면 해당 줄 삭제 또는 주석 처리 (# 추가)
여기까지 순서대로 진행했는데, 마지막 5단계에서 hosts 파일에 이상한 부분을 발견했습니다.
호스트 파일에 [IP 주소 + 특정 웹 사이트]가 기재되어 있던 것이었습니다.
즉, 아래와 같은 흐름으로 엉뚱한 IP 주소로 접속을 시도하고 있었던 겁니다.
- 브라우저에 "xxx.xxxxxxxx.jp" 입력
↓ - DNS 서버에 물어보기 전에 hosts 파일 먼저 확인
↓ - hosts 파일: "아, 이거 xx.xx.xxx.xx으로 가라고 적혀있네"
↓ - DNS 무시하고 xx.xx.xxx.xx으로 강제 접속
이후 해당 부분을 주석 처리하고 특정 웹 사이트에 접속하니 성공적으로 접속할 수 있었습니다.
마무리 및 정리
이번 문제의 핵심은 DNS나 브라우저, 네트워크 설정이 아니라 로컬 hosts 파일이었습니다.
hosts 파일은 우선순위가 매우 높기 때문에, 여기에 잘못된 정보가 한 줄만 있어도 DNS 설정을 아무리 바꿔도 문제가 해결되지 않습니다.
비슷한 증상이 발견된다면 아래를 의심해 보는 것을 추천드립니다.
- 특정 사이트만 접속이 안 된다면 hosts 파일을 반드시 확인할 것
- DNS 변경, 캐시 삭제로 해결되지 않는다면 로컬 설정을 의심
- 과거 테스트용으로 추가한 hosts 설정이 시간이 지나 문제를 일으킬 수 있음
비슷한 증상을 겪고 있다면, 마지막 단계처럼 보이더라도 hosts 파일을 꼭 한 번 확인해 보길 추천합니다.
의외로 가장 단순한 곳에 원인이 숨어 있을 수 있습니다.






