DNS 서버란? /etc/hosts 파일이란?

업데이트:

DNS서버란? /etc/hosts 파일이란?

참고링크

운영체제 프론트엔드 백엔드 데이터베이스 인프라
리눅스구조 js필터 아파치에러로그 행삭제 아파치스쿱
프로세스 헬로월드 웹서버개념 ES기초 로그분석
네임스페이스 프로젝트생성 아파치설치 MySQL기초 beeline
디렉토리 헤더생성 flask연동 큐브리드 하둡기초
리다이렉션 async-get 장고MsSQL연결 null공백 나이파이
쓰레드 async-post 장고MySQL연결 MySQL설치(win) 백본
라즈베리파이설치 로그인페이지 장고inpectdb MySQL테이블생성 제플린
OSI7계층소개   장고read   SSL인증
OSI1계층   장고insert   커버로스
OSI2계층   장고put   도커개념
OSI3계층   장고del   도커설치
OSI4계층       도커기초
OSI5,6,7계층       도커이미지
DNS서버       컨테이너네트워크
DHCP       도커API
bashrc       도커컴포즈
bash       도커볼륨
ifconfig       장고이미지
소켓프로그래밍       도커postgre
리눅스유저생성       도커이미지삭제
netstat포트열기       도커Redis
컴파일러       k8s구조
운영체제vs커널       k8s설치
작업스케쥴링       k8s서비스배포
디스크추가       POD네트워크
aws유저추가       퍼시스턴트볼륨
기초명령어       k8s에러
포트번호        

이번 포스팅에서는 DNS 서버에 대해 알아보고 이와 연관지어 리눅스에서 /etc/hosts 파일에 대해 알아보겠습니다.

1. DNS?

DNS는 Domain Name System의 줄임말로 웹 사이트의 IP주소와 도메인 주소를 이어주는 시스템을 말합니다. 그리고 이런 시스템 역할을 하는 서버를 DNS서버라고 부르는 것입니다.

DNS는 IP주소와 도메인 주소를 이어주는 시스템이라고 했습니다. 그렇다면 도메인이란 무엇일까요?

2. 도메인

만약 우리가 웹사이트를 방문할 때 일일이 IP주소를 입력해야한다면 외우기 힘들고 헷갈릴 것입니다. 도메인(domain)은 사람이 쉽게 기억할 수 있도록 문자 형태로 만든 인터넷 주소를 말합니다.

이는 간단한 예를 통해 쉽게 이해할 수 있습니다.

크롬 브라우저를 열고 주소창에 다음 ip를 입력해보세요. 다음 아이피 주소는 우리가 알고 있는 네이버 입니다.

http://125.209.222.141/

그런데 네이버 접속할 때마다 위 IP를 입력해야한다면 굉장히 귀찮겠죠? 저 아이피를 보고 네이버를 떠올리기는 쉽지 않을 것입니다. 따라서 이러한 문제점을 해결하기 위해 도메인을 사용합니다. 다음 도메인처럼 말이죠.

https://www.naver.com/

위와 같은 도메인을 보면 한눈에 네이버라는 것을 알 수 있습니다.

3. DNS 서버

그렇다면 이제 DNS서버가 무엇을 하는지 알 수 있습니다. DNS서버는 우리가 주소창에 https://www.naver.com/를 입력했을때, 이를 IP주소인 http://125.209.222.141/로 변환해주는 서버를 의미합니다. 당연히 DNS서버 내부를 보면 IP주소와 도메인주소가 매핑되어 있을 것입니다. 예를 들어, https://www.naver.com/http://125.209.222.141/를 매핑 시키는 것이죠.

4. 우리가 주소창에 네이버를 입력했을 때 일어나는 일

그렇다면 앞서 배운 내용을 토대로 우리가 웹 브라우저 주소창에 https://www.naver.com/를 입력했을 때 일어난 일을 그림으로 알아보겠습니다.

우리가 주소창에 https://www.naver.com/를 입력하면 먼저 dns서버에 물어봅니다. 나는 지금 https://www.naver.com/에 접속하고 싶은데 이분 ip가 뭐야?라고 말이죠. 그러면 dns서버가 해당 주소의 ip를 알려줍니다. http://125.209.222.141/라고 말이죠. dns 서버를 통해 해당 도메인의 ip를 알아냈다면 알아낸 ip로 접속을 시도합니다. 그리고 요청을 받은 http://125.209.222.141/는 저에게 화면을 보여줍니다.

5. 리눅스 /etc/hosts 파일

리눅스 계열의 파일 시스템을 보면 etc 디렉토리에 hosts파일이 존재합니다. 그리고 이 hosts 파일이 dns서버역할을 합니다. 예를 들어, 우리가 주소창에 localhost라고 입력했을 때 해당 도메인을 127.0.0.1로 바꿔주는거죠.

/etc/hosts 파일은 다음과 같이 생겼습니다.

$ cat /etc/hosts
127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

127.0.1.1               raspberrypi

파일을 보면 127.0.0.1이랑 localhost랑 매핑되어 있는 것을 볼 수 있습니다.

태그:

카테고리:

업데이트: