/etc/hosts는 「로컬 DNS」 — 도메인 이름과 IP의 직접 매핑 테이블.
DNS 서버에 물어보기 전에 먼저 확인합니다.
기본 형식.
IP 호스트명 별칭들.
127.0.0.1 localhost.
192.168.1.50 myserver myserver.local.
한 줄에 한 매핑.
활용.
1) 개발 — 127.0.0.1 mysite.local로 로컬 도메인.
브라우저에서 mysite.local 접속 → 로컬 서버.
2) 임시 매핑 — DNS 변경 전 시험.
3) 차단 — 광고 도메인을 0.0.0.0으로 매핑(StevenBlack/hosts 같은 모음).
4) 사내 서버 — DNS 안 두고 hosts로.
주의.
매핑 잘못하면 그 도메인 접근 불가.
0.0.0.0이나 127.0.0.1로 매핑된 도메인은 진짜 IP에 못 접근.
디버깅 시 「이상하게 안 들어가짐」 — /etc/hosts 의심.
권한.
모든 사용자 읽기, root만 수정.
sudo로 편집.
변경은 즉시 적용 — DNS 캐시 무관(/etc/hosts가 우선).
단, 일부 앱(브라우저 등)이 자체 캐시를 가져 새 탭 또는 재시작 필요할 수 있음.
한 줄 요약
/etc/hosts는 로컬 DNS — IP 도메인 매핑.
DNS보다 먼저 확인.
개발(.local 도메인), 광고 차단, 임시 매핑에 활용.
잘못 매핑 시 접근 불가, 디버깅 시 의심 가치.
더 알아볼 것
- NSS와 nsswitch.conf
- hosts 광고 차단 리스트
- Pi-hole — 네트워크 차원 DNS 차단