DNS는 Domain Name System의 약자이다. DNS는 사람이 쉽게 해석할 수 있는 도메인명(ex, www.bluewhale.com)을 IP 주소(179.10.2.10)로 변환하는 기능을 의미한다. DNS는 /etc/hosts 파일에 저장된 도메인-IP 맵핑 정보를 읽거나, 이를 갖고 있는 네임 서버와의 통신을 통해 이루어진다.
Linux OS 환경에서 DNS를 관리하는 방법은 2가지가 있다.
/etc/hosts 파일은 컴퓨터가 도메인명으로 IP를 찾을 때 가장 먼저 열어보는 파일이다.
해당 파일 내부에 ip를 작성하고 그 뒤에 dns를 작성하면 ip가 dns에 할당된다.
$ cat /etc/hosts
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
/etc/resolv.conf 파일은 DNS resolver, DNS 서버 목록을 기록한 파일이다. 컴퓨터는 /etc/hosts 파일에 도메인 명이 존재하지 않는 경우, /etc/resolv.conf 파일에서 도메인 명을 검색할 도메인 서버의 주소를 찾는다.
통신사나 PC 환경에 따라, 도메인 서버의 주소가 다를 수 있다. 대표적인 도메인 서버로는 구글의 8.8.8.8이 있다.
$ cat /etc/resolv.conf
nameserver 8.8.8.8