본문 바로가기

리눅스, 서버

DNS 서버 master-slave 설정 리눅스(Centos)

반응형

dns 서버를 구축한 뒤 master-slave 서버를 구축해 이중화해보겠습니다. slave 서버는 master 서버로부터 생성된 dns 설정을 미러링 하는 백업 서버의 역할을 합니다.

 

vi /etc/named.rfc1912.zones

이전에 구축해 두었던 dns 서버에서 문서 편집기로 위 파일을 열겠습니다.

 

allow-update { slave 서버의 ip 주소; };

allow-transfer { slave 서버의 ip 주소; };

also-notify { slave 서버의 ip 주소; }

slave 서버의 ip 주소를 { } 안에 추가하겠습니다. 

 

46번 줄 이후에 3가지 타입의 방식으로 slave 호스트에 dns 설정을 제공 할수 있습니다저의 slave 서버의 ip 주소는 10.10.20.238 이기에 이렇게 설정했습니다. 위 3가지 allow-update, allow-transfer, also-notify 형식들의 차이를 한번 알아보겠습니다. 

 

allow-update :

1 - 마스터와 지정된 비밀 값을 공유하는 슬레이브 호스트가 적용 가능하다. TSIG (transaction signature)을 이용한다. (예를 들어 마스트와 슬레이브 서버가 "tsig.key" 를 가지고 있다면 allow-update { key tsig.key; }; 로 설정할 수 있다

2 - 특정 네트워크 영역대를 슬레이브 호스트로 지정할수 있다. (예를 들어 하나의 ip 호스트가 아닌 "10.10.20.0/24" 의 네트워크 영역대를 allow-update { 10.10.20.0/24; }; 로 설정 가능 하다 

3 - 하나의 호스트를 지정할 수 있다. allow-update { 10.10.20.238; };

 

allow-transfer :

정해진 호스트에만 적용 가능하다. allow-transfer { 10.10.20.238; }; 또는 복수의 slave 호스트를 설정할 수 있다. allow-transfer {10.10.20.238; 192.168.1.1; }; 인가되지 않은 사용자에게 zone 정보를 유출시키지 않기 위해 제한적인 alllow-tranfer를 쓴다. 

 

also-notify :

master 서버에서 변경사항이 생기는 즉시 slave 서버에게 실시간으로 업데이트 가능하다.

 

인터넷을 뒤져 찾은 3가지의 특징들입니다. allow-update, allow-transfer 는 정해진 시간이 지난 뒤 업데이트 사항이 있는지 점검하고 slave로 보내고 also-notify는 변경 즉시 slave 서버에 적용됩니다. 

 

 

이제 slave 서버에 필요한 설정을 하겠습니다. bind를 설치하겠습니다. 이 내용은 이전 글에 소개되어 있기에 생략하겠습니다.

 

vi /etc/named.rfc1912.zones

slave 서버에서 설정을 시작 하겠습니다. 

 

zone "testdns.com" IN {

           type slave;

           file "testdns.com.zone";

           masters { 10.10.20.57;};

};

 

zone "20.10.10.in-addr.arpa" IN {

           type slave;

           file "testdns.com.rev";

           masters { 10.10.20.57;};

};

 

위 키워드를 입력하겠습니다. 그리고 재시작 하겠습니다.

systemctl restart named

 

cd /var/named 

해당 폴더에 가보니 testdns.com.zone과 testdns.com.rev 파일이 생성된 것을 확인할 수 있습니다. 이렇게 slave 서버의 설정이 완료되었습니다. 

 

몇몇 관련 강의 글을 보니 master와 slave 서버의 /var/named 디렉토리에 w 권한을 부여하라는 내용이 있기에 추가하겠습니다. 사실 저도 왜 그런지는 잘 모르겠네요.

 

chmod g+w /var/named

master 와 slave 서버 둘 다 이렇게 변경하겠습니다.

 

 

이렇게 dns 서버 이중화를 위한 slave 서버 구성이 끝났습니다. dns 서버 구축에 대해서는 이외에도 서버 분산처리 등 다양한 방법이 있지만 일단 여기서 마무리 하겠습니다.

반응형