본문 바로가기
Infra & Security Eng/Project Implementation

slave name server 만들기 (master-slave 네임서버 구조, 역할 비교, 실습)

by 엔지니어 E 2026. 1. 28.
반응형

1. Master - Slave 네임서버 구조

핵심 개념
네임서버를 여러 대 운영할 때, 모든 서버를 일일이 수정하는 것은 비효율적이며 설정 오류가 발생할 위험이 크다.

이를 해결하기 위해 데이터를 수정하는 주체(Master)와 수정된 내용을 자동으로 복제하는 객체(Slave)로 역할을 분리함

 

2. Master vs Slave 역할 비교

구분Master (Primary)Slave (Secondary)
실습하기

1. 실습에 앞써서 실습 예제는 te.sec 존 파일을 만든 상태이므로 파일 꼬임 현상 방지를 위해 itc 파일을 지운다 
# rm -rf te.itc.zone 

2. 같은 네임 서버를 2개 만드는 것이므로 master name server와 slave name server의 관계를 설정해야 한다
* slave named server 만들때 중요함 

3. # vi /etc/named.conf 에 들어가서 관계를 설정한다 (이전에 있던 itc 존 내용을 지운다), 그리고 기존에 있던 sec 존 파일을 교안의 master name server 내용으로 수정 한다 (191번에서)
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
options {
         directory "/var/named";
};

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

zone "ast19.sec." {
     type master;
     file "ast19.sec";
     also-notify { 192.168.10.192; };  ---> 이거 하나만 추가 하면 됨 
};
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

4. 192번 리눅스에 들어가서 named 프로그램 2개 설치 한 후 # vi /etc/named.conf 에서 아래 내용을 복붙한다 (192번에 bind 프로그램은 깔아놔야 하고, 디렉토리 생성과 권한 작업 딱히 필요 없음
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
options {
         directory "/var/named";
};

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

zone "ast19.sec."{
             type slave;
             file "ast19.sec.”;
             masters { 192.168.10.191; };   ---> 이거 하나만 추가 하면 됨 (slave named server 영역 지정)
};
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

5. # systemctl restart named 입력 

6. # cd /var/named 로 이동 - # ls 로 ast19.sec 가 나오면 마스터 서버가 잘 넘어 간 것임 

7. # ls -al 로 ast19.sec 이 소유주:named / 그룹: named 로 되어있는지 확인 할 것

* 192번에서 슬레이브 네임 서버 존 파일이 자동적으로 만들어졌는지 확인 할때 그 내용은 볼 수 없음
(# cat /var/named/ast19.sec)

 
💡참고사항 

Master 서버에 존재하며 slave 서버에 복사 된다

$TTL 1D        ; [캐시 유지 시간] 외부 서버가 이 정보를 가져갔을 때 보관하는 시간 (기본 1일)

@   IN   SOA   ns.te.sec.   root.ns.te.sec. (
    2024052201 ; [Serial] 존 파일의 버전 번호. 
               ; ★매우 중요: 이 숫자가 Master가 Slave보다 커야만 Slave가 업데이트를 진행함

    1D      ; [Refresh] 새로고침 주기. 
               ; Slave가 Master에게 "데이터 바뀌었니?"라고 시리얼 번호를 확인하러 오는 주기

    1H      ; [Retry] 재시도 간격. 
               ; Refresh를 시도했는데 Master가 응답이 없을 경우, 1시간마다 재접속을 시도함

    1W      ; [Expire] 만료 시간. 
               ; Master와 연락이 일주일 동안 두절될 경우, Slave는 본인이 가진 데이터가 
               ; 더 이상 정확하지 않다고 판단하여 폐기(DNS 서비스 중단)함

    3H   )  ; [Minimum / Negative Caching TTL] 
               ; 과거에는 메모리 관리용으로 쓰였으나, 현대 DNS에서는 '찾을 수 없는 도메인'
               ; (NXDOMAIN)에 대한 응답을 캐시에 저장해두는 시간으로 사용함

* TTL: 메모리에 자주 사용하지 않는 캐시를 지우는 기법, 대용량 데이터에 사용할 수 없음 
* 기존에 네임서버 2개를 그냥 각각 수정하고, slave 서버를 안 만들어도 되긴 하다 

* IXFP: 업데이트가 즉각 바뀜 (마스터 서버 -> 슬레이브 서버로 즉각 업데이트 됨)
* AXFR: 업데이트가 즉시 바뀌지 않음