Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

DNS와BIND

From ZeroWiki
Revision as of 05:23, 7 February 2021 by imported>Unknown
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

서버관리자가 DNS와 BIND에 대해 공부한 내용


책 - DNS와 BIND, Paul Albitz & Cricket Liu, 이성희 역, 한빛미디어

1. 기본 지식

2. DNS는 어떻게 동작하는가?

3. 시작하기

4. BIND 셋업하기

이용할 도메인

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
robocop terminator diehard
  ㅁ       ㅁ        ㅁ
  |--------|---------|-----네트워크 192.249.249
               |
      wormhole ㅁ
               |
  |------|-------|---------네트워크 192.253.253
  ㅁ     ㅁ      ㅁ
misery shining carrie

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레코드
 각 파일의 첫 항목
 이 네임서버가 이 영역의 데이터에 대한 최고의 정보 제공처라는 것을 의미
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)
  • NS 레코드
 영역에 대한 네임 서버 레코드
  • 주소와 별명 레코드
 A - 호스트 네임을 주소로 맵핑하는 리소스 레코드
 CNAME - 별명을 그에 해당하는 정규(canonical)네임으로 맵핑하는 리소스 레코드
  • PTR 레코드
 네트워크 주소를 호스트 주소로 맵핑
  • 완성된 데이터 파일

db.movie

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

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

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) 파일

BIND 환경 설정 파일 셋업

/etc/named.conf (db 파일들은 /usr/local/named에 존재한다고 가정)

// 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";
}

축약어

  • 도메인 자동 확장
 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 파일
;
; 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

;
; 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

;
; 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.

호스트 네임 검사

유용한 도구

주 마스터 네임 서버 운영하기

  • 네임 서버 실행
 /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
    • 시동 파일 편집

슬레이브 네임 서버 운영하기

다른 도메인 추가

이후의 내용들


와우~ 수고하십니다. 이후에 유용한 자료가 될듯.. ^^ - 임인택

그냥 필요한거 일부분만 정리했구요. DNS개념이나 고급적인 부분은 직접 책을 보시는게 좋을거에요 ^^ --곽세환

책분류 프로젝트분류