앞에서 설정파일/etc/bind/named.conf.local 에 zone을 등록하고 파일명을 /var/cache/bind/esgmn.uxmn.zone 라고 정의했다.
우선 그 파일의 내용을 적어 본다... dot (.)에 대한 설명을 위해서 무리한 엔트리도 있다
메일서버(MX record)는 아직 설정하지 않아서 설명문으로 나두었지만 호스트명은 등록해 놓았다.
$TTL 604800
@ IN SOA ux510svr.esgmn.uxmn. root.esgmn.uxmn. (
2006020303 ; Serial ------#1
604800
86400
2419200
604800 )
;
@ IN NS ns -------- #2
@ IN A 10.10.10.97 -------- #3
; IN MX 0 mail
; IN MX 10 mail1.esgmn.uxmn. ------- #4
;
ns IN A 10.10.10.97
mail IN A 10.10.10.97
www IN A 10.10.10.97
ftp.esgmn.uxmn IN A 10.10.10.97 -------- #5
ftp.esgmn.uxmn. IN A 10.10.10.97
ux510svr IN A 10.10.10.97 -------- #6
ux510 IN A 10.10.10.88
fb54s IN A 10.10.10.96
fb54w.esgmn.uxmn IN A 10.10.10.87
www1 IN CNAME ux510
ftp1 IN CNAME ux510.esgmn.uxmn.
mail1 IN A 10.10.10.88
; 여기가 끝이다.
저장하고 나와서
#/etc/init.d/bind9 restart
정상적으로 종료되고 시작된다.
만약 안된다면 /etc/bind/named.conf.local 파일과 /var/cache/bind/esgmn.uxmn.zone 파일을
주의 깊게 다시 보아야 한다. 앞전에 cache 서버로서의 사용에서 정상적으로 작동이 되었다면
변경된 것은 zone 파일을 추가 한 것 밖에 없지 않은가..... 특히 dot (.)에 유념해서 그리고 설정파일에서 라인 마무리에 세미콜론(;)을 유념해서 본다.
#1 은 날짜에 일년번호 두자리를 사용해서 구성했다. - 숫자면 되는데....
- 항상 수정이되면 이 부분을 더 큰 숫자로 만들어 준다. 일반 일련번호는 수정하고 앞전의
번호가 몇인지 잊을 수 있다... 날짜로 하면 항상 크다.. 수정을 했다고 생각하면 무조건
일련번호를 올린다.
- 하루에 3번 수정(삭제 추가 포함)했다면.... 끝자리 두자리만 증가 시켜가면 그만이다.
- master slave 에 관련된 부분이다. 숫자 올리는 것에 습관을 들여 둔다.
#2 이 도메인의 네임서버의 위치(호스트)를 지정해 준다.
- 맨 앞의 @ 은 도메인에 대한 변수라고 생각하면 된다.
- @은 생략해도 된다. 왜? 두번째 줄에 있다.
- slave 네임서버를 설정하여 사용하고 있으면 한줄 더 추가 한다. IP 값을 써도 되고
호스트명을 사용해도 된다.
-- ( @ IN NS ns2.domain.xxx. ) 호스트명을 사용하면 끝에 DOT (.) 잊지말자...꼭꼭
-- 뒤에 . 을 생략하면 이렇게 지정한 것이 된다. ns2.domain.xxx.esgmn.uxmn 이라고....
-- 역시 @ 는 생략 가능.... 주로 생략한다.
-- 여기서 ns2.doamin.xxx는 실지적으로 사용하는 네임서버를 적어야 한다.
-- 없다면 적지 말 것.
-- IP 보다 호스트명이 더 유리하다는 것을 알게 될 것이다... 왜? 스스로 생각하기... ^^
#3 @ IN A 10.10.10.97
- esgmn.uxmn 에 대한 IP값을 준 것과 같다.
- @ 를 도메인을 가지고 있는 변수로 생각하면 된다고 위에서 이야기 했다.
- 역시 @를 생략해도 된다.
- @ 는 설정파일에서 zone "esgmn.uxmn" 이라고 적은 부분의 쌍따옴표 ( " " )이 안에 있는
것을 가지고 온다.
#4 메일서버를 지정하는 부분이다
- 여기서는 두개를 지정하였는데 MX의 다음 숫자가 작은 것이 우선권이 있다
- 아직 매일서버가 설정이 안되어서 ; 로 막았다... 주석 처리 임.
- 하나는 호스트명만 사용 된거고 두번째꺼는 전체호스트명을 적은 것이다. 뒤에 쩜 (.)이 있음.
--------------------
중요 ::::: 1줄에서 #4 까지 내용에 사용된 모든 호스트명에 대한 A 레코드가 있어야 한다.
2차 네임서버(slave 네임서버 - ns2.doamin.xxx) 에 대한 것은 A 레코드 없다.
-- 왜? 다른 네임서버가 dns 해 주고 있으니까....
#6이 있는 이유를 알 것이다. - 두번째 줄에 SOA 다음에 ux510svr. ... 이 있다.
#5 어거지 엔트리다.... 한번 넣어 받다.
바로 다음줄에 있는 것 처럼 사용해야 한다.
테스트 해 볼 때 ping ftp.esgmn.uxmn.esgmn.uxmn 이라고 길게 ping 해 보자... OK 다.
============================================================
지금까지의 설정파일과 zone 파일은 한 줄의 수정도 없이 정상적으로 작동이 된다.
========================================
테스트 해 보자 -- 여러 방법이 있다...
nslookup 을 해 보면
현재 내 컴에 적용되어 있는 네임서버를 기준으로 lookup 하겠다고 한다.
바꾸자..... 내 dns서버를 사용해야 esgmn.uxmn을 안다
#nslookup
어쩌구 저쩌구
>server 10.10.10.97
Defau......
Addre.......
> 여기에 호스명을 적어 보자....
그럼 IP가 나올 것이다.
>exit
========================================
/etc/resolve.conf
nameserver 10.10.10.97 로 되어 있다면
#host www.esgmn.uxmn
아이피 값이 나올 것이다
#host www1.esgmn.uxmn
alias 되어 있다고 나올 것이다....
========================================
#dig esgmn.uxmn ns
#dig esgmn.uxmn a
#dig esgmn.uxmn mx
mx의 결과는 없을 것이다.
앞 전의 포스트(게시물)에서 이 결과의 값이 없었다.
지금은 있다...
====== 여기까지가 기본 적인 DNS 서버를 설정하는 방법이다.