DNS

강한친구·2022년 2월 4일
0

Network

목록 보기
7/12

Domain Name Server

만약 브라우저 주소창에 google.com을 검색한다면 우리는 구글의 ip주소172.217.175.238를 찾아서 직접 접속할 필요가 없다. 바로 DNS에서 해주기 때문이다. 이러한 IP정보를 지니고 있는 서버를 Domain Name Server라고 부르는것이다.

Hosts files

과거 DNS가 없을떄는 이 호스트 파일에 있는 정보로 접속했었다.

예를 들어 우분투에서 elinks로 접속을 한다고 하자
elinks google.com을 입력하면 elinks를 통해 google.com에 접근하게 된다.
이는 host file에 google.com이라는 이름을 가진 정보가 없어서 DNS에서 google.com 의 IP 주소를 가지고와서 접속했기때문이다.

이제 Host File을 변경해보자

우선 sudo su 를 통해 슈퍼유저로 접근을 한다
그 다음
cd /etc ==> nano hosts 명령어를 통해 hosts file에 접근한다
그 후 hosts file에 127.0.0.1 google.com 을 입력하고 저장한다

다음과 같이 hosts file을 변경한경우 elinks를 통해 google.com에 접근하면 127.0.0.1이 주소로 되어있기때문에 자동으로 127.0.0.1로 연결되게 된다.

하지만 이는 언제까지나 구시대의 유물로 현대 인터넷은 이 Hosts file로 관리할 수가 없어서 DNS가 생긴것이다.
이 호스트 파일을 이용하여 해킹공격이 가능하기도 하다.
호스트파일 내용을 바꿔서 유사한 웹사이트로 유도한 후에 로그인시도시 들어오는 개인정보를 갈취하는 방식이다

실습이 끝났으면 파일 내용을 다시 처음상태로 되돌려놓도록 하자.

도메인과 서버

google.com의 com velog.io의 io들을 우리는 도메인이라 부른다. 실제로 com net 을 제외하고서라도 굉장히 많은 도메인들이 있다.

우리는 ipaddr 이나 curl 명령어를 통해 자신이 구축한 웹서버의 ip주소를 알아낼 수 있다. 그 후 특정 도메인을 구입하여 그 도메인과 주소를 연결해주면 외부에서 도메인을 입력했을때, 미리 연결된 ip주소의 서버로 연결되는것이다.

서버

하나의 서버는 하나의 도메인과 매칭이된다. 만약 서버가 여러개면 각 서버별로 도메인을 사아햐지만 이는 매우 비율적이다. 이를 해결하기 위해 서브도메인을 운영한다.
얘를들어 b.com 이라는 사이트가 있을때, blog.b.com이라는 서브도메인을 만들고 이를 새로운 서버의 아이피와 연결하면 되는것이다.

Root DNS

똑같은 이름을 가진 사이트여도 뒤에 붙는 도메인확장자에 따라 연결되는 서버가 다르다. 요즘은 안그러지만 과거 구글은 google.com은 구글메인인 미국구글이고 google.co.kr / google.co.jp같은 구글은 각 국가별 구글로 연결되었었다.

이러한 정보들을 담고있는것이 Root DNS이다.

0개의 댓글