또 뭐하지

[포너블 기초] 생활코딩 리눅스 섹션 10. 도메인 domain 본문

I.sly()/9기 기초 - 포너블

[포너블 기초] 생활코딩 리눅스 섹션 10. 도메인 domain

mameul 2024. 4. 1. 16:59
728x90

Domain

1. DNS (Domain name system)

서버에 접속할 때 서버의 이름이 google.com이라고 할 때, 실제로는 google.com의 IP Address로 접속을 하게된다.

브라우저를 통해 google.com에 접속을 시도하면, 먼저 DNS의 IP Address로 접속해 google.com의 IP Address를 묻게되고 응답 받은 값으로 서버에 접속하게 된다.

2, hosts 파일

: 도메인 네임과 IP Address를 매핑하는 파일

 

각각의 컴퓨터마다 hosts 파일을 가짐. DNS 이전에는 hosts 파일을 통해 접속.

 

elinks google.com : google 홈페이지에 접속
elinks http://localhost : 로컬 서버에 접속
sudo nano /etc/hosts : hosts 파일 열람
-> 여기에 127.0.0.1 google.com을 추가하면 google.com을 입력하면 로컬서버로 접속하게 변조할 수 있다. 이런 특성 때문에 hosts에 대한 악의적인 변조 공격이 있을 수 있다.

어떤 도메인에 접속 시도를 하면 local의 hosts 파일부터 살피게 된다. 찾는 내용이 없을 때 DNS에 접속한다.

 

network : 각 host의 모임
internet : network의 모임

3. 도메인 구입

cat /etc/resolv.conf : 접속한 인터넷 서비스 회사에서 제공하는 DNS 서버 주소 열람
도메인 구입 : 도메인 네임과 IP Address를 매핑시키기 위해


도메인 이름의 체계에 따라 관리하는 주체가 다르다 (co.kr , co.jp 등등)
도메인 네임을 독점적으로 사용하고자 한다면 구입해야 한다. com, net, ga 등에서 구입가능하다.

도메인 네임을 구입하고 curl 명령어를 통해 나온 IP 주소를 등록하면 사용 가능하다.

 

host egoing.ga : 해당 도메인의 IP 주소를 알 수 있음

4. 서브 도메인

하나의 서버는 하나의 도메인과 매칭
서브 도메인 : 서버가 여러개일때 도메인을 재사용
ex) egoing.ga -> admin.egoing.ga, blog.egoing.ga 등등

5. DNS의 동작 원리

dig +trace egoing.ga : 도메인의 IP 주소를 리턴하기 위해 거쳐가는 서버들을 알려줌

 

egoing.ga. : 마지막의 .을 root라고 함
root DNS server : 여러대의 서버로 전세계에 흩어져 있음. 그 리스트를 우리 컴퓨터는 기본적으로 알고 있음.

 

(1) egoing.ga. 에 접속한다.
(2) root DNS에.ga를 담당하는 DNS 서버 목록을 물어본다.
(3) 반환받은 DNS 서버(ga DNS 서버) 중에 하나에 egoing.ga.를 관리하는 DNS 서버를 물어본다.
(4) 반환받은 DNS 서버(egoing.ga DNS 서버)에 최종적으로 IP 주소를 묻게된다.-> 최종적으로 IP 주소가 나올 때까지 DNS 서버에 묻는 것을 반복한다.

 

직접 DNS 서버를 구축할 수도 있다!