brunch

6. DNS 네임서버 구축하기

by Master Seo

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


감사합니다.




keyword
매거진의 이전글5. CACHE DNS 구축하기