본문 바로가기
개발자 기초 상식

DNS란? Domain Name System 정리

by CodeMia 2021. 1. 16.

생활코딩 선생님 강의 노트 정리 한 내용입니다.

 

host  

인터넷에 연결된 각각의 컴퓨터 

인터넷에 연결된 모든 컴퓨터는 아이피 주소를 가지고 있어야함 

  

IP address 

호스트와 호스트가 서로 통신하기 위해 서로의 주소가 필요함  

이를 위해 사용하는 주소(261.142.219.192)를 IP 주소라고  

 

DNS 만들어지기 전 인터넷 상황 

사람이 아이피 주소를 기억하는 것이 너무 어려움 

주소 알고 있을 시 내 컴퓨터에 있는 hosts파일로 웹서버에 접속은 가능한데 

다른 여러 사람들이 주소를 몰라 웹서버에 접속하기 불편함. 

 

그래서 스텐포드 리서치 인스티튜드에서 전세계 호스트 파일 관리  

예를 들어 93.184.216.34를 example.com에서 사용 중인 회사가  인스티튜드에 전화해서 아이피 주소와 도메인 이름 알려주면, 인스티튜드에서 관리하는 hosts파일에 주소를 갱신함. 고객은 인스티튜드의 호스트 파일을 다운 받아서  컴에 덮어쓰기  다음 접속. 이로서 아이피 주소가 아닌 이름으로 접속할  있게 됨.  

하지만 인스티튜드에서 수작업으로 해야했기에, 평일에 전화 걸어 신고해야했고, 고객은 매번 다운 받아 사용해야해서 불편함. 또 모든 인터넷 주소가 담긴  너무 용량이 많음 

그래서 Domain Name System  생겨나 자동화됨 

 

DNS(domain name system)  

 컴이 인터넷이 접속하는 순간 DHCP를 이용해  

DNS서버의 아이피주소가 자동으로 세팅됨 

도메인 이름을 치면 일단 호스트 파일에 아이피 주소가 있는지 보고 없으면 DNS서버 연결 

DNS 서버 수많은 아이피주소의 도메인 이름이 저장되어 있음. 

클라이언트가 우선 dns서버에 도메인 네임을 주면 해당하는 아이피 주소를  

 아이피 주소를 가지고 웹서버에 접속 

 

DNS 서버도 아이피 주소를 가지고 있음 

 

hosts 파일  

운영체제 안에 hosts라는 파일이 있음  

자주가거나 나만의 도메인의 아이피 주소를 적어놓음 

구글이라고 접속했을  hosts 파일에 있는 내용을 읽어서 DNS서버에 접속하지 않고 해당 아이피 주소로 접속함 

나의 도메인 주소와 같은 호스트의 이름을 부여할  있음 

 

마음대로 수정해 버리면 해킹 당할  있할  있기 때문에  

관리자 권한이 있어야 수정가능. 

 

hosts file 수정법 

윈도우: 메모장 run as administrator 

맥: 터미널 

52.231.11.152 web1.com  

아이피 주소 / 도메인 네임 입력 

 

security 

피싱 사기 당할 우려. 피싱 사기란? 

hosts 파일을 변조해서 자주 가는 사이트의 아이피 주소를 변경해  

유해 사이트로 접속 유도 

52.231.11.152 국민은행 -->66.666.66.666로 변경해  

국민은행 사이트와 똑같이 만들어놓고,개인 정보  빼감. 

https로만 들어가야함 (s: secure의 약자) 

 

Public DNS 

내가 원하는 DNS 서버를 구글링으로 선택해 사용할  있음. 

보통은 통신사에서 자동 제공해 주지만, 내가 접속한 사이트를 통해  

개인 정보 유출이 될 수 있기 때문에 다른 DNS 서버 사용. 

 

DNS 서버 설정 

네트워크-advanced-dns-주소입력  

 

DNS internal 

DNS 서버 수천, 수만 개가 전세계 분산되어 있음 

 

각각 담당하는 파트가 다른 독자적인 DNS 서버들이 존재함 

각 DNS 서버는 직속 하위 파트만 알고 있음  

Root도메인은 이름 적을  보통  생략하고 적음 

 

Root domain: 하위Top-level domain 서버들의 목록과 아이피 주소를 알고있음. 

Top-level domain: 하위 Second-level domain서버 " 알고 있음 

Second-level domain: 하위 sub domain서버 " 알고 있음 

sub domain: blog.example.com 아이피 주소를 알고 있는 유일한 도메인  

 

일단 이 sub 도메인이 알고 있는  한방에 알 수 없으니  

root 도메인 부터 하나씩 물어 좁혀 나감 

고로 최소 root 도메인 서버의 아이피 주소는 알고 있어야함. 

 

DNS register 

도메인 이름 등록하려면  

ICANN: 비영리 단체 

1)  세계 아이피주소를 관리하고  

2) 전세계에 13개로 흩어져 있는 Root name 서버들의 관리자 

 

registry: .com. .net. co.kr. 탑 도메인 네임 관리  

registrar:등록 대행자. 여기다 등록하고 싶은 주소를 알려줌. 돈내야함.   

Root name server 

com NS a.gtld-servers.net  

탑네임서버 .com서버는 a.gtld-servers.net 있다 

자신의 도메인을 운영하기 위해서 할일  

Top-level domain에다가  아이피 주소 등록은 불가하고 

스스로 서버한 대를 마련해서 네임서버를 깔아 도메인 구축하는 방법 또는 

Registrar가 네임 서버를 제공 

하는 경우가 많고 

무료로 사용할  있는 네임 서버도 많음 

root name domain이 Top-level domain 알고 있는 것처럼  

Top-level domain도  

네임서버(authoritative name server)가 누구인지 알고 있어야함. 

 

dns 관련 정보 수집하는 방법 

1 example.com이라는 주소를 가지고 있는 컴퓨터의 아이피 주소를 알고 싶다면  

nslookup 또는 DIZ(윈도우에서 안됨) 사용 

 

1) nslookup 프로그램에서 찾고자 하는 사이트 이름 입력 

2) DNS 서버의 주소 여기에 연결해서 의뢰 

3) authritative name 서버가 응답한  아니라 DNS서버의 캐시가 응답 

4) 아이피 주소  

2 찾는 주소를 가지고 있는 네임서버(authoritative name server) 찾기  

1) 네임서버 주소 

 

3 DNS 서버 캐시를 거치 않고 직접 물어보기  

non-authoritative answer 항목 없어짐. 

 

DNS 서버 캐시인터넷 접속기 isp가 자동으로 세팅해 주고, 클라이언트가 주소 물어볼  마다 매번 룻,탑레벨등 돌아가면서 물어보는 것이 아니라 DNS 서버가 갔던 사이트 주소는 캐시에 있다가 알려줌 

 

내 도메인 이름 갖는 법 

 아이피를 가지고 있고, 도메인을 입히는 방법 

이름짓기: coco4u.ga로 짓기로 함  

등록 대행자를 통해 ga담당하는 registry에 등록 해야함  

등록 대행자 freenom.com 서비스 1년간 공짜 사용  

11강(나의 도메인 이름 장만하기)에 사용법 설명해줌 

 

DNS record & CNAME 

 

DNS record란? 

dns4u.ga A 52.231.13.22 (A:address는 뒤에 주소다) 

dns4u.ga NS ns01.freenom.com (NS: 네임서버는 뒤에 주소다) 

ga NS a.ns.ga 

위에 그림에 있듯이 각 한 건씩을 DNS 레코드라고 함. 

구글로 DNS 레코드 검색하면 여러 약자에 대한 설명 나옴 

 

CNAME 레코드? 

서버에 도메인 네임을 지정하는 새로운 방식, 별명을 지어줌 

www.dns4u.ga CNAME dns4u.ga  

누군가 www.dns4u.ga로 접속하면 dns4u.ga로 연결이 되고  

이 건 아이피 주소가 아니기 때문에  

다시 dns4u.ga A 52.231.13.22로 가서 아이피주소를 주게됨 

 

domain name mapping 

손님이 간략한 주소dns4u.ga 접속했는데 ---> 

http://web-n.github.io/web1_html_internet/으로 연결되게 하는  

github를  홈페이지로 사용할  있음. 

내가 서버를 운영하지 않고, 남의 서비스를 사용하는 경우 주소가 엄청김 

1) 일단 dns4u.ga 도메인 네임을 구입한다 

2) 깃헙에 도메인 붙일 때 이 아이피 주소쓰라고  알려줌  

configuring A records with your DNS provider 

 dns4u.ga를 담당하는 freenom에 가서 아이피 주소 두 개 다 입력 

3) DNS서버에 dns4u.ga의   

아이피 주소를 등록함 

4) 깃헙에 dns4u.ga  주소 들어오면  

http://web-n.github.io/web1_html_internet/ 주소에 있는  

자료 보여주라고 설정 

github-settings-pages-custom domain-이름 지정 

 

 

댓글