[CKA] DNS 기초

hosts 파일에서 DNS 서버, 도메인 계층, 레코드와 조회 도구까지 이름 해석의 기본을 정리합니다.

로컬 이름 해석

/etc/hosts는 이름과 IP 주소를 직접 연결하는 로컬 매핑입니다. 실제 호스트 이름과 무관하게 하나의 IP에 여러 별칭을 줄 수 있지만, 장비가 많아지거나 IP가 바뀌면 모든 호스트의 파일을 고쳐야 합니다.

192.168.1.11 db

Linux는 /etc/nsswitch.conf의 hosts 항목에 정의된 순서로 이름을 찾습니다. 로컬 파일을 먼저 보도록 설정했다면 DNS와 /etc/hosts에 같은 이름이 있을 때 로컬 매핑이 선택됩니다.

DNS 서버와 검색 도메인

DNS 서버는 이름과 주소의 매핑을 중앙에서 관리합니다. 클라이언트는 /etc/resolv.conf에 질의할 서버를 지정합니다. 내부 DNS가 모르는 외부 이름은 전달 대상 DNS 서버에 질의하도록 구성할 수 있습니다.

nameserver 192.168.1.100
search example.com

search example.com이 있으면 web 같은 짧은 이름을 web.example.com으로 확장해 조회합니다. DNS 이름은 루트부터 최상위 도메인, 도메인, 호스트로 이어지는 계층 구조이며 조회 결과를 캐시해 다음 질의를 줄일 수 있습니다.

레코드와 조회 도구

nslookup www.example.com
dig www.example.com

nslookup은 DNS 응답을 간단히 확인하고 dig는 레코드와 응답 서버 등 자세한 정보를 보여 줍니다. 두 도구는 DNS 서버에 질의하므로 /etc/hosts 매핑을 검증하는 용도와는 다릅니다.