[Linux] DNS 설치 및 서비스 설정방법
----------------------------------------------------------------------------------
0. 환경
> OS : CentOS 5.5
- CentOS 5.5 설치시 패키지선택에서 DNS 이름서버를 선택하면 위의 내용이 모두 설치됨.
------------------------------------------------------------------------------------
< DNS 설치여부 확인 및 설치 방법 >
1. DNS 설치여부 확인
> BIND 9가 설치여부 확인
[root@ns ~]# rpm -qa | grep bind
=======================================================================================
ypbind-1.19-12.el5
bind-9.3.6-4.P1.el5
bind-libs-9.3.6-4.P1.el5
bind-utils-9.3.6-4.P1.el5
=======================================================================================
> 네임서버 설치여부 확인
[root@ns ~]# rpm -qa | grep name
=======================================================================================
caching-nameserver-9.3.6-4.P1.el5
=======================================================================================
2. 네임서버 설치
# yum install caching-nameserver
( 위에 명령으로 설치되지 않는다면, caching-nameserver-9.3.6-4.P1.el5 이름을 모두 입력. )
-------------------------------------------------------------------------------------
< DNS 설정 방법 >
ex)
> DNS 호스트명 : ns
> DNS 도메인 : mydomain.co.kr
> DNS 서버IP : 192.168.0.101
1. 서버에서 도메인 검색의 시작점인 hosts 파일에 ns라는 호스트 추가
# vi /etc/hosts
=======================================================================================
127.0.0.1 localhost localhost.localdomain
192.168.0.101 ns.mydomain.co.kr ns
=======================================================================================
2. 사용할 DNS 서버 주소를 설정
# vi /etc/resolv.conf
=======================================================================================
domain mydomain.co.kr
search mydomain.co.kr
nameserver 192.168.0.101
nameserver 168.126.63.1
nameserver 168.126.63.2
=======================================================================================
3. DNS와 hosts 파일 중 호스명이 IP주소로 변환될때 참조 우선 순서 설정하는 파일 수정
# vi /etc/host.conf
=======================================================================================
order hosts,bind
multi on
=======================================================================================
- 위의 order 설정의 의미는 도메인에 대해 질의할 때,
hosts 파일을 먼저 참고하고 답을 찾지 못하면 bind 즉 DNS에 질의하라는 의미이다.
- multi on 은 /etc/hosts 파일에 하나의 호스트에 대해 여러 개의 IP 주소를 설정가능 옵션.
-------------------------------------------------------------------------------------
4. Zone 파일 및 케시 DNS서버에 대한 설정
> conf 파일 수정
# vi /etc/named.caching-nameserver.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";
// Those options should be used carefully because they disable port
// randomization
query-source port 53;
// query-source-v6 port 53;
allow-query { any; }; // any로 수정
allow-query-cache { any; }; // any로 수정
// allow-query-cache { localhost; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; }; // any로 수정
match-destinations { any; }; // any로 수정
recursion yes;
include "/etc/named.rfc1912.zones";
};
=======================================================================================
> 소유권 변경 및 named.conf 파일 심볼릭 링크 만들기
# chown named.named /etc/named.caching-nameserver.conf
# ln -s /etc/named.caching-nameserver.conf /etc/named.conf
(*)만약 /etc/named.conf 파일이 존재하고 있으면 백업 및 삭제 후 심볼릭 링크를 만든다.
> named.rfc1912.zones 파일확인
# vi /etc/named.rfc1912.zones
=======================================================================================
zone "." IN {
type hint;
file "named.ca";
};
zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
// localhost 에 대한 설정
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; }; //다이나믹 하게 업데이트를 허용할것인지 설정한다. 대부분 none
};
// 127.0.0.X 에 대한 역 도메인
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
=======================================================================================
▲ 위 named.rfc1912.zones 파일에 아래의 2개 항목 추가
=======================================================================================
zone "mydomain.co.kr" IN {
type master;
file "mydomain.co.kr.zone";
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" { //reverse domain - IP 기입이 역순 입력되는것에 주의!!
type master;
file "0.168.192.rev";
allow-update { none; };
};
=======================================================================================
5. zone 파일 만들기 및 심볼릭 링크 걸기
> zone 파일 만들기
vi /var/named/chroot/var/named/mydomain.co.kr.zone
=======================================================================================
$TTL 86400
@ IN SOA ns.mydomain.co.kr. root.mydomain.co.kr. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
;
IN NS ns.mydomain.co.kr.
IN MX 10 mail.mydomain.co.kr.
IN TXT "v=spf1 mx ip4:112.168.234.134 ~all"
IN A 192.168.0.101
$ORIGIN mydomain.co.kr.
localhost IN A 127.0.0.1
ns IN A 192.168.0.101
www IN A 192.168.0.102
mail IN A 112.168.234.134
mydomain.co.kr. IN TXT "v=spf1 ip4:112.168.234.134 -all"
=======================================================================================
> zone 파일 소유권 변경 및 심볼릭 링크 만들기
# chown named.named mydomain.co.kr.zone
# ln -s /var/named/chroot/var/named/mydomain.co.kr.zone /var/named/mydomain.co.kr.zone
> rev 파일 만들기
# vi /var/named/chroot/var/named/0.168.192.rev
=======================================================================================
$TTL 86400
@ IN SOA ns.mydomain.co.kr. root.mydomain.co.kr. (
2009022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.mydomain.co.kr.
101 IN PTR ns.mydomain.co.kr.
102 IN PTR www.mydomain.co.kr.
102 IN PTR mydomain.co.kr.
=======================================================================================
> rev 파일 소유권 변경 및 심볼릭 링크 만들기
# chown named.named 0.168.192.rev
# ln -s /var/named/chroot/var/named/0.168.192.rev /var/named/0.168.192.rev
- 이것으로 설치와 설정이 끝났으며, DNS 서버를 시작하도록 한다
-------------------------------------------------------------------------------------
< DNS 시작 및 정지 방법 >
> 시작 및 정지
# /etc/rc.d/init.d/named [start | reload | stop]
> 오류 로그 검사
# grep named /var/log/messages
=======================================================================================
Apr 9 22:14:15 localhost named[1772]: zone 0.168.192.in-addr.arpa/IN/localhost_resolver: loaded serial
2009022700
Apr 9 22:14:15 localhost named[1772]: zone mydomain.co.kr/IN/localhost_resolver: loaded serial 42
Apr 9 22:14:15 localhost named[1772]: zone mydomain.co.kr/IN/localhost_resolver: sending notifies (serial
42)
=======================================================================================
< DNS 정상작동 여부 테스트 및 확인>
[root@ns named]# nslookup
=======================================================================================
> server 192.168.0.101
Default server: 192.168.0.101
Address: 192.168.0.101#53
> set type=any
> mydomain.co.kr
Server: 192.168.0.101
Address: 192.168.0.101#53
mydomain.co.kr text = "v=spf1 ip4:112.168.234.134 -all"
mydomain.co.kr
origin = ns.mydomain.co.kr
mail addr = root.mydomain.co.kr
serial = 42
refresh = 10800
retry = 900
expire = 604800
minimum = 86400
mydomain.co.kr nameserver = ns.mydomain.co.kr.
mydomain.co.kr mail exchanger = 10 mail.mydomain.co.kr.
Name: mydomain.co.kr
Address: 192.168.0.101
=======================================================================================
< 방화벽에서 DNS 포트(53) 예외 적용>
# iptables -A INPUT -p tcp --dport 53 -j ACCEPT
# iptables -A INPUT -p udp --dport 53 -j ACCEPT
'DNS 서버구축 > setting 메뉴얼' 카테고리의 다른 글
====DNS 서버 구축 자료백업==== (0) | 2013.04.04 |
---|---|
DNS dig로 역방향확인하기_my setting (0) | 2013.04.04 |
DNS dig로 역방향확인하기 (0) | 2013.04.04 |