본문 바로가기
  • 실행력이 모든걸 결정한다
Server

웹서버 주소로 도메인 네임 사용하기(1) - hosts file

by 김코더 김주역 2021. 4. 1.
반응형

여러분들의 웹서버는 다음과 같은 주소로 접속할 수 있을 것이다.

http://[웹서버의 ip주소]/

 

그런데 ip주소가 아닌 "*.com" 같은 도메인 주소를 사용하고 싶다면 어떻게 하면 될까?

결론부터 말하자면 hosts 파일을 설정하면 된다.

hosts 파일을 변경하는 방법을 소개하기 앞서 호스트 파일과 DNS에 관한 이야기를 하면서 동작원리를 이해해보자.

 

 

1. DNS 란?

이전 포스팅들중 DNS에 대해 설명한 포스팅이 있었는데 그 내용을 이미지로 가져왔다.

 

 

 

결국은 서버에 접속하기 위해서는 ip주소를 반드시 알아내야 한다는 것이다.

그러나 클라이언트가 접속하고자 하는 페이지의 도메인주소만 알고있어도, DNS에서 이 도메인주소를 ip주소로 해석해주기 때문에 클라이언트는 서버에 접속 가능한 것이다.

 

 

2. DNS와 hosts 파일의 관계는?

둘 다 도메인주소를 ip주소로 해석해준다는 공통점이 있으며, 2가지의 중요한 차이점이 있다.

  • hosts파일은 자신의 컴퓨터에서만 유효하다.
  • hosts파일의 우선순위가 더 높다.

자신의 컴퓨터에서만 유효하다는 말은 외부 클라이언트에서는 자신의 컴퓨터의 hosts파일을 확인할 수 없다는 의미이다. 물론 해킹기술을 통해서는 가능 할 것이다.

hosts 파일은 주로 그룹 내에서 작업할 때 필요할 것이다. 그리고 모든 작업자들 역시 각자 컴퓨터에 있는 hosts파일을 변경해서 그룹에서 지정된 도메인으로 접속해야 한다.

 

그리고 hosts파일의 우선순위가 더 높다는 말의 의미를 설명하기 위해 예를 하나 들어볼 것이다.

먼저, hosts파일을 따로 변경하지 않았다면 도메인 주소로 google.com을 입력했을 때 바로 구글로 접속될 것이다.

그런데 도메인으로 google.com을 입력했을 때 자신의 웹서버 ip주소로 접속되도록 hosts파일을 설정했다면, 자신의 웹서버로 접속이 될 것이다.

google.com을 입력했을 때 구글로 접속이 되는 것은 DNS서버가 google.com이라는 도메인을 ip주소로 변환하는 과정을 거쳐 접속이 이루어진 것인데, 구글이 아닌 자신의 웹서버로 접속이 되었다는 것은 컴퓨터가 hosts파일을 먼저 확인했다는 의미가 되는 것이다.

 

외부에서 도메인 주소로 자신의 웹서버에 접속하기 위해 필요한 것이 바로 DNS서버이다.

DNS서버에 도메인을 등록하는 방법은 다음 포스팅에서 설명하기로 하고, 이번 포스팅에서는 hosts파일을 설정하는 방법을 다룬다.

 

 

3. hosts 파일의 위치는?

1) 리눅스 : /etc/hosts

 

 

 

2) 윈도우 : C:\Windows\System32\drivers\etc\hosts

 

 

 

4. hosts 파일 설정

위 3번에 올린 리눅스와 윈도우의 hosts파일들을 보아, ip주소와 도메인주소 쌍으로 작성하면 된다는 것을 알 수 있다.

예시로 리눅스의 hosts파일을 변경해보자.

 

맨 아래에 빨간 화살표로 표시한 내용 한줄을 추가했다.

 

 

 

접속 시도

172.17.0.12 대신 kimcoder.com을 입력한 모습이다. hellolinux.html은 필자가 따로 작성하여 DocumentRoot에 저장해둔 파일이다.

 

 

결과

성공적으로 접속 되었다.

 

 

 

윈도우의 경우에는 hosts파일을 수정할 때 etc디렉토리에서 수정하면 엑세스 거부 메세지가 뜰 것이다.
해결법은 hosts파일을 다른 폴더로 복사해서 수정하고, etc 디렉토리로 다시와서 그 파일을 덮어쓰기하는 것이다.

그리고 알약이나 V3같은 백신에 hosts파일 보호 기능이 체크되어 있다면 해제하고 다시 시도해보자.

반응형

댓글