본문 바로가기
컴퓨터학개론

DNS 구성 및 서버유형

by yurieee 2022. 2. 16.

오늘은 유닉스 및 윈도우 네트워크 서비스 중 하나인 DNS에 대해 알아보겠습니다. 유닉스에서 지원하는 네트워크 서비스는 DNS, DHCP, SNMP, TELNE, FTP 등 각종 서비스가 있습니다. 그중 컴퓨터학을 공부하시는 분들이라면 DNS는 많이 들어보셨을 것인데요, 오늘은 이 DNS 구성 및 서버유형 등 다양한 내용에 대해 한 번 같이 알아보도록 하겠습니다.

 

DNS 구성 및 서버유형

DNS란?

도메인 네임 서비스(Domain Name Service)라고 불리는 DNS는 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 혹은 그 반대로 변환을 수행할 수 있도록 하기위해 개발되었습니다. 예를들어 TCP 및 IP 주소체계에서 수많은 IP주소를 사용자는 전부 기억할 수 없습니다. 그래서 조금 더 쉽게 기억하기 위하여 도메인을 설정하고 IP 주소대신에 도메인을 기억함으로써 조금 더 쉽게 해당 시스템을 찾아갈 수 있는 서비스라고 생각하시면 됩니다. 도메인 서비스는 RFC 1035를 더 참고하면 많은 도움이 될 것입니다. 즉, 요약하자면 도메인 이름과 IP 주소를 매핑시켜주는 거대한 분산시스템이라 보시면 되겠습니다.

DNS 구성

최상의 루트도메인이 존제하고 그 아래 com, net, org 등 tcp 도메인이 존제하게 됩니다. 그다음 세컨드 도메인이 구성되고 그 다음 서브도메인이 구성되는 트리구조 형태로 되어있습니다. 보통 com이면 기업체를 말하고 edu를 말하면 교육기관, gov는 정부기관, kr은 국가도메인으로 체계적으로 분류되어서 사용되고 있습니다. 이 중에서도 존(zone)은 기본적으로 하나이상의 도메인을 포함하게 되는데 이러한 존을 관리하는 가장 상위도메인을 해당 존에 대한 루트도메인이라 부르게 됩니다.

DNS 서버 유형

1) 마스터 네임서버(Primary Name Server)

도메인에 대한 소유권을 가지고 있는 서버를 말합니다. 자신이 관리하는 존에 대한 데이터를 자신의 시스템의 로커 파일에서 가져와서 서비스를 제공하는 네임서버입니다.

2) 슬레이브 네임서버(Secoundary Name Server)

존에 대한 정보를 네트워크를 통하여 다른 서버로부터 받아와서 DNS 서비스를 제공하는 서버를 말합니다. 도메인에 대한 backup-cpoy를 유지하는 서버를 말하며, 프라이머리가 비저앙 운영될 때 부하를 분산시키기 위하여 운영되기도 합니다. 보통 슬래이브 네임서버로 존에 대한 정보가 전달되는 것을 zone transfer라고 합니다. 보통 zone transfer는 공격자의 정보를 제공하는 경우가 있어 보안을 고려하여 대책을 강구해야 합니다.

3) 캐시서버

모든 캐시서버는 DNS 서비스 결과를 자신의 캐시에 저장합니다. 이전 DNS 서비스에 대한 요청이 들어오면 캐시를 참조해서 알려주는 서비스 입니다.

리눅스 DNS 서비스 쿼리 순서

먼저 /etc/hosts에 등록되어 있는 주소인지를 확인합니다. 만약 등록된 시스템이면 해당 정보를 요정한 프로그램에게 응답합니다. 보통 /etc/hosts에는 자기 자신의 주소와 자주 사용하슨 시스템의 호스트명과 IP 주소를 등록하게 됩니다. 이후 /etc/resolv.conf에 등록되어 있는 도메인 네임서버에서 DNS 정보를 쿼리하게됩니다. DNS 서버는 클라이언트에서 요청한 DNS 쿼리 정보가 자신이 권한이 있는(Authority) 도메인에 속한 쿼리인지를 확인합니다. 만약 해당 내용이 참이라면 지정된 파일존에서 도메인에 대한 정보를 읽어 클라이언트에게 응답합니다.

요약

여기까지 DNS 구성 및 서버구성에 대해 알아보았습니다. 간단한 내용같으면서도, 막상 네트워크의 연결이 잘 되지 않을때 해당 부분을 놓쳐 트러블슈팅을 하는데 많은 시간을 소요할 수 있기 때문에 사소한 내용이라도 한 번씩 짚고 넘어갈 필요성이 있다고 판단됩니다. 다음번에는 시간이 된다면 DHCP에 대해서도 다뤄보도록 하겠습니다.

 

 

댓글