티스토리 뷰

CentOS 강좌 PART 2. 2 DNS Server 구축과 운영 1

[DNS -Domain Name Service 소개 ]

도메인 네임서비스는 호스트의 도메인 이름을 IP 주소로 변환하거나 또는 그 역으로 IP 주소를 호스트의 도메인 이름으로 변환 할 수 있도록 하는 서비스를 말한다.
이러한 역할의 중심에는 DNS 서버가 그 역할을 주로 담당하게 된다.
Domain Name Service라는 의미에서 찾을 수 있듯이, 서비스를 제공하는 서버와 서비스를 제공받는 클라이언트가 페어로 이뤄진다.
여기서 서버는 상위 DNS와 연동되기 때문에 서버 및 클라이언트가 되기도 한다.
따라서 DNS Servers는 Name Service를 위한 Resolver, DataBase, Cache 기능을 가지고 있고, 사용자는 Resolver기능만을 가지고 있다.
이들간의 통신은 Port 번호 53번으로 통신하게 되며, UDP를 우선시하고, TCP도 사용가능하다.
호스트 입장에서는 찾아가고자 하는 목적지의 호스트 도메인 이름을 곧바로 DNS에서 질의하는 것은 아니고 아래와 같이 조회를 한 이후에 DNS 서버를 조회한다.

1.호스트 서버의 Cache 조회 

2.host 정보 조회 - /etc/hosts

1
2
3
4
5
6
7
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
10.72.78.253    centrepo.cisko-dc.com
10.72.78.151    centos151
10.72.78.152    centos152
10.72.78.153    centos153
cs

3. DNS 서버 조회 - /etc/resolve.conf
1
2
3
search cisco.com
nameserver 64.104.14.184
nameserver 64.104.123.245
cs



[DNS 동작 방식 소개 ]

실제 DNS 동작 방식을 이해하면 , DNS를 운영하는데 있어서 더욱 도움이 될 것이다.
우선 DNS 서버의 동작 방식을 이해하기 쉽도록 , 호스트에서 목적지까지의 DNS 조회와 웹브라우저의 실행까지의 플로우를 그려보았다.


1. 사용자 질의

 사용자는 자신의 캐쉬와 host file을 조회하고, 목적지가 등록되어 있지 않으면 DNS 서버로 질의를 보낸다.
 만약 DNS Cache에서 응답된 DNS  질의 결과이면 곧바로 응답이된다.

2. Local DNS Server가 Root DNS로 질의

DNS Cache에 없는 질의,응답이라면, DNS 서버는 abc.com의 IP를 알아내기 위해 Root Name Server로 “www.abc.com”에 대한 질의를 한다.

3. Root DNS가 Local DNS Server에 DNS NS 레코드로 응답.

Root Name Server는 질의요청을 받고, “www.abc.com” 내용 가운데 “.com”의 Name Server 위치에 대한 응답을 알려준다.
이때 응답은 NS - Name Server 응답을 해 준다.

4. Local DNS Server가 2nd Level .com DNS 로 질의

NS 레코드 응답을 받은 Local DNS Server는 .com DNS로 “www.abc.com” 에 대한 질의를 한다.

5. 2nd Level .com DNS가  Local DNS Server에 DNS NS 레코드로 응답

.com Name Server는 질의요청을 받고, “www.abc.com” 내용 가운데 “abc.com’의 Name Server 위치에 대한 응답을 알려준다.

6. Local DNS Server가 3rd Level ns.abc.com DNS로 질의

NS 레코드 응답을 받은 Local DNS Server는  abc.com DNS 서버로 질의하고, abc.com의 Name 서버는 자신의 네임서버 존에 속한 www.abc.com 에 대한 응답을 한다.

7.3rd Level DNS인 ns.abc.com DNS 서버가 Local DNS Server에 DNS A 레코드로 응답.

abc.com의 DNS 서버인 ns.abc.com 는 자신의 네임서버 존에 속한 www.abc.com 의 IP 주소를 확인하여 1.1.1.1 주소라는 것으로 A 레코드 응답을 한다.

8. Local DNS는 요청한 www.abc.com 주소를 사용자에게 통보

Local DNS는 사용자가 요청한 www.abc.com  주소가 1.1.1.1 인 것을 사용자에게 통보한다.

9. 사용자는 HTTPS GET으로 요청한 내용을 www.abc.com으로 부터 받는다.



[DNS 메세지 구조 소개 ]

DNS 메세지 구조를 상세하게 알 필요는 없지만 Record Type의 경우에는 DNS 설계와 동작을 파악하는 데 중요하기 때문에 알아둘 필요가 있다.
DNS Header는 12byte로 구성되어 있으며, 이 가운데 Flag 정보를 통해서 DNS의 현재 하고자 하는 내용을 파악할 수 있다.


실제 DNS에서 가장 중요한 부분은 바로 레코드 부분이다.
실제 DNS 설정할 때도 레코드에 대한 부분을 설정하게 되며, 이것을 이해하면 대부분의 DNS 구성 방식을 이해했다고 볼 수 있다.


DNS Record는 Type에서 실제 질의,응답의 내용을 파악할 수 있기 때문에 Record Type을 이해하는 것이 매우 중요하다.
아래 Record Type을 기술하였다.


공지사항