서버관리자가 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
- 시동 파일 편집
- 기본 도메인 네임 초기화