RedHat 7.1 Kernel 2.4.2-2 Bind-9.1.3rc3 Install 예제도메인명은 "sample.co.kr" IP는 211.100.300.0-255라고 가정한다. linux 7.1 install시 firewall은 midium으로 해야함. 1. Bind구하기 http://www.isc.org/ 2. /usr/src/bind-9.1.3rc3.tar.gz에 복사한다. 3. /usr/src/# tar zxvf bind-9.1.3rc3.tar.gz 압축을 푼다. 4. /usr/src/bind-9.1.3rc3/# ./configure 5. /usr/src/bind-9.1.3rc3/# make clean depend all install 6. DNSSEC 키를 생성합니다. 아래와 같이 # dnssec-keygen -a hmac-md5 -b 512 -n HOST sample.co.kr Ksample.co.kr.+157+61799.key, Ksample.co.kr.+157+61799.private가 만들어 진다. 여기서 Ksample.co.kr.+157+61799.key의 base64로 인코딩 된 것을 /etc/rndc.conf의 'key' 설정 중 secure 항목에 복사합니다 "key"이름은 적당히 바꾼다. seckey로 바꿔본다 예를 들면, options { default-server localhost; default-key "key"; }; server localhost { key "key"; }; key "seckey" { algorithm hmac-md5; secret "HyRBfBemPSsrQzjHgOlGbqOveiOSXdLxiQkrQxtvCBUkVILHEOHqejZCNlmn"; }; localhost의 key는 변경할 필요없음. 7. named.conf는 아래와 같이 options { directory "/var/named"; /* * If there is a firewall between you and nameservers you want * 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. */ auth-nxdomain yes; pid-file "/var/run/named/named.pid"; // query-source address * port 53; }; zone "." IN { type hint; file "named.ca"; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone ".127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; controls { inet * port 1500 //port번호는 안쓰는것으로 allow { any; } keys { "seckey"; }; }; key "seckey" { algorithm hmac-md5; secret "HyRBfBemPSsrQzjHgOlGbqOveiOSXdLxiQkrQxtvCBUkVILHEOHqejZCNlmn"; }; zone "sample.co.kr" IN { type master; file "sample.host"; //파일명은 각자알아서 notify no; allow-update { key "seckey"; }; }; zone "300.100.211.in-addr.arpa" IN { type master; file "db.300.100.211"; //파일명은 각자알아서 notify no; allow-update { key "seckey"; }; }; 8. /var/named에서 먼저 /var의 named 디렉토리를 그룹과소유를 named로 되어있어야 한다. drwxr-xr-x 2 named named 4096 Jul 5 16:22 named/ 안돼있으면 아래와 같이 바꾼다. chgrp -R named named chown -R named named /var/named의 파일들은 아래와 같다. localhost.zone파일은 $TTL 86400 $ORIGIN localhost. @ 1D IN SOA @ admin ( 2001070301 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum ; IN NS @ 1D IN A 127..1 named.local파일은 $TTL 86400 @ IN SOA localhost. admin.localhost. ( 2001070301 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS localhost. ; 1 IN PTR localhost. sample.host파일은 $TTL 86400 @ IN SOA ns.sample.co.kr. admin.sample.co.kr. ( 2001070304 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.sample.co.kr. ; IN A 211.100.300.3 //이것은 sample.co.kr에 해당(kldp.org와 같이) ; IN MX 10 mail.sample.co.kr. ; ns IN A 211.100.300.1 mail IN A 211.100.300.2 www IN A 211.100.300.3 db.300.100.211파일은 $TTL 86400 $ORIGIN 300.100.211.in-addr.arpa. @ 1D IN SOA ns.sample.co.kr. admin.sample.co.kr. ( 2001070304 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS ns.sample.co.kr. 1D IN A 127..1 1D 2 IN PTR mail.sample.co.kr. 1D 3 IN PTR www.sample.co.kr. 9. /etc/rc.d/init.d/named start(restart) named를 실행한다. 10. /var/log/messages확인한다. Jul 5 19:39:42 ns named[10623]: shutting down Jul 5 19:39:42 ns named[10623]: no longer listening on 127..1#53 Jul 5 19:39:42 ns named[10623]: no longer listening on 211.100.300.1#53 Jul 5 19:39:42 ns named[10619]: exiting Jul 5 19:39:42 ns named: named shutdown succeeded Jul 5 19:39:42 ns named[10643]: starting BIND 9.1.3rc3 -u named Jul 5 19:39:42 ns named: named startup succeeded Jul 5 19:39:42 ns named[10643]: using 1 CPU Jul 5 19:39:42 ns named[10647]: loading configuration from '/etc/named.conf' Jul 5 19:39:42 ns named[10647]: no IPv6 interfaces found Jul 5 19:39:42 ns named[10647]: listening on IPv4 interface lo, 127..1#53 Jul 5 19:39:42 ns named[10647]: listening on IPv4 interface eth0, 211.100.300.1#53 Jul 5 19:39:42 ns named[10647]: command channel listening on .0.0#1500 Jul 5 19:39:42 ns named[10647]: running 다들 성공하시길 바라며..... -- 고생하면 즐거워진다.