Information Security

28 DNS Master & Slave 서버 구축 본문

Linux

28 DNS Master & Slave 서버 구축

leeeeye321 2017. 10. 25. 14:42

라운드로빈 부하 분산

동일한 서버를 여러 대 운영할 때 DNS 서버를 통해서 클라이언트의 요청이 한 서버에만 집중되지 않도록 적절하게 부하를 분산하는 DNS 서버의 기능을 라운드 로빈 방식의 Load Balancing이라고 한다.

 

yyy.zone 파일에 표시된 내용 추가

 

yyy.rev.zone 파일에 표시된 내용 추가

 

named 데몬 재시작

 

네임서버 변경

 

부하가 분산된 것 확인

 

dig 이용하여 웹 서버의 정보 조회

 


 

마스터(Primary, Main) / 슬레이브(Secondary, Backup) 네임 서버 구축

마스터 네임서버가 동작하지 않을 경우 슬레이브 네임서버가 마스터를 대신하여 클라이언트에게 도메인/IP 주소 정보를 제공해야 한다.

정보를 제공하기 위하여 DB 파일이 필요하다. -> 마스터 서버의 DB 파일을 가져와야 한다.

 

마스터 네임서버 설정

www.yyy.com 도메인의 정보를 가지고 있는 DB 파일을 Server-B(100.100.100.120)에게 전송 허용(allow-transfer)

 

DB 파일 수정

-> 슬레이브 네임서버 설정을 위하여 슬레이브 네임서버의 IP 추가

 

named 데몬 재시작 -> 변경 정보 적용

 

마스터 네임서버가 yyy.com에 대한 정보를 제공할 준비를 완료했다.

 

슬레이브 네임서버 설정

Server-B 접속 후 bind 패키지 설치

 

기본 설정 변경

 

마스터와 동일하게 yyy.com에 해당하는 존 생성

type slave;    정보를 마스터로부터 제공받을 slave

file "slaves/yyy.zone";    마스터로부터 정보를 제공받을 경우 저장될 DB 파일의 경로

masters { 100.100.100.110; };    DB 파일 전송해 줄 마스터의 IP 주소

 

데몬을 재시작 -> 마스터로부터 DB 파일을 받는다.

 

마스터의 로그 파일에서 DB 파일을 보낸 것을 확인

 

slaves 디렉터리 아래에 DB 파일 확인!

 

공통 설정(Server-A, Server-B, Client-Linux)

#vi /etc/resolv.conf

nameserver 100.100.100.110

nameserver 100.100.100.120

 

#vi /etc/sysconfig/network-scripts/ifcfg-bond0

DNS1=100.100.100.110

DNS2=100.100.100.120

 

#service iptables stop

#chkconfig iptables off

#setenforce 0

#vi /etc/sysconfig/selinux

7번 행 SELINUX=disabled

이제 마스터 네임 서버가 동작하지 않을 경우 슬레이브 네임 서버가 대신하여 정보를 제공하는지 테스트 해보겠습니다.

마스터 네임 서버 Server-A의 named 데몬 중지

슬레이브 네임 서버 Server-B에서 nslookup 명령어 정방향 조회 시도 -> 성공

 

※ 슬레이브 네임서버에서 역방향 조회도 가능하도록 설정

/etc/named.rfc1912.zones

마스터가 슬레이브에게 DB 파일 전송 허용

 

/etc/named.rfc1912.zones

슬레이브는 DB 파일 요청

 

파일 다운 받음

 

yyy.rev.zone 파일 다운 확인

 

슬레이브에서 역방향 조회 시도 -> 성공!!!!

 


 

ACL(Access Control List)

ACL은 네임 서버로의 접근을 제어하기 위해 사용하는 Bind의 기능이다.

 

네트워크 대역이나 호스트들을 명칭으로 지정하여 사용

-> 해당 클라이언트의 요청만 허용

 

named.conf 파일에 모든 설정을 다 넣으면 너무 길어져서 named.rfc1912.zones에도 설정을 나누어 넣고 named.conf에 포함(include) 시켰다. (시스템이 하나의 파일로 인식) 

 

acl slave에 지정된 서버(100.100.100.120)에게만 도메인 정보가 담긴 파일 전송을 허용

 

acl "blacklist" { 100.100.100.130; };

네임 서버로의 불법적 접근을 시도하는 네트워크/IP 주소를 로그에서 발견했다면 blacklist를 생성하여 해당 정보를 지정해서 차단할 수 있다.

 

acl "spoofnetwork" { 0.0.0.0/8; 10.0.0.0/8; 224.0.0.0/8; 192.168.0.0/16; };

클라이언트의 IP가 대표 사설 IP 대역인 경우 ACL을 만들어서 인증되지 않은 IP에 대해서는 사전에 차단을 할 수 있다.

 

blackhole { blacklist; spoofnetwork; };

blackhole 옵션과 함께 사용하면 해당 acl 목록에 지정된 클라이언트로부터 오는 모든 요청을 무시한다.

'Linux' 카테고리의 다른 글

29-2 SSH  (0) 2017.10.27
29-1 TELNET (+ NC)  (0) 2017.10.26
27 DNS 서버 구축  (0) 2017.10.23
26-2 DNS(Domain Name Server / System)  (0) 2017.10.20
26-1 NTP(Network Time Protocol)  (0) 2017.10.20