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 서버 구축에 대해서는 이외에도 서버 분산처리 등 다양한 방법이 있지만 일단 여기서 마무리 하겠습니다.
'리눅스, 서버' 카테고리의 다른 글
DNS 서버 구축 리눅스(Centos) (0) | 2020.02.14 |
---|---|
리눅스(Centos) 아파치 서버 구축 및 설정 (0) | 2020.02.12 |