네임 서버의 개념
DNS 서버라고도 한다.
hosts파일의 예를 보면 아래와 같다.
#cat /etc/hosts
hosts파일이 존재하는 경우 웹 브라우저에서 URL주소를 입력하면 hosts 파일을 검색하여 해당 URL에 대응하는 IP주소를 얻을 수 있게 되었다.
www.daum.net를 입력하면 211.111.251.33에 접속할 수 있게 된다.
하지만 어느 정도의 규모에서는 hosts파일이 해결할 수 있지만
네트워크상의 컴퓨터에 대한 모든 IP 정보를 파일 하나에 기록하는 것은 한계
따라서 DNS가 필요하다.
네임 서버를 이용한 네트워크 접속
사용자는 10.10.10.10이라는 네임 서버만 알고 있으면 언제든지 해당하는 URL의 IP주소를 알아낼 수 있다.
02 네임 서버 구축
BIND(Berkeley Internet Name Daemon)
- Name server를 운용하기 위해서는 서버측 데몬 프로그램이 필요하게 되는 데, 이 중 BIND는 db파일의 구성이 쉽고 표준을 충실히 따른 검증된 도구로서 인터넷에서 가장 널리 사용된다.
도메인 이름 체계
도메인 이름 체계는 트리 구조와 같다.
루트 네임 서버는 1단계 네임 서버인 com 네임 서버
net네임 서버, org네임 서버만 관리하면 된다.
1단계 네임 서버는 2단계 네임 서버들만 관리하면 된다.
예를 들어 com 네임 서버는 redhat, empas, naver 등 2단계 도메인을 관리하는 네임 서버들만 관리하면 된다.
로컬 네임 서버가 작동하는 순서
1. PC의 웹 브라우저 주소 창에서 www.redhat.com을 입력
2. 리눅스일 경우 /etc/resolv.conf를 열어서 "nameserver <네임 서버 IP>" 부분을 찾아 로컬 네임 서버 컴퓨터를 알아낸다.
3. 로컬 네임 서버에 www.redhat.com의 IP주소를 질의한다.
4. 로컬 네임 서버는 자신의 캐시 DB를 검색하여 www.redhat.com의 정보가 들어 있는지를 확인한다. 만약 정보가 있다면 바로 응답하지만 대개는 정보가 없다.
5. 로컬 네임 서버는 루트 네임 서버에 www.redhat.com의 주소를 물어본다.
6. 루트 네임 서버도 www.redhat.com의 주소를 모르므로, COM네임서버의 주소를 알려주면서 이 네임 서버에 물어보라고 한다.
7. COM 네임 서버에 www.redhat.com의 주소를 물어본다.
8. COM 네임 서버도 www.redhat.com의 주소를 모르므로, redhat.com을 관리하는 네임 서버의 주소를 알려주면서 이 네임 서버에 물어보라고 한다.
9. redhat.com 네임 서버에 www.redhat.com의 주소를 물어본다.
10. redhat.com 네임 서버는 레드햇 사에서 구축한 네임 서버므로 ???.redhat.com 이라는 이름을 가진 컴퓨터의 목록은 모두 가지고 있다. 그러므로 www.redhat.com의 IP주소도 알고 있으므로, IP주소를 알려준다.
11. 로컬 네임 서버는 www.redhat.com의 IP주소를 요구한 PC에 IP주소를 알려준다.
12. PC는 획득한 IP주소로 접속을 시도한다.
캐시 전용 네임 서버
PC에서 URL로 IP주소를 얻으려고 할 떄 해당하는 URL의 IP주소를 알려주는 네임 서버를 말한다.
마스터 네임 서버
마스터 네임 서버는 john.com과 같은 도메인에 속해 있는 컴퓨터들의 이름을 관리하고, 외부에서 www.john.com 컴퓨터의 IOP주소를 의뢰했을 때 해당 컴퓨터의 IOP주소를 알려주는 역할을 하는 네임 서버를 말한다.