Infra & Security Eng/Project Implementation

Cache, Authoritative DNS 서버 생성하기, /etc/named.conf 파일 설정하기

엔지니어 E 2026. 1. 26. 19:52
반응형

Cache DNS 서버 생성하기 (실습)

Cache DNS 서버 생성하는 이유

실제 캐시서버를 dns 서버로 많이 지정한다
캐시가 없다면 매번 루트 서버 - TLD 서버 - 권한 있는 서버를 거치는 복잡한 과정을 반복 해야 되기때문이다

캐시가 있다면 이전에 방문했던 도메인 정보를 로컬 캐시 서버가 기억했다가 즉시 답변해준다

1. 반복 질의 수행: 클라이언트 대신 루트(.)부터 하위 도메인까지 직접 찾아가 IP를 알아내는 복잡한 과정을 대행
2. 응답 속도 향상: 한 번 찾은 IP는 메모리에 저장(캐싱)하여, 다음 요청 시 외부 망 접속 없이 즉시 응답
3. 트래픽 절감: 반복적인 외부 질의를 줄여 네트워크 대역폭 낭비를 방지
실습하기 

1. 리눅스 서버(192)에 Bind 서버 설치 확인 및 설치
# dnf list bind bind-utils - 설치 확인하기 
# dnf install -y bind bind-utils - (* 반드시 bind 와 bind-utils 둘 다 설치)

2. /etc/named.conf 파일 설정 - 많은 내용들이 있는데 다 지우고 아래 내용만 입력할 것
# vi /etc/named.conf 입력 

options { directory "/var/named";
};

zone "." {
          type hint;
          file "named.ca";
};

# cat /etc/named.conf - 내용 저장되어있는지 확인 하기

3. 그룹 소유자 named로 설정하기 
# chgrp -R named /etc/named.conf
# chgrp -R named /var/named

# ls -l /etc/named.conf - 2개파일 다 named 로 지정 되어 있는지 확인 하기

4. systemctl start named.service - 서비스 실행 
5. nslookup www.google.com 192.168.10.1x   - nslookup [조회할 도메인] [질문할 DNS 서버] - 남의 집주소(구글) 도 잘 알아다 주는지 확인하는 테스트 (캐싱 서버 기능이 작동하는지 확인)

그리고 nslookup www.google.com  ast19.sec 에 물어보면 오류가 나와서 /etc/resolv.conf 에 nameserver 192.168.10.11 과 nameserver 8.8.8.8을 적으면 됨
nslookup www.google.com  만 적으면 local DNS Server 에 물어보는 것임

 
💡참고사항 

 /etc/named.conf 파일 설정
- 데몬(/usr/sbin/named)(여기서는 설정 안 함):DNS 서비스를 실제로 돌리는 실행 파일
- 관리 스크립트(/usr/lib/system/system/named.service)(설정 안 함): systemctl 명령어로 서버를 켜고 끄는 관리 도구 
- 환경 설정 파일(/etc/named.comf)(핵심 설정): 누가 접속하게 할지, 어디를 참고할지를 적는 가장 중요한 파일 
(내가 지금 세팅하는 options, zone 명령어는 모르는 주소를 요청받으면, /var/named/named.ca 파일에 적힌 루트 서버를 참고해서 대신 찾아줘라 는 뜻)
- 설정 파일 경로(/var/named/)(데이터 폴더 위치 확인): 루트 서버 정보(named.ca)가 이 폴더 안에 들어 있어야 한다
(서버가 작동하려면 폴더 위치(/var/named)와 파일(named.ca)을 알아야 하고, 그 폴더와 파일들에 접근할 수 있는 권한(named 그룹 소유)이 반드시 있어야 한다) 
* named.ca 파일: 전 세계 루트 DNS 서버 주소가 들어 있음 / zone 파일들: 특정 도메인(예: naver.com)의 IP 정보를 직접 소유하고 관리하는 원본 데이터 파일 인데 캐싱 DNS 서버는 도메인을 관리하지 않으므로 zone 파일들이 필요가 없음
- 이외 관련 파일
/etc/resolv.conf: 이 컴퓨터가 주소를 물어볼 DNS 서버의 IP 주소를 적어두는 파일
/etc/host.conf: 주소를 찾을 때 **내 컴퓨터의 메모(hosts 파일)**를 먼저 볼지, DNS 서버에 먼저 물어볼지 그 순서를 정하는 파일. 기본 설정이 잘 되어있어서 기본값으로 둠
- 실행을 위한 최소 권한: named.conf와 named.ca 파일의 그룹 주인이 named 여야 서버가 실행 된다 

 

Authoritative DNS서버 생성하기 (실습)

프로세스 확인하기

1. DNS 서버 설치 및 확인 
2. /etc/named.conf 파일 설정 
3. Cache 파일 확인: named.ca 파일 
4. Zone 파일 생성 
- 도메인 zone 파일 
- localhost zone 파일 
5. name 서버 시작

 

* { type [ master | slave | hint ];
file " zone 파일명";
allow-update {[ none | 2차 DNS 서버 IP ] ; }; 
masters { master DNS 서버 IP; }; }; ----->

allow-update: 외부 수정을 허용할 때 쓰는데, 지금은 직접 수정하니까  필요 없음 
masters: 남의 데이터를 복사해올 때 쓰는데, 지금 서버는 원본이니까 필요 없음

지금 실습은 type, file만 쓸 것임

* sec 사용 배경: 예시로 yahoo.com을 등록 하려면 com에 등록해야 하지만 현재 실습 하는 동안 도메인이 없으므로 존재하지 않는 도메인(ex. ast##.sec) 로 도메인을 등록 한 것임 
 

 
💡참고사항 

* { type [ master | slave | hint ];
file " zone 파일명";
allow-update {[ none | 2차 DNS 서버 IP ] ; }; 
masters { master DNS 서버 IP; }; }; ----->

allow-update: 외부 수정을 허용할 때 쓰는데, 지금은 직접 수정하니까  필요 없음 
masters: 남의 데이터를 복사해올 때 쓰는데, 지금 서버는 원본이니까 필요 없음

지금 실습은 type, file만 쓸 것임

* sec 사용 배경: 예시로 yahoo.com을 등록 하려면 com에 등록해야 하지만 현재 실습 하는 동안 도메인이 없으므로 존재하지 않는 도메인(ex. ast##.sec) 로 도메인을 등록 한 것임