시작전에, 구체적인 구축환경은
Fedora-14 Desk-Top Edition 이고
https://fedoraproject.org/
에 가시면 시디 한장 용량(700MB 미만) 짜리 Live-Media CD를 다운받으실 수 있습니다.
단 여기서 유의 할점은 처음에 Live-CD로 부팅후 깔린것이라 착각하는 경우가 있는데,
부팅 후 바탕화면에 Install을 누르셔야 로컬디스크에 깔리게 됨을 주의하시기 바랍니다.
리눅스 설치가 완료되었다면 본격적으로 DNS서버 구축에 들어가보겠습니다.
1. DNS 구성에 필요한 패키지 설치
#yum -y install bind*
뒤의 *가 붙은 것은 관련된 패키지를 모두 설치한다는 의미입니다.
설치 중에 에러가 나면 bind만을 설치하고 다시 bind*를 설치 해보는 등
이런 저런 시도를 해보시기 바랍니다.
2. DNS Server conf (bind설정/DNS서버 환경설정)
패키지가 설치되었으면 이제 DNS서버 환경을 설정하셔야 됩니다.
먼저 DNS 서버의 메인 설정 파일 격인 named.conf를 편집하시면 되는데,
#vi /etc/named.conf
위의 명령어로 편집 하실 수 있습니다.
편집하실 때는 반드시 su명령어를 통하여서 관리자권한으로 하시기 바라고
이의 대한 상세한 메뉴얼은 #man named.conf 명령으로 메뉴얼을 보실 수 있습니다.
예제를 보시고 적절히 편집하시길...
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
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";
allow-query { any; };
recursion yes;
check-names master ignore;
edns-udp-size 512;
//dnssec-enable yes;
//dnssec-validation yes;
//dnssec-lookaside auto;
/* Path to ISC DLV key */
//bindkeys-file "/etc/named.iscdlv.key";
//managed-keys-directory "/var/named/dynamic";
};
view "internal" {
match-clients {any;};
recursion yes;
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost.localdomain" IN {
type master;
file "named.localhost";
allow-update {none;};
};
zone "localhost" IN {
type master;
file "named.localhost";
allow-update {none;};
};
zone "1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update {none;};
};
zone "0.in-addr.arpa" IN {
type master;
file "named.empty";
allow-update {none;};
};
zone internkw.net IN {
type master;
file "internkw.internal";
allow-update {none;};
};
zone "45.168.192.in-addr.arpa" IN {
type master;
file "internkw.rev";
allow-update {none;};
};
};
view "external-zone" {
match-clients {any;};
recursion no;
zone "internkw.net" IN {
type master;
file "internkw.external";
allow-update {none;};
};
설정 파일의 내용이 구체적으로 각각 무엇을 의미하는지는 따로 설명하지 않겠습니다.
궁금하시면 man named.conf 를 참조하시기 바랍니다.
몇가지만 짚고 넘어가면
view internal의 항목들은 로컬에 붙은 host들이 하는 요청에 답을 할 때 참조하고
view external의 항목들은 외부의 host들이 하는 요청에 답을 할 때 참조한다는 것과
zone내의 항목 file에 해당하는 파일들은 위의 지정한 directory안에 있어야 된다는 것입니다.
defalut로 localhost에 관한 것들은 있으나, 사용자가 새로운 도메인을 사용하기 위해 추가한 것들에
대해서는 이들의 대한 정보를 가진 파일들을 세팅해 주어야 합니다.
위의 설정에서 directory가 /var/named 이였으므로,
#vi /var/named/internkw.internal
$TTL 1D
@ IN SOA ns.internkw.net. root.internkw.net. (
20100423 ;Serial
21600 ;Refresh ( 6 hours)
1800 ;Retry (30 minutes)
1209600 ;Expire (14 days)
3600) ;Minimum (1 days)
IN NS ns.internkw.net.
IN MX 10 mail.internkw.net.
IN A 192.168.45.108
NS IN A 192.168.45.108
internkw.net IN A 192.168.45.108
www IN A 192.168.45.108
위의 파일에는 자신이 host에서 서비스할 것들에 대한 모든 DNS 정보를 담아야 한다.
#vi /var/named/internkw.external
$TTL 1D
@ IN SOA ns.internkw.net. root.internkw.net. (
20100423 ;Serial
21600 ;Refresh ( 6 hours)
1800 ;Retry (30 minutes)
1209600 ;Expire (14 days)
3600) ;Minimum (1 days)
IN NS ns.internkw.net.
IN A 192.168.45.108
IN MX 10 mail.internkw.net.
NS IN A 192.168.45.108
internkw.net. IN A 192.168.45.108
www IN A 192.168.45.108
$TTL 1D
@ IN SOA ns.internkw.net. root.internkw.net. (
20100423; Serial
21600 ; Refresh(6 hours)
1800 ; Retry (30 minutes)
1209600 ; Expire(14 days)
3600) ; Minimun ( 1 day)
IN NS ns.internkw.net.
IN MX 10 mail.internkw.net.
www IN PTR www.internkw.net.
100 IN PTR internkw.net.
100 IN PTR ns.internkw.net.
NS IN PTR ns.internkw.net.
위의 파일들을 모두 세팅해 주었다면,
이제 자신의 host를 새로운 dns서버로 등록해주어야 하는데,
#vi /etc/resolv.conf
를 열어, 기존 내용아래
nameserver x.x.x.x (x.x.x.x는 현재 시스템의 IP)
마지막으로 서비스를 시작하면,
#service named start
모든 DNS서버 구동을 위한 과정이 끝났다.
dns서버에 대한 테스트는
nslookup 을 활용하면 된다.
'ComputerScience > Linux' 카테고리의 다른 글
[리눅스] nat 적용해 보기. (0) | 2012.08.31 |
---|---|
리눅스의 보안 패키지 - SELinux(setenforce) (1) | 2011.06.10 |
squid log 리포트에 대한 참조문서. (0) | 2011.04.19 |
linux 로그에 관한 참조 레퍼런스 (0) | 2011.04.19 |
squid log보기에 관한 참조문서. (0) | 2011.04.19 |