반응형
아래의 내용은 실제 서버의 설정을 그대로 보여주고 있습니다.
bind 9.3 부터는 환경설정 파일로 name.caching-nameserver.conf 사용합니다.
미리설치된 bind가 없다면
yum install bind
설치가 완료되면 환경설정 을 아래와 같이 해 준다
1) Bind 환경설정
# vi /etc/named.caching-nameserver.conf
// named.caching-nameserver.conf
...
options {
// listen-on port 53 { 127.0.0.1; };
// 기본적으로 port 53 으로 자신만이 접근 가능하게 되어있다.
// 외부접근 가능 하게 any로 바꾼다.
listen-on port 53 { any; };
// listen-on-v6 port 53 { ::1; };
// ip v6 에 대한 것으로 차후 서비스를 위해 ~..주석처리.
directory "/var/named";
// zone file에 대한 기본 디렉토리 설정
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";
// 메모리 관련 통계파일 위치 이름
// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
query-source port 53;
// 쿼리를 받아 들일 소스포트
// query-source-v6 port 53;
// allow-query { localhost; };
allow-query { any; };
// 쿼리 허용할 ip 대역
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
// 실행에 있어 디버깅시 참고 할 수 있는 로그파일 생성 위치
view localhost_resolver {
// match-clients { localhost; };
// match-destinations { localhost; };
match-clients { any; };
match-destinations { any; };
// 로컬 리졸버 허용 클라이언트 지정
recursion yes;
include "/etc/named.rfc1912.zones";
};
...
options {
// listen-on port 53 { 127.0.0.1; };
// 기본적으로 port 53 으로 자신만이 접근 가능하게 되어있다.
// 외부접근 가능 하게 any로 바꾼다.
listen-on port 53 { any; };
// listen-on-v6 port 53 { ::1; };
// ip v6 에 대한 것으로 차후 서비스를 위해 ~..주석처리.
directory "/var/named";
// zone file에 대한 기본 디렉토리 설정
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";
// 메모리 관련 통계파일 위치 이름
// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
query-source port 53;
// 쿼리를 받아 들일 소스포트
// query-source-v6 port 53;
// allow-query { localhost; };
allow-query { any; };
// 쿼리 허용할 ip 대역
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
// 실행에 있어 디버깅시 참고 할 수 있는 로그파일 생성 위치
view localhost_resolver {
// match-clients { localhost; };
// match-destinations { localhost; };
match-clients { any; };
match-destinations { any; };
// 로컬 리졸버 허용 클라이언트 지정
recursion yes;
include "/etc/named.rfc1912.zones";
};
2) zone 파일 지정
vi /etc/named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
zone "." IN {
type hint;
file "named.ca";
};
...
zone "abydos.kr" IN {
type master;
file "abydos.kr.zone";
allow-update { none; };
};
//추가
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
zone "." IN {
type hint;
file "named.ca";
};
...
zone "abydos.kr" IN {
type master;
file "abydos.kr.zone";
allow-update { none; };
};
//추가
3)zone 파일 생성(미리생성된 localdomain.zone 파일을 복사해서 수정한다)
# cd /var/named
# ls
# cp localdoamin.zone abydos.kr.zone
# ls
# cp localdoamin.zone abydos.kr.zone
4) 생성한 zone파일을 수정한다.
# vi abydos.kr.zone
$TTL 86400
@ IN SOA abydos.kr. root.abydos.kr (
2009080201 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS ns.abydos.kr.
IN MX 10 abydos.kr.
IN MX 10 mail.abydos.kr.
IN MX 10 aspmx.l.google.com.
IN MX 20 alt1.aspmx.l.google.com.
IN MX 20 alt2.aspmx.l.google.com.
IN MX 30 aspmx2.googlemail.com.
IN MX 30 aspmx3.googlemail.com.
IN MX 30 aspmx4.googlemail.com.
IN MX 30 aspmx5.googlemail.com.
IN A 114.207.245.36
ns IN A 114.207.245.36
www IN A 114.207.245.36
docs IN CNAME ghs.google.com.
sites IN CNAME ghs.google.com.
calendar IN CNAME ghs.google.com.
mail IN CNAME ghs.google.com.
googlea3e90e45321c80c2 IN CNAME google.com.
ftp IN CNAME @
* IN CNAME @
@ IN SOA abydos.kr. root.abydos.kr (
2009080201 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS ns.abydos.kr.
IN MX 10 abydos.kr.
IN MX 10 mail.abydos.kr.
IN MX 10 aspmx.l.google.com.
IN MX 20 alt1.aspmx.l.google.com.
IN MX 20 alt2.aspmx.l.google.com.
IN MX 30 aspmx2.googlemail.com.
IN MX 30 aspmx3.googlemail.com.
IN MX 30 aspmx4.googlemail.com.
IN MX 30 aspmx5.googlemail.com.
IN A 114.207.245.36
ns IN A 114.207.245.36
www IN A 114.207.245.36
docs IN CNAME ghs.google.com.
sites IN CNAME ghs.google.com.
calendar IN CNAME ghs.google.com.
mail IN CNAME ghs.google.com.
googlea3e90e45321c80c2 IN CNAME google.com.
ftp IN CNAME @
* IN CNAME @
제 경우에는 구글로 이메일서비스와 몇가지 서비스를 쓰고있어서 여러가지 설정이 추가되어 있습니다.
5)설정이 바르게 되었는지 확인
# named-checkconf /etc/named.rfc1912.zones
# named-checkconf /etc/named.caching-nameserver.conf
# named-checkzone abydos.kr /var/named/abydos.kr.com.zone
# named-checkconf /etc/named.caching-nameserver.conf
# named-checkzone abydos.kr /var/named/abydos.kr.com.zone
6)테스트
[root@ns named]# nslookup
> server 127.0.0.1
Default server: 127.0.0.1
Address: 127.0.0.1#53
> abydos.kr
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: abydos.kr
Address: 114.207.245.36
> ftp.abydos.kr
Server: 127.0.0.1
Address: 127.0.0.1#53
ftp.abydos.kr canonical name = abydos.kr.
Name: abydos.kr
Address: 114.207.245.36
> server 127.0.0.1
Default server: 127.0.0.1
Address: 127.0.0.1#53
> abydos.kr
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: abydos.kr
Address: 114.207.245.36
> ftp.abydos.kr
Server: 127.0.0.1
Address: 127.0.0.1#53
ftp.abydos.kr canonical name = abydos.kr.
Name: abydos.kr
Address: 114.207.245.36
여기까지 해서 CentOS .5.2 Final + BIND 9.3.4의 환경에서 도메인네임서비스 설정이 끝났습니다.
7)zone파일 설명
TTL 86400 - time to live의 약자 다른 네임서버에서 읽어간 정보가 살아있는 시간이다. 초단위
@ - ORIGIN 의 의미 public domain을 의미 즉 @ = linux.com.
IN - IN 다음 의 설정을 이용
SOA - SOA start of authority 해당 도메인의 정보를 가지고 있고 root@abydos.kr 는 관리자임을 나타낸다.
2009080201 ; serial (d. adams) - 해당 정보의 시리얼 보통 날짜정보 + 카운터로 표시된다.
3H ; refresh - 리프레쉬 타임 주기
15M ; retry - S로의 장애 발생시 재 접속 시간
1W ; expiry - 존파일 유효기간,
1D ; minimum - TTL과 같은 의미 다른 서버에서 zone 데이터를 가져갔을때 그 데이터에 대한 유효기간
IN NS ns.abydos.kr. - 네임서버 이름 지칭
IN MX 10 mail.abydos.kr. - mailserver 이름 지칭
IN A 192.168.10.200 - ip 할당
mail IN CNAME www - mail server의 ip는 www의 설정을 가져온다.
ftp IN CNAME @ - ORIGIN 변수의 값을 그대로 사용
* IN CNAME
@ - ORIGIN 의 의미 public domain을 의미 즉 @ = linux.com.
IN - IN 다음 의 설정을 이용
SOA - SOA start of authority 해당 도메인의 정보를 가지고 있고 root@abydos.kr 는 관리자임을 나타낸다.
2009080201 ; serial (d. adams) - 해당 정보의 시리얼 보통 날짜정보 + 카운터로 표시된다.
3H ; refresh - 리프레쉬 타임 주기
15M ; retry - S로의 장애 발생시 재 접속 시간
1W ; expiry - 존파일 유효기간,
1D ; minimum - TTL과 같은 의미 다른 서버에서 zone 데이터를 가져갔을때 그 데이터에 대한 유효기간
IN NS ns.abydos.kr. - 네임서버 이름 지칭
IN MX 10 mail.abydos.kr. - mailserver 이름 지칭
IN A 192.168.10.200 - ip 할당
mail IN CNAME www - mail server의 ip는 www의 설정을 가져온다.
ftp IN CNAME @ - ORIGIN 변수의 값을 그대로 사용
* IN CNAME
8)DNS서비스를 이용하여 부하를 분산하고 싶은 경우(www.abydos.kr 주소를 여러개 적어서 분산)
www IN A 192.168.10.200
www IN A 192.168.10.201
www IN A 192.168.10.202
www IN A 192.168.10.201
www IN A 192.168.10.202
반응형
'오픈소스SW' 카테고리의 다른 글
Automating Linux Unix (0) | 2009.08.11 |
---|---|
CentOs 5.2 vsftpd 설치 (0) | 2009.08.10 |
UML 지원 CASE Tool (0) | 2009.04.29 |
Timeline 소개 (0) | 2008.12.26 |
웹 방화벽을 구축하기 위한 mod_security 설치기 (0) | 2008.12.26 |