서버관리자가 DNS와 BIND에 대해 공부한 내용
책 - DNS와 BIND, Paul Albitz & Cricket Liu, 이성희 역, 한빛미디어
~cpp
127.0.0.1 localhost
192.249.249.2 robocop.movie.edu robocop
192.249.249.3 terminator.movie.edu terminator bigt
192.249.249.4 diehard.movie.edu diehard dh
192.253.253.2 misery.movie.edu misery
192.253.253.3 shining.movie.edu shining
192.253.253.4 carrie.movie.edu carrie
192.253.253.2 wormhole.movie.edu wh249
192.253.253.2 wormhole.movie.edu wh253
~cpp
robocop terminator diehard
ㅁ ㅁ ㅁ
|--------|---------|-----네트워크 192.249.249
|
wormhole ㅁ
|
|------|-------|---------네트워크 192.253.253
ㅁ ㅁ ㅁ
misery shining carrie
4.2. DNS 데이터 셋업 ¶
db 파일(DNS 데이터 베이스 파일)
호스트->주소 맵핑하는 파일 - db.DOMAIN
예) db.movie
주소->호스트 맵핑하는 파일 - db.ADDR
예) db.192.249.249
네임서버환경설정파일 - /etc/named.conf (BIND 버전 8)
=> (책에는 BIND 버전 4와 BIND 버전 8 모두 설명하고 있는데 버전 8만 정리하겠음)
- db 파일
DNS 리소스 레코드 : db 파일내의 항목들
리소스 레코드들의 (일반적)순서 - SOA(start of authority) 레코드, NS(name server) 레코드, 기타 레코드, A(address), PTR(pointer), CNAME(canonical name)
- 주석문 - 세미콜론(;)으로 시작해서 그 라인의 끝까지
- SOA레코드
각 파일의 첫 항목
이 네임서버가 이 영역의 데이터에 대한 최고의 정보 제공처라는 것을 의미
~cpp
movie.edu. IN SOA terminator.movie.edu. al.robocop.movie.edu. (
1 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Negative Cache TTL
terminator.movie.edu => 주 마스터 네임 서버의 이름
al.robocop.movie.edu => 책임자의 연락처(al@robocop.movie.edu)
db.movie
~cpp
movie.edu. IN SOA terminator.movie.edu. al.robocop.movie.edu. (
1 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Negative Cache TTL
;
; 네임 서버들
;
movie.edu. IN NS terminator.movie.edu.
movie.edu. IN NS wormhole.movie.edu.
;
; 정규(canonical) 네임에 대한 주소들
;
localhost.movie.edu. IN A 127.0.0.1
robocop.movie.edu. IN A 192.249.249.2
terminator.movie.edu. IN A 192.249.249.3
diehard.movie.edu. IN A 192.249.249.4
misery.movie.edu. IN A 192.253.253.2
shining.movie.edu. IN A 192.253.253.3
carrie.movie.edu. IN A 192.253.253.4
wormhole.movie.edu. IN A 192.249.249.1
wormhole.movie.edu. IN A 192.253.253.1
;
; 별명들
;
bigt.movie.edu. IN CNAME terminator.movie.edu.
dh.movie.edu. IN CNAME diehard.movie.edu.
wh.movie.edu. IN CNAME wormhole.movie.edu.
;
; 인터페이스를 위한 특정한 이름들
;
wh249.movie.edu. IN A 192.249.249.1
wh253.movie.edu. IN A 192.253.253.1
db.192.249.249
~cpp
249.249.192.in-addr.arpa. IN SOA terminator.movie.edu. al.robocop.movie.edu. (
1 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Negative Cache TTL
;
; 네임 서버들
;
249.249.192.in-addr.arpa. IN NS terminator.movie.edu.
249.249.192.in-addr.arpa. IN NS wormhole.movie.edu.
;
; 정규(canonical) 네임에 대한 주소들
;
1.249.249.192.in-addr.arpa. IN PTR wormhole.movie.edu.
2.249.249.192.in-addr.arpa. IN PTR robocop.movie.edu.
3.249.249.192.in-addr.arpa. IN PTR terminator.movie.edu.
4.249.249.192.in-addr.arpa. IN PTR diehard.movie.edu.
db.192.253.253
~cpp
253.253.192.in-addr.arpa. IN SOA terminator.movie.edu. al.robocop.movie.edu. (
1 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Negative Cache TTL
;
; 네임 서버들
;
253.253.192.in-addr.arpa. IN NS terminator.movie.edu.
253.253.192.in-addr.arpa. IN NS wormhole.movie.edu.
;
; 정규(canonical) 네임에 대한 주소들
;
1.253.253.192.in-addr.arpa. IN PTR wormhole.movie.edu.
2.253.253.192.in-addr.arpa. IN PTR misery.movie.edu.
3.253.253.192.in-addr.arpa. IN PTR shining.movie.edu.
4.253.253.192.in-addr.arpa. IN PTR carrie.movie.edu.
- 루프백 주소
db.127.0.0 파일
- 루트 캐시 데이터
db.cache(db.root) 파일
4.3. BIND 환경 설정 파일 셋업 ¶
/etc/named.conf
(db 파일들은 /usr/local/named에 존재한다고 가정)
~cpp
// BIND 환경 설정 파일
options {
directory "/usr/local/named";
// 기타 옵션들을 여기에 적는다.
};
zone "movie.edu" in {
type master;
file "db.movie";
};
zone "249.249.192.in-addr.arpa" in {
type master;
file "db.192.249.249";
}
zone "253.253.192.in-addr.arpa" in {
type master;
file "db.192.253.253";
}
zone "0.0.127.in-addr.arpa" in {
type master;
file "db.127.0.0";
}
zone "." in {
type hint;
file "db.cache";
}
~cpp
;
; movie.edu: 점으로 끝나지 않는 이름은 기원이 추가됨
;
@ IN SOA terminator.movie.edu. al.robocop.movie.edu. (
1 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Negative Cache TTL
;
; 네임 서버들 ('@'가 내포되어 있음)
;
IN NS terminator.movie.edu.
IN NS wormhole.movie.edu.
;
; 정규(canonical) 네임에 대한 주소들
;
localhost IN A 127.0.0.1
robocop IN A 192.249.249.2
terminator IN A 192.249.249.3
diehard IN A 192.249.249.4
misery IN A 192.253.253.2
shining IN A 192.253.253.3
carrie IN A 192.253.253.4
wormhole IN A 192.249.249.1
IN A 192.253.253.1
;
; 별명들
;
bigt IN CNAME terminator
dh IN CNAME diehard
wh IN CNAME wormhole
;
; 인터페이스를 위한 특정한 이름들
;
wh249 IN A 192.249.249.1
wh253 IN A 192.253.253.1
db.192.249.249
~cpp
;
; 249.249.192.in-addr.arpa: 점으로 끝나지 않는 이름은 기원이 추가됨
;
@ IN SOA terminator.movie.edu. al.robocop.movie.edu. (
1 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Negative Cache TTL
;
; 네임 서버들 ('@'가 내포되어 있음)
;
IN NS terminator.movie.edu.
IN NS wormhole.movie.edu.
;
; 정규(canonical) 네임에 대한 주소들
;
1 IN PTR wormhole.movie.edu.
2 IN PTR robocop.movie.edu.
3 IN PTR terminator.movie.edu.
4 IN PTR diehard.movie.edu.
db.192.253.253
~cpp
;
; 253.253.192.in-addr.arpa: 점으로 끝나지 않는 이름은 기원이 추가됨
;
@ IN SOA terminator.movie.edu. al.robocop.movie.edu. (
1 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Negative Cache TTL
;
; 네임 서버들 ('@'가 내포되어 있음)
;
IN NS terminator.movie.edu.
IN NS wormhole.movie.edu.
;
; 정규(canonical) 네임에 대한 주소들
;
1 IN PTR wormhole.movie.edu.
2 IN PTR misery.movie.edu.
3 IN PTR shining.movie.edu.
4 IN PTR carrie.movie.edu.
4.7. 주 마스터 네임 서버 운영하기 ¶
- 네임 서버 실행
/etc/named
/etc/named -b conf-file (다른곳에 있는 환경설정파일 이용할때)
- Syslog 에러 검사
grep daemon /etc/syslog.conf (syslog 메시지가 기록되는 파일을 알아냄, 여기선 /var/adm/messages)
grep named /var/adm/messages
- nslookup으로 검사
와우~ 수고하십니다. 이후에 유용한 자료가 될듯..
-
임인택
그냥 필요한거 일부분만 정리했구요. DNS개념이나 고급적인 부분은 직접 책을 보시는게 좋을거에요
--
곽세환