리눅스 시스템이 도메인 이름(Hostname)을 IP 주소로 변환할 때 가장 먼저 참고하는 파일이 있다. 바로 /etc/hosts 파일이다.
/etc/hosts는 리눅스 시스템이 외부 DNS 서버를 찾기 전에 먼저 펼쳐보는 로컬 네임 서버(Local Name Server) 역할을 한다.
서버 관리나 도커 컨테이너 간의 통신 구조를 이해하기 위해 반드시 알아야 할 기본 파일이다.
1. DNS보다 높은 우선순위
리눅스 커널은 네트워크 통신 시 숫자로 된 IP 주소(예: 123.456.0.1)를 사용한다.
하지만 사용자는 기억하기 쉬운 도메인 이름(예: google.com)을 사용한다.
보통은 DNS(Domain Name System) 서버에 쿼리를 날려 도메인에 매핑된 IP 주소를 받아온다.
하지만 리눅스는 DNS 서버에 물어보기 전에, 로컬에 있는 /etc/hosts 파일을 가장 먼저 확인하도록 설계되어 있다.
[우선순위]
- 명령어 또는 주소 입력 (ping myserver)
- /etc/hosts 파일 조회 (설정값이 있으면 즉시 해당 IP로 접속)
- DNS 서버 조회 (파일에 없으면 외부 서버에 질의)
즉, 이 파일에 정의된 설정은 전 세계 공통 DNS 정보보다 높은 우선순위를 가진다.

2. 파일 구조와 리눅스에서의 활용
/etc/hosts는 텍스트 파일이다.
터미널에서 cat /etc/hosts 명령어로 내용을 확인할 수 있으며, 수정하려면 sudo vi /etc/hosts와 같이 루트(Root) 권한이 필요하다.
작성 규칙은 [IP 주소] [호스트 이름(alias)] 순서다.
# /etc/hosts 예시
127.0.0.1 localhost
123.456.0.10 dev-db-server
8.8.8.8 googledns
만약 내 리눅스 서버의 /etc/hosts 파일에 123.456.0.10 dev-db-server라고 한 줄을 추가했다고 가정해 보자.
이제 터미널에서 ssh dev-db-server나 ping dev-db-server라고만 입력해도, 시스템은 자동으로 123.456.0.10을 찾아간다.
IP를 외울 필요가 없어지는 것이다.
💡 [참고] 운영체제별 hosts 파일 위치
이 개념은 모든 OS에서 동일하게 적용되지만, 파일의 경로는 조금씩 다르다.
- Linux / macOS: /etc/hosts
- Windows: C:\Windows\System32\drivers\etc\hosts
'AI Journey > 리눅스' 카테고리의 다른 글
| 우분투에서 도커로 MySQL 서버 구동하고 DBeaver로 실행하기 (0) | 2026.01.14 |
|---|---|
| 도커 컨테이너 리소스 제한하기: 메모리, CPU, Block I/O 제어 (0) | 2026.01.14 |
| [Linux] 데비안 계열 리눅스에서 패키지 설치 오류(Coud not get lock...)문제 해결 방법 (0) | 2025.12.21 |
| [Linux] Hadoop 마스터 노드 구축하기 part.3 - 하둡 설치 및 환경 설정, 데몬 확인 (0) | 2025.12.19 |
| [Linux] Hadoop 마스터 노드 구축하기 part.2 - APM 스택, SSH 서버 구축 및 SSH 키 생성 (0) | 2025.12.18 |