# yum -y install bind bind-utils bind-libs caching-nameserver
네임서버에 필요한 데몬 설치
# vi /etc/named.caching-nameserver.conf
예전 /etc/named.conf를 를 대체하는 새로운 설정파일
options {
listen-on port 53 { any; };
// 네임서버 포트번호, 네임서버 접근가능 아이피 설정
// 내부접근만 허용할경우 127.0.0.1;
// 외부에서 네임서버 접근허용할경우 any;
listen-on port 53 { any; };
// 네임서버 포트번호, 네임서버 접근가능 아이피 설정
// 내부접근만 허용할경우 127.0.0.1;
// 외부에서 네임서버 접근허용할경우 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; // 네임서버 쿼리를 받아들이는 포트번호 설정
allow-query { any; }; // 네임서버 쿼리를 허용 범위, 내부만 허용 = localhost; , 외부허용 = any;
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;
// ipv6에서 네임서버 쿼리를 받아들이는 포트번호 설정allow-query { any; }; // 네임서버 쿼리를 허용 범위, 내부만 허용 = localhost; , 외부허용 = any;
allow-query-cache { any; }; // 네임서버 쿼리(캐시)를 허용 범위, 내부만 허용 = localhost; , 외부허용 = any;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; }; // 내부 접근가능한 호스트 설정, 내부만 허용 = localhost; , 모두가능 = any;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; }; // 내부 접근가능한 호스트 설정, 내부만 허용 = localhost; , 모두가능 = any;
match-destinations { any; }; // 내부 접근가능한 호스트 설정, 내부만 허용 = localhost; , 모두가능 = any;
# vi /etc/named.rfc1912.zones
.....
.....
zone "abc.com" IN { // abc.com 쿼리가 왔을 때
type master; // hint(루트도메인), master(1차 네임서버), slave(2차 네임서버)
file "data/abc.com.zone"; // data/abc.com.zone 파일을 읽어 실행
allow-update { none; }; // 보조 네임 서버와 연동
};
.....
zone "abc.com" IN { // abc.com 쿼리가 왔을 때
type master; // hint(루트도메인), master(1차 네임서버), slave(2차 네임서버)
file "data/abc.com.zone"; // data/abc.com.zone 파일을 읽어 실행
allow-update { none; }; // 보조 네임 서버와 연동
};
ps. 역방향 조회는 드물게 사용되어 정방향 조회만 기록함.
# vi /var/named/chroot/var/named/data/abs.com.zone
$TTL 86400 // 정보 조회후 86,400초(1일) 동안은 질의 하지 않고 아래 값으로 서비스
@ IN SOA @ root( // @ : host네임, SOA : 권한의 시작
10 // 2차 네임서버가 있다면 파일 수정 후 1씩 증가한다.(2차 네임서버에서 인식위해)
3H // 위 시리얼을 2차 네임서버에서 체크 하는 시간
15M // 2차 네임서버에서 1차 네임서버로 접근이 안될경우 재접속 시간
1W // 2차 네임서버에서 1차 네임서버로 이 시간 동안 접근이 안될경우 해당 도메인 삭제, 파기로 간주
1D ) // TTL과 같은 내용
IN NS ns.abc.com. // 네임서버 끝에 . 필수
IN MX 10 mail.abc.com. // 메일 서버 끝에 . 필수
IN TXT "v=spf1 ip4:123.123.123.123 ip4:123.123.123.124 ~all" // white 도메인 설정
@ IN SOA @ root( // @ : host네임, SOA : 권한의 시작
10 // 2차 네임서버가 있다면 파일 수정 후 1씩 증가한다.(2차 네임서버에서 인식위해)
3H // 위 시리얼을 2차 네임서버에서 체크 하는 시간
15M // 2차 네임서버에서 1차 네임서버로 접근이 안될경우 재접속 시간
1W // 2차 네임서버에서 1차 네임서버로 이 시간 동안 접근이 안될경우 해당 도메인 삭제, 파기로 간주
1D ) // TTL과 같은 내용
IN NS ns.abc.com. // 네임서버 끝에 . 필수
IN MX 10 mail.abc.com. // 메일 서버 끝에 . 필수
IN TXT "v=spf1 ip4:123.123.123.123 ip4:123.123.123.124 ~all" // white 도메인 설정
IN A 1.2.3.4. // abc.com 으로 들어 오면 1.2.3.4로 연결
www IN A 1.2.3.4 // www.abc.com 으로 들어 오면 1.2.3.4로 연결
mail IN A 1.2.3.5 // mail.abc.com으로 들어 오면 1.2.3.5로 연결
mail IN A 1.2.3.5 // mail.abc.com으로 들어 오면 1.2.3.5로 연결
Tip. 네임서버 변경 시 TTL값을 작게 하여 보다 빠르게 적용 가능
ps1. "@ IN A 1.2.3.4" 로 해야 된다고 함. @없으면 DNS request error 난다고 함. 잘 모르겠음. ㅡㅡ;
ps2. BIND 9.2.4에선 시작을 "@ IN SOA ns.abc.com. root.ns.abc.com. (" 으로 네임서버를 기재했는데 검색해 보니 bind 9.3.6에선 "@ IN SOA @ root"로 간단해 진듯.
ps3. 예전엔 "rndc.key"를 사용한 듯 한데 사라진듯
# chown root.names /var/named/chroot/var/named/data/abs.com.zone // 존 파일 권한 변경
# service named restart // 네임 서버 재시작
확인.
1. 네임서버는 TCP, UDP 53번을 사용하기 때문에 해당 포트 방화벽 allow
2. /var/log/message 로그에 named[901]: network unreachable resolving './NS/IN': 2001:7fd::1#53 이라 나오면 #vi /etc/sysconfig/named
1. 네임서버는 TCP, UDP 53번을 사용하기 때문에 해당 포트 방화벽 allow
2. /var/log/message 로그에 named[901]: network unreachable resolving './NS/IN': 2001:7fd::1#53 이라 나오면 #vi /etc/sysconfig/named
OPTIONS="-4" // bind ipv4로만 사용
맨 아랫 줄에 추가 후 재시작
'Server' 카테고리의 다른 글
FileInfo 설치 (0) | 2010.07.27 |
---|---|
JSON 설치 (0) | 2010.07.27 |
A session is active. You cannot change the session module's ini settings at this time (0) | 2010.03.18 |
Apache & PHP 버전 정보 숨기기 (0) | 2008.12.18 |
[Server] HP 프로라이언트 DL320 G5 (418044-371) (0) | 2008.12.03 |