서버관리자가 DNS와 BIND에 대해 공부한 내용
책 - DNS와 BIND, Paul Albitz & Cricket Liu, 이성희 역, 한빛미디어
4.1. 이용할 도메인 ¶
~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 데이터 베이스 파일)
=> (책에는 BIND 버전 4와 BIND 버전 8 모두 설명하고 있는데 버전 8만 정리하겠음)
호스트->주소 맵핑하는 파일 - db.DOMAIN
네임서버환경설정파일 - /etc/named.conf (BIND 버전 8)예) db.movie
주소->호스트 맵핑하는 파일 - db.ADDR예) db.192.249.249
=> (책에는 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)
al.robocop.movie.edu => 책임자의 연락처(al@robocop.movie.edu)
- NS 레코드
 영역에 대한 네임 서버 레코드
 
 
- 주소와 별명 레코드
 A - 호스트 네임을 주소로 맵핑하는 리소스 레코드
 CNAME - 별명을 그에 해당하는 정규(canonical)네임으로 맵핑하는 리소스 레코드
 
 
- PTR 레코드
 네트워크 주소를 호스트 주소로 맵핑
 
 
- 완성된 데이터 파일
 
~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에 존재한다고 가정)
(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";
}
4.4. 축약어 ¶
- 도메인 자동 확장
 robocop IN A 192.249.249.2
 =>robocop.movie.edu. IN A 192.249.249.2
 2 IN PTR robocop.movie.edu.
 =>2.249.249.192.in-addr.arpa. IN PTR robocop.movie.edu.
 
 
- @ 기호
 @ => 도메인 네임의 기원
 
 
- 마지막 이름 반복
 wormhole IN A 192.249.249.1
 IN A 192.253.253.1
 
- 짧게 작성한 db 파일
 
~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으로 검사
 - 기본 도메인 네임 초기화
 /etc/resolv.conf 파일에 domain movie.edu 라인 추가
 
- 로컬 네임 탐색
 nslookup carrie
 
- 로컬 주소 탐색
 nslookup 192.253.253.4
 
- 원격 네임 탐색
 nslookup ftp.uu.net.
 
- 추가 테스트
 nslookup carrie gatekeeper.dec.com
 
- 시동 파일 편집
 
 
- 기본 도메인 네임 초기화










 -
 - 

