리눅스맨

2차 dns 서버, 2차 네임서버 구축, 네임서버 2차 설정

2차 네임서버 구축 AWS EC2 DNS Server (3차, 4차, 5차)

1차 네임서버 구축 완료

2차 네임서버 구축 진행중

AWS EC2 서버를 이용하여 1차 네임서버를 완료하였습니다.

아무리 아마존이라고 하지만 서버가 다운될수도 있고 또 에러발생할수도 있기에 2차 네임서버 구축을 진행하고 있습니다. 지난주에 거의 40개 가까운 서버를 자동 백업시스템을 만들었죠.

오늘은 2차 네임서버 구축 진행중에 있습니다.

이 부분도 백업만큼 중요한 부분이기에 필히 해야합니다.

1차 네임서버 구축 할 당시 AWS EC2 인스턴스로 만들었기에 Route 53 네임서버를 이용하는것보다는 더 정교하고 프로그래밍이 가능하여 원하는 시스템을 만들때 좋은듯합니다.

최종적으로 남아 있는 DDNS 서버까지 완성되면 모든 유동 아이피를 고정아이피 처럼 자동화 할 수 있습니다.

일단 최종단계가 올해 중으로 해결될꺼같고요. 각 서버별 부하량 체크, 백업, 자동화, TVM 생성, TVM 공유, 확장에 용이하도록 만들어놓은상태라 DDNS 완성되고 관리자 툴까지 개발도면 기본세팅은 마무리가 됩니다.

대량 서버 관리 시스템을 만들고 있는 중이라 한두대 서버가 아닌 천대 이상의 서버를 관리 할 수 있도록 그 규모에 맞게끔 프로그램 제작과 설계를 하고 있죠.

2차 네임서버가 왜 필요하냐하면 막연히 백업용이라고 할수도 있지만 점점 서버 규모라던지 커지다보니 3차 4차 네임서버까지 만들어서 운영해야할듯합니다.

2차 네임서버 구축 세팅 방법

1차 네임서버
# vi /etc/named.conf
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { none; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        ...
        allow-transfer  { 2차 네임서버 아이피; };
#만약 3차 4차 5차 네임서버가 구축 될 경우 아래처럼 아이피를 나열하면됩니다.
        allow-transfer  { 2차 네임서버 IP; 3차 네임서버 IP; 4차 네임서버 IP; 5차 네임서버 IP;};

그리고 zone 영역에 한줄 더 추가합니다.
zone "네임서버 도메인" IN {
        type master;
        file "Zones/nameServerDomain";
        allow-update    { 2차 네임서버 아이피; };
#만약 3차 4차 5차 네임서버가 구축 될 경우 아래처럼 아이피를 나열하면됩니다.
        allow-update    { 2차 네임서버 IP; 3차 네임서버 IP; 4차 네임서버 IP; 5차 네임서버 IP;};

};
2차 네임서버
# vi /etc/named.conf
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { none; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        ...
        allow-notify {  2차 네임서버 아이피; };
#만약 3차 4차 5차 네임서버에 적용 할 경우에는 각 네임서버의 IP를 입력하면 됩니다.
#3차 네임서버 라면...
        allow-notify {  3차 네임서버 아이피; };
#4차 네임서러 라면...
        allow-notify {  4차 네임서버 아이피; };
#5차 네임서버 라면...
        allow-notify {  5차 네임서버 아이피; };

그리고 zone 영역에 한줄 더 추가합니다.
zone "네임서버 도메인" IN {
        type slave;
        masters { 1차 네임서버 아이피; };
        file "Zones/nameServerDomain";       
};

2차 네임서버에는 자동 동기화 설정이 되므로 아래 폴더에 named 수정권한이 있어야 합니다.
chmod 770 /var/named
chmod 770 /var/named/chroot/var/named
둘중 어느것을 하더라도 상관없을듯 하나 저는 /var/named 전체 770 권한으로 변경했습니다.

이렇게 세팅하고 2차 네임서버를 실행하면 아래처럼 원래 있어야 할 파일들의 이름이 모두 db-랜덤문자 형식으로 바뀌며 (백업되며) 1차 네임서버에 적용되는 동일한 파일명으로 zone 파일이 생성됩니다.

이때 바이너리 형태의 문자라서 슬레이브 (2차 네임서버)에서는 수정을 할 수 없습니다.

2차 dns 서버, 2차 네임서버 구축, 네임서버 2차 설정

위의 파일은 삭제하여도 상관없이 동작합니다.

새로 생성된 바이너리 형태의 zone 파일들은 자동으로 1차 네임서버랑 연동되어 동작합니다.

정리

AWS EC2 인스턴스 3차, 4차, 5차 네임서버 만드는 과정

1. 2차 네임서버 EC2 인스턴스 스냅샷 생성

2. 스냅샷으로 AMI 생성

3. AMI 이용하여 EC2 인스턴스 등록

4. vi /etc/named.conf (수정)

#1차 네임서버의 option
        allow-transfer  { 2차 네임서버 IP; 3차 네임서버 IP; 4차 네임서버 IP; 5차 네임서버 IP;};

#3차 네임서버의 option
        allow-notify {  3차 네임서버 아이피; };
#4차 네임서버의 option
        allow-notify {  4차 네임서버 아이피; };
#5차 네임서버의 option
        allow-notify {  5차 네임서버 아이피; };

5. 1차 네임서버 도메인 리스트가 나오는지 확인

named-checkconf -z

끝!

이제 대량도 감당할수 있음.


게시됨

카테고리

,

작성자

태그: