네임서버 > PC

본문 바로가기

사이트 내 전체검색

뒤로가기 PC

Linux 네임서버

페이지 정보

작성자 관리자 작성일 21-10-20 15:54 조회 7,504 댓글 0

본문

1. 호스트 등록
네임서버 역할을 하기 위해서는 정확한 호스트명과 IP를 가진 하나의 호스트
를 상위 도메인 관리기관인 krnic(domain.nic.or.kr)이나 nic(networksoluti
ons.com)에 등록을 해야 합니다.

2. 각 도메인의 네임서버 정보 변경
현재 네임서버를 운영하기 위해 호스트 등록을

host : ns.wdb.co.kr
IP : 111.111.111.111

로 했다고 가정합시다.
그리고 서비스를 시작 하기 위해 pretty.co.kr이란 도메인을 네임서버에 등록
시키기 위해서는 이 도메인의 네임서버 정보를

primary :
ns.wdb.co.kr
111.111.111.111

위와 같이 변경해야 합니다.
물론 2차 네임서버가 존재한다면 secondary 정보도 넣으면 됩니다.

3. 본격적인 네임서버 셋팅
운영하고자 하는 네임서버가 프라이머리만 있다고 가정합시다.
현재 사용되고 있는 네임서버 프로그램은 bind 입니다. 일반적으로 설치가 되
어 있기 때문에 굳이 다시 설치할 필요는 없습니다.
셋팅할 파일은 /etc/named.conf입니다.

기존에 사용하던 것은 bind4였는데 보안상 문제가 있어 요즘 사용되고 있는
것은 bind8입니다. bind4에서 주 설정 파일은 named.boot 였지만 bind8에서는
named.conf입니다. 작성하는 것도 물론 틀립니다.

이제 본격적인 네임서버 설정에 들어 갑시다.

#vi /etc/named.conf
// generated by named-bootconf.pl

options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you ant
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};

//
// a caching only nameserver config
//
zone "." {
type hint;
file "named.ca";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};

zone "pretty.co.kr"{
type master;
file "pretty.co.kr.zone";
};

현재 서비스할 도메인을 여기에 추가합니다. 파일 형식은 위와 같이 하면 됩
니다.
여기에서

directory "/var/named";

이 부분은 각 도메인에 대한 존파일이 존재할 위치입니다. 기본적으로 /var/
named에 위치합니다.
위의 파일을 예로 든다면 pretty.co.kr.zone
이란 파일이 /var/named에 존재해야 겠지요.
그리고 type이 master라는 것은 primary를 의미합니다.
만약 2차 네임서버라면 이 부분이

type slave

로 되어야 합니다.

이 설정 파일은 각 도메인에 대한 이름과 그 도메인의 존파일을 지정하는 곳
이기 때문에 철자하나, ; 등 신중하게 작성해야 합니다.

4. 각 도메인에 대한 존파일 작성하기

이제 해야 할 일은 named.conf에서 지정해준 도메인에 대한 존파일을 작성하
는 것입니다.
이것을 작성하기 위해서는 named가 이해하는 각각의 레코드를 알아야 합니다
.

다음은 지금 설정하려고 하는 pretty.co.kr에 대한 설정 예입니다.

#vi /var/named/pretty.co.kr.zone

@ IN SOA ns.wdb.co.kr. hostmaster.wdb.co.kr.
(
2000032210 ; serial
43200 ; retry
3600 ; refresh
1209600 ; expire
86400 ; minimum ttl
)
IN NS ns.wdb.co.kr.
IN NS ns1.wdb.co.kr.
IN MX 10 mail
IN A 111.111.111.111

www IN MX 10 mail
IN A 111.111.111.111
mail IN A 111.111.111.111
ns IN A 111.111.111.111
ftp IN CNAME www

위의 파일을 이해하기 위해서는 각 레코드에 대해 알아야 합니다.
1) SOA (start of authority)
모든 존파일은 이 레코드로 시작합니다. 이것은 해당 도메인에 대해 네임서버
가 인증된 자료를 갖고 있음을 의미합니다.

* serial : secondary 네임서버가 존파일의 수정 여부를 판단할 수 있도록 하
는 것입니다. secondary 네임서버가 존재한다면 존파일이 변경 될 때마다 꼬
꼭 수정을 해야 합니다.

* Serial의 표기는 증가하는 임의 숫자보단 일반적으로 최종 수정일을 YYYYM
MDDNN의 형식으로 표기합니다. YYYYMMDDNN 연도 표기법은 4294년까지 표기 가
능합니다.

* Refresh: Primary측의 Zone 데이터베이스 수정여부를 Secondary가 검사하는
주기입니다. 네트워크의 변경이 잦아 Zone파일이 자주 수정된다면, 3H(1080
0) 정도로 설정합니다. Zone이 안정되는 시점에서는 일반적으로 6H(21600) -
12H로 설정합니다.

* Retry: Secondary측에서, Primary와 연결이 안될 경우, 재 시도 시간 주기
입니다. Refresh 기간 보다 적을때 의미가 있으며, 대부분의 경우 30M(1800)
- 1H로 설정합니다.

* Expire: Secondary가 Expire로 지정된 시간동안 Primary에 연결하지 못할
경우, 오래된 백업카피의 자료가 더 이상 유효하지 않다고 보고, 해당 도메인
에 대한 답변을 하지 않습니다. 이 값을 너무 낮게 책정하는 것은 좋지 않고
보통 1W - 2W(1209600)로 설정합니다.

* Minimum: 타 네임서버가 본 Zone에 기술된 자료를 갖고 갔을 경우, 그 자료
에 대한 유효기간(캐쉬에 살아있는 시간)을 설정합니다. TTL(Time To Live)값
이 명시되지 않은 레코드는 본 값을 기본으로 갖게 됩니다. 특정 레코드가 변
경되었을 때, 이것이 인터넷에 전파되어 업데이트되는 주기는 전적으로 이 M
inimum 값에 의존합니다. 일반적으로 SOA에서는 1D(86400)를 설정하여 전체
레코드에 적용하고, 잦은 변경이 예상되는 레코드만 명시적으로 1H - 3H 정도
로 낮추는 방법을 사용합니다. 0은 캐싱을 하지 말라는 의미입니다.
서버를 이전하거나 급하게 수정을 원한다면 ttl을 0으로 바꾼 후 전에 ttl이
지난후 변경해야 합니다.

2) NS(Name Server) 레코드
NS 레코드로 해당 도메인에 대한 네임서버를 나타냅니다.

3) A 레코드
IN A 111.111.111.111

위와 같이 A 레코드 다음에는 꼭 주소가 나와야 합니다.

4) CNAME 레코드
이것은 별칭을 의미합니다.

ftp IN CNAME www

위와 같이 다른 이름을 줄수 있습니다.

5) MX(Mail eXchanger) 레코드
MX 레코드는 해당 호스트의 메일 라우팅 경로를 조정합니다. 주의할 점은 MX
레코드에 CNAME으로 설정된 도메인을 넣으면 안됩니다.

5. 네임서버 재가동
모든 설정이 끝났다면 네임서버를 재가동시키면 됩니다.

# /etc/rc.d/init.d/named restart

6. 동작 확인
아무리 자신있게 설정했다 하더라도 간혹 안될 경우도 있습니다. 그래서 꼭
확인 해보아야 하는데 이때 사용하는 것은 nslookup입니다.

#nslookup
server ns.wdb.co.kr
111.111.111.111
>pretty.co.kr.
Name: pretty.co.kr
Address: 111.111.111.111

위와 같이 되었다면 성공한 것입니다.
그런데 만약 주소를 못찾는 다면
/var/log/messages나 /var/log/daemon.log를 꼭 확인해 보세요.
 

댓글목록 0

등록된 댓글이 없습니다.

Copyright © neion.co.kr All rights reserved.
PC 버전으로 보기