프로그래밍/Ubuntu

hosts파일 설정

꾸션 2022. 12. 27. 20:52

우분투 서버에서 hosts를 설정하는 방법입니다.

모든 OS(Windows, Unix, Linux, MAC)는 hosts라는 파일을 이용해서 DNS를 설정할 수가 있습니다.

보통 도메인으로 어떤 시스템에 접근을 하려고 할 때, 해당 도메인의 IP주소를 얻기 위함입니다.

도메인으로 접근 시 시스템은 먼저 hosts파일에 있는 도메인에 대한 정보를 먼저 검색을 하고 없으면,

.com, .co.kr. kr과 같은 도메인 서버에 접속하여 해당 도메인에 대한 IP주소를 얻어 옵니다.

 

서버를 운영하는 경우 특정 도메인을 소유하게 되고, 해당 도메인은 그 서버의 IP가 되는 경우가 많습니다.

시스템내부에서 처리작업을 할 때 보통 localhost로 처리를 하지만, 도메인으로 처리를 해야 하는 경우가 있습니다.

그럴 경우 여러 라우터를 거쳐서 해당 도메인서버에 접속하여 IP를 얻고 다시 여러 라우터를 거쳐서 서버로 오는 번거로운 작업을 줄일 수 있습니다.

 

그럼, 본론으로 들어가 Ubuntu서버에서 hosts파일을 설정하는 방법에 대해서 알아보겠습니다.

 

hosts파일 위치

/etc/hosts

 

hosts파일 내용

ubuntu를 사용하는 경우 아래와 같이 내용이 나옵니다.

(시스템의 버전 및 환경에 따라 약간 상이할 수 있습니다.)

127.0.0.1       localhost
127.0.1.1       ubuntu18

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

 

hosts파일 변경

아래의 명령어로 파일 편집화면으로 진입합니다.

sudo vim /etc/hosts

 

시스템에서 "test.com"이라는 도메인을 운영할 예정이라면, 아래와 같이 적용합니다.

여러 도메인을 운영하는 경우 동일하게 그 아래에 나열합니다. (예: example.com, oops.com)

(vim 편집기 편집모드 진입은 "i"입니다.)

127.0.0.1       localhost
127.0.1.1       ubuntu18
# 현재 시스템에서 운영하는 도메인
127.0.0.1       test.com
127.0.0.1       example.com
127.0.0.1       oops.com

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

(vim 편집기 저장&닫기는: esc키, ":x" 혹은 ":wq"입니다.)

 

hosts 파일 적용하기

보통 hosts파일은 수정 후 바로 적용이 되지만 적용이 되지 않는 경우 아래의 명령어로 DNS정보 캐시를 다시 시작하여 수동으로 적용할 수 있습니다.

 

"network-manager"를 사용하는 경우 아래의 명령어로 적용합니다.

sudo service network-manager restart

 

"hostnamed"를 사용하는 경우 아래의 명령어로 적용합니다.

systemctl restart systemd-hostnamed

 

"dnsmasq" 유틸리티를 사용하는 경우 아래의 명령어로 적용합니다.

pkill -HUP dnsmasq

 

※ 때때로, 웹, WAS서버와 같은 시스템의 경우 재시작(restart)이 필요할 수 있습니다.

 

이상으로 Ubuntu에서 hosts 파일을 변경하는 방법을 알아 보았습니다.