brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jun 13. 2017

6. DNS 네임서버  구축하기

2.3. DNS 네임서버  구축하기



1

구성시 권고사항 4가지


1.DNS가 죽으면 전체 서비스가 중지되므로 초기 구성시 4가지는고려해야한다.

2.네임서버는 2대 이상으로 구축한다.  (NS1, NS2로 구축)

3.NS1 과 NS2서버는 서로다른 네트워크 스위치에 연결하도록 한다.

4.NS1과 NS2  IP는 서로 다른네트워크에 위치 하도록 한다.

5.가능하다면 NS1 과 NS2서버는 물리적으로서로 다른 IDC에 구축하도록 한다.



참고 : Facebook네임서버 수  확인 :  http://www.zonecut.net/dns/




2

네임서버로  설정 하기 

네임서버는  CACHE DNS 구축후  도메인을 추가하면된다.


네임서버는 보안상  해당서버를 통해 외부 질의는 안되도록설정 한다.    

CACHEDNS와네임서버로 동시 사용시 부하로 데몬 다운 될 수 있다.


네임서버는 2대중 1대가 안되더라도 자체 이중화 알고리즘으로 서비스 정상 동작한다.

네임서버 전용으로 사용하는경우는 named.conf 파일에서   recursionno; 를 설정한다.



3

etc#vi named.conf

options{
       directory       "/var/named";

       recursion no;
};



4

서비스 도메인 추가하기

Named.conf파일을잘못 수정하는 경우 네임 데몬이 뜨지 않으므로, 반드시 설정을 백업하고 작업한다.


etc#cp  named.rfc1912.zones  named.rfc1912.zones-2016-0909-1

오류 발생시,  바로 백업 받은 파일로 원복 하도록 한다.



5

serverchk.com 도메인추가하는 경우


etc#vi named.rfc1912.zones


zone"localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone"serverchk.com" IN {
        type master;
        file "serverchk.com.zone";
        allow-update { none; };
};

named.conf문법오류 사전 확인하기.



6

etc#named-checkconf  named.conf

데몬 재시작해서 오류확인하기

ZONE파일 생성을 안했으므로없다고 에러가 난다.


etc#service named restart

로그 보기  # tail -f /var/log/messages

serverchk.com.zone파일만들기

기존 파일을 복사해서  serverchk.com의 zone파일을 만들어 준다.



7

etc#cd  /var/named/



named#cp  named.localhost  serverchk.com.zone


named#vi   serverchk.com.zone
$ttl 100

@               IN SOA  ns1  root (

                                2016090901 ;serial

                                900      ; refresh (15 mins)

                                900        ; retry (15 minutes)

                                604800     ; expire (1 week)

                                180        ; minimum (3 minutes)

                                )

                        NS      ns1.serverchk.com.

                        NS      ns2.serverchk.com.

                        NS      ns3.serverchk.com.

                        A       211.35.65.68

                        MX      10 mail.serverchk.com.

                       A       210.116.123.25

ftp                    A       211.35.65.68

www                  A       210.116.123.25

mail                    A       210.116.123.25



설명

$TTL  100  : 100초  CACHE DNS가 해당 정보를 캐슁하는것이다.

이 시간이 길게 되어있으면, 서버의 IP가 변경되도 CACHE DNS에서 해당시간 동안은 네임서버에 정보를 요청하지 않는다.


NS1: Master 네임서버로설정한다. 해당 ns1을 제외한 NS레코더에 파일 변경시 노티를 보내게 된다.


2016090901: 시리얼번호로 10자리이다. 파일내용을 수정하면 반드시 숫자를 1 올려주어야 한다.


Slave는 이 시리얼 번호와비교해  Master것이 높으면다시 받아간다.


900, 900 , 604800  :  900초(15분)마다 동기화하고, 실패시 900초마다동기화, Master가  604800초(1주)동안 동작하지 않더라도 Slave가1주동안은 서비스가 되도록 설정한것이다.

5M: 네가티브캐쉬 , 없는 도메인에대한 캐슁하는 시간.


NS: Name Server


Named# named-checkzone  serverchk.com  serverchk.com.zone

zoneserverchk.com/IN: loaded serial 2016090901

OK



8

#named-checkzone   도메인명   Zone File이름

실패시는 오류 내용을보여준다.

named라는 권한으로 데몬을띠울예정이라 생성된 파일의 권한  조정이 필요하다.


named#ls -al
-rw-r-----.  1 root  root   152 Sep  6 23:23 serverchk.com.zone
-rw-r-----.  1 root  named 1892 Feb 18  2008 named.ca

named#chown  root.named  serverchk.com.zone


9

데몬 재시작

etc#service named restart
Stopping named: [  OK  ]
Starting named: [  OK  ]



10

데몬확인

etc#ps -ef |grep named
named    12688     1 11 23:24?        00:00:01 /usr/sbin/named -u named
root     12696 12440  3 23:24 pts/1   00:00:00 grep named




다음

https://brunch.co.kr/@topasvga/202


감사합니다.




브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari